第6章:知识蒸馏(Knowledge Distillation)
在构建端侧AI模型时,我们常常面临一个两难的局面:一方面需要大模型的强大性能,另一方面又必须满足端侧设备对模型体积和计算效率的要求。知识蒸馏是一种优雅的解决方案,它允许我们用一个大型的、性能优越的“教师模型”来指导一个小型、高效的“学生模型”的学习,从而让学生模型在保持轻量化的同时,获得接近教师模型的性能。
什么是知识蒸馏?
知识蒸馏的核心思想是转移知识。它不是简单地让学生模型去学习标注好的“硬标签”(hard labels),而是让它去学习教师模型的“软标签”(soft labels)。
- 硬标签:指数据集中明确的类别标签,例如一张图片是“猫”或“狗”。学生模型的目标是尽可能地预测出正确的硬标签。
- 软标签:指教师模型对每个类别的预测概率分布。例如,教师模型不仅会预测图片是“猫”,还会给出“狗”的概率是0.05,“老虎”的概率是0.02。这个概率分布包含了比单一硬标签更丰富的知识,因为它体现了不同类别之间的相似性和关系。
知识蒸馏的原理就是通过损失函数让学生模型的预测概率分布尽可能地接近教师模型的预测概率分布。
如何用大模型(教师模型)指导小模型(学生模型)的学习
知识蒸馏的训练过程可以概括为以下步骤:
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



