首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >知识蒸馏 >知识蒸馏的基本原理是什么?

知识蒸馏的基本原理是什么?

词条归属:知识蒸馏

1. 教师-学生架构

知识蒸馏采用 Teacher-Student 双模型架构。教师模型是一个已训练完成的大型高性能模型,参数冻结不更新,作为知识的输出者;学生模型是参数量较小、结构更简单的模型,通过模仿教师模型的输出来学习。训练时,同一批输入数据同时送入两个模型,学生模型以教师模型的输出为学习目标进行反向传播,仅更新自身参数。

2. 软标签与暗知识

传统监督学习仅使用硬标签(Hard Label),即 one-hot 编码的唯一正确答案,如 [猫:1, 狗:0, 鸟:0],信息量十分有限。知识蒸馏引入教师模型输出的完整概率分布作为软标签,如 [猫:0.85, 狗:0.14, 鸟:0.01]。这种概率分布包含了丰富的类间关系信息——它告诉学生模型"这只猫有点像狗但绝不像鸟"。Hinton 将这类隐藏在错误类别概率中的信息称为"暗知识"(Dark Knowledge),正是蒸馏的灵魂所在。

3. 温度参数的作用

温度参数(Temperature,记作 T)是知识蒸馏的关键超参数。在 logits 经过 Softmax 函数之前除以温度 T,当 T > 1 时,概率分布被软化,原本微小的类别间差异被放大,学生模型更容易观察到教师的判断逻辑。实验表明,T 取值在 2 到 5 之间时知识迁移效果通常最佳。训练完成后,推理阶段将 T 设回 1,按常规 Softmax 输出即可。

4. 联合损失函数设计

知识蒸馏的损失函数由两部分加权组成:蒸馏损失衡量学生模型输出与教师软标签之间的差异,通常使用 KL 散度(Kullback-Leibler Divergence);学生损失是传统的交叉熵损失,确保学生模型预测结果与真实硬标签一致。总损失公式为:

L_total = α × L_distill + (1 - α) × L_student

其中 α 是平衡权重,控制学生从教师和真实标签中学习的比例。

相关文章
知识蒸馏基本原理
蒸馏是一个化学上的词汇,百科上对于蒸馏的解释为:“蒸馏是一种热力学的分离工艺,它利用混合液体或液-固体系中各组分沸点不同,使低沸点组分蒸发,再冷凝以分离整个组分的单元操作过程,是蒸发和冷凝两种单元操作的联合”。原理如下图所示:
felixzhao
2022-09-28
1.2K0
知识蒸馏
蒸馏指的是把不纯净的水加热变成蒸汽,蒸汽冷凝之后变成冷凝水。知识蒸馏也是把有杂质的东西,大的东西变成小的东西,纯的东西。把一个大的模型(教师模型)里面的知识给萃取蒸馏出来浓缩到一个小的学生模型上。
算法之名
2022-03-24
9720
知识蒸馏系列(二):知识蒸馏的迁移学习应用
知识蒸馏系列文章继续更新啦!在上一篇文章中,我们介绍了三类基础知识蒸馏算法,今天我们一起来学习知识蒸馏的迁移学习应用。
OpenMMLab 官方账号
2022-12-30
2.2K0
知识蒸馏综述:蒸馏机制
Knowledge Distillation A Suvery的第二部分,上一篇介绍了知识蒸馏中知识的种类,这一篇介绍各个算法的蒸馏机制,根据教师网络是否和学生网络一起更新,可以分为离线蒸馏,在线蒸馏和自蒸馏。
BBuf
2021-12-09
2.2K0
知识蒸馏综述: 知识的类型
总结一篇综述《Knowledge Distillation A Survey》中的内容,提取关键部分以及感兴趣部分进行汇总。这篇是知识蒸馏综述的第一篇,主要内容为知识蒸馏中知识的分类,包括基于响应的知识、基于特征的知识和基于关系的知识。
BBuf
2021-12-02
1.4K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券