回答要点:
核心思想:将一个庞大而精确的“教师模型”所学到的“知识”,迁移到一个更小、更高效的“学生模型”中。这里的“知识”不仅指最终的预测结果(硬标签),更重要的是模型输出的概率分布(软标签)。
Teacher模型:大型、高性能、高精度的预训练模型。其作用是提供丰富的、包含类间相似性关系的软标签(例如,“猫”和“狗”的相似度可能高于“猫”和“汽车”)。
Student模型:小型、待训练的高效模型。其目标是模仿Teacher的输出行为,而不仅仅是拟合原始数据的硬标签。
回答要点:
两部分损失:
蒸馏损失:衡量Student输出的软概率分布与Teacher输出的软概率分布之间的差异,通常使用KL散度。
学生损失:衡量Student输出的硬概率分布与真实标签之间的差异,通常使用交叉熵损失。
总损失函数:L_total = α * L_distill + (1 - α) * L_student (α是超参数)。
结合原因:
蒸馏损失:让学生学习Teacher的泛化能力和暗知识,平滑决策边界,通常效果更好。
学生损失:作为一种保障,确保学生不会完全偏离真实的数据分布,起到锚定作用。
回答要点:
中间层特征:让学生模型的中间层输出尽可能接近教师模型的对应中间层输出。
注意力矩阵:让学生模型的注意力图模仿教师模型的注意力图,学习其关注重点。
隐藏状态:对齐中间隐藏层的激活值。
思维链:让学生不仅学习最终答案,还学习教师模型生成答案的推理过程。