首页 > 编程学习 > 知识蒸馏(作者 HINTON ,JEFF DEAN)

1.soft targets

用教师网络预测出的soft targets作为学生网络的训练时的标签。

soft targets 的熵大包含更多的信息,而hard targets的熵小信息量小。

 蒸馏温度T:加了温度T参数的softmax函数,在T=1的时候就是softmax函数

softmax函数将模型的得分压缩到0~1之间,并且求和为1,只要一个得分比另一个得分大一点,经过softmax函数之后都会有很大的差异,因此经过softmax函数之后的预测会very hard(很硬)。

加入蒸馏T的softmax函数,的T越大,不同得分经过softmax之后的差异越小,就越soft。

举例:

 

 知识蒸馏(训练)的过程:

首先我们有一个已经训练好的教师网络Teacher Model ,把数据喂给教师网络经过蒸馏温度为T的softmax之后产生一个soft labels,

然后再把数据喂给一个未训练轻量的学生网络 student model,分别经过蒸馏得到的结果与教师网络的得到的标签之间的soft loss和不经过蒸馏(T=1)与真实标签(hard labels)的hard loss,之和作为损失函数(这里的损失当然是交叉熵损失),去训练学生网络。

预测过程:验证集经过学生网络,不经过蒸馏(T=1)进行预测

交叉熵损失:

损失计算举例:

 效果:

1.能训练一个效果很好的轻量学生网络

2.防止过拟合

3.把一个海量的未标注的数据集喂给教师网络,让教师网络去预测,就没有hard labels,让学生网络完全跟着教师网路。

4.就算训练学生网络的时候没有数字3,但是训练教师网络里有数字3,教师网络会把关于数3的知识迁移到学生网络,学生网络也能识别出3来 。

 知识蒸馏背后机理:

绿色是教师网络(网络大)的表达空间,表达空间大;学生网络小,表达能力小,是蓝色空间,教师网络的解(红色空间)引导(没有教师网络的)学生网络的解(青色)到橙色空间,从而靠近教师网络的解。

 知识蒸馏的前沿方向:

 


本文链接:https://www.ngui.cc/zz/1998991.html
Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000