1.一些基本概念
- 教师模型(Teacher Model):预训练复杂神经网络,高精度,计算存储开销大。
- 学生模型(Student Model):简单参数少推理快的模型,目标从教师模型获取知识,提升性能。
- 软标签(Soft Labels):教师模型输出的概率分布,反映类间关系(常用softmax层输出)。
- 温度(Temperature):调节教师模型输出的概率分布的平滑程度,温度越高越平滑,学生模型则能学到更多类间关系。
- 熵:平均最小编码长度。
- 交叉熵:q(x)与p(x)两种概率分布的差异大小。
- 损失函数:常常采用软硬标签损失进行加权作为最终损失函数,其中硬标签指学生模型输出值与真实值差异(常用交叉熵),软标签指学生模型输出概率分布与软标签之间的差异(常常用KL散度)。
2.定义
一种模型压缩方法,用于将大型神经网络(教师模型)知识转移到较小神经网络(学生模型)中。
3.背景和动机
深度神经网络(DNN)参数量庞大,与其相关的大型模型(BERT,ResNet)面临存储,计算,延迟的挑战,于是提出知识蒸馏,利用小的学生模型模拟大的教师模型的行为。
4.基本流程
训练教师模型->生成软标签->训练学生模型(软标签+硬标签)
5.优点
- 模型压缩,降低存储计算开销。
- 提高推理速度,体积小,运算快,可应用于边缘设备之中。
链接:终于把神经网络中的知识蒸馏搞懂了!!