阅读论文:Semantic Relation Preserving Knowledge Distillation for Image-to-Image Translation
知识蒸馏,ECCV2020.
问题:GAN参数多,训练时间长。比如CycleGAN模型在Intel(R)Xeon(R) E5-2686的单个CPU上需要2.69秒来处理一幅分辨率为256x256的图像,模型为44M大。
假设:相同语义类别的特征像素有相似的激活样式,不同语义类别的特征像素不同。
Vanilla知识蒸馏:最小化GT和学生输出,最小化教师输出和学生输出。
GAN里用知识蒸馏的一个方法:在教师生成和学生生成之间引入另一个极大极小问题。
但这种方式没有提升性能,且训练困难、不稳定。所以考虑只在循环一致性损失,L1 norm上加入蒸馏损失。即:
语义保留蒸馏损失:生成器由编码器和生成部分组成,语义关系激活矩阵A由特征编码F的外积表示。然后进行逐行L2归一化。
语义保留蒸馏损失即的L1 norm的值。
总损失:
结构:教师网络和学生网络同结构但不同通道数,narrow。