知识蒸馏(Knowledge Distillation,简称KD) 是一种深度学习中的模型压缩技术,其核心思想是将大型、复杂模型(教师模型)所学到的知识迁移到较小、结构简单的模型(学生模型)中,从而在保持性能的同时,降低计算和存储成本。


🔍 核心概念

在传统的深度学习训练中,模型的目标是通过交叉熵损失(Cross-Entropy Loss)来学习真实标签(Hard Labels)。
然而,知识蒸馏引入了一种新的学习目标:软标签(Soft Labels),它由教师模型的输出提供。

教师模型通常是一个参数量大、训练充分的复杂模型,其输出不仅包含最终的预测结果,还包括类别之间的相似性信息(即软标签)。
学生模型通过最小化其输出与教师模型输出之间的差异,来学习这些隐含的知识,从而提升自身的性能。


🧪 蒸馏方法分类

  1. 基于响应的蒸馏(Response-based Distillation)
    学生模型模仿教师模型的最终输出概率分布。

  2. 基于特征的蒸馏(Feature-based Distillation)
    学生模型学习教师模型中间层的特征表示。

  3. 基于关系的蒸馏(Relation-based Distillation)
    学生模型学习教师模型中不同特征之间的关系或相似性。


⚙️ 蒸馏模式

  • 离线蒸馏(Offline Distillation)
    先训练教师模型,再使用其输出作为目标训练学生模型。

  • 在线蒸馏(Online Distillation)
    教师和学生模型在同一训练过程中同时更新,教师模型的输出作为学生模型的指导。

  • 自我蒸馏(Self-Distillation)
    使用同一模型的不同训练轮次作为教师和学生模型,实现自我监督学习。


🌟 应用场景

  • 移动设备与边缘计算:在计算资源有限的设备上部署高效的AI模型,如语音识别、图像分类等。

  • 自动驾驶:将大型图像识别模型的知识迁移到轻量级模型,以适应车载系统的计算能力。

  • 智能推荐系统:在实时推荐任务中,通过在线蒸馏提升模型的响应速度和准确性。


📚 参考资料

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐