本文主要是介绍Revisit Knowledge Distillation: a Teacher-free Framework,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Observations
通过几组实验观察到
- 反转Knowledge Distillation(KD)即利用student来guide teacher的话,teacher的性能依然可以得到提升
- 用一个比student还差的teacher来guide student的话,student的性能依然可以得到提升
因此作者得到以下观点
- KD只是一种可学习的label smoothing regularization
- label smoothing regularization可以看做提供了一个虚拟teacher的KD
- argue到KD的有效性可能不全是像KD论文说的那样student从teacher那获得了类别之间的相似关系,还因为soft target的正则作用,后者甚至更重要
Re-KD是反转的KD,即用student来guide teacher
De-KD代表用没有训练好的,比student性能还差的teacher去guide student
teacher的性能好坏对student的影响没有那么大
KD和label smoothing regularization(LSR)的联系
通过推导公式可以发现
- KD是一种可学习的LSR
- LSR是一种特殊的KD,他相当于是一个得到随机猜的老师
- 当KD的t很大时,KD提供的soft target和LSR提供的均匀分布是类似的
这也解释了上面Re-KD和DE-KD可以帮助学习的原因,实际上是一种正则化
Teacher Free KD
- self-training:由于差teacher可以guide student,我们完全可以训练一个student然后去guide student
- reg:联合KD和LSR,即把LSR当成teacher跟预测结果做KL loss
Experiment
Self-training可以和正常的KD取得类似的效果
Reg和self training性能差不多,但是他没有增加太多计算量,且比LSR好很多,可以尝试
这篇关于Revisit Knowledge Distillation: a Teacher-free Framework的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!