背景:
深度神经网络在计算机视觉任务中取得了优异的表现,然而受限于计算机能力或实时的需求,在一些小型设备上(嵌入式设备),这些模型规模庞大的网络无法直接部署。
知识蒸馏是将复杂模型(教师模型)中学到的知识迁移到简单模型(学生模型)中去,期望简单模型能够逼近或超过复杂模型的表现。
相关工作:
2015 Distilling the Knowledge in a Neural Network(Hinton)
硬标签(hard target):真实的标签
软标签(soft target):教师网络中输出的标签。与硬标签相比带有更多的信息,比如卡车0.9汽车0.1,同时软标签可以防止学生网络中的过拟合
在softmax中增加了温度参数T,通过增加T可以得到更加平滑的概率分布,使得学生模型能够得到更好的泛化能力。(比如学生模型中未训练的一些信息也能得到一定的学习,在学生模型的训练数据中剔除3,在测试3的的正确率时同样能够得到一定的效果)
Loss计算是将软标签与硬标签一起训练
Loss=aL(soft)+(1-a)L(hard)
在训练软标签时需要乘上T**2