知识蒸馏Distilling the Knowledge in a Neural Network论文学习

0.摘要

论文的思想很简单:使用teacher_train和student_train配合来进行训练,老师(大模型)负责预训练,把全部知识都学会之后,通过知识蒸馏来增强对负样本的敏感程度,提取暗知识。然后有一定选择性的再教给学生(小模型),因为此时的老师已经知道侧重点。
普通的softmax函数只会对正样本比较敏感,对负样本压制的十分凸出:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

但是很多时候,一组图片所包含的特征是有交集,特征之间不是那么对立的,one-hot式的编码方式太暴力了。所以hinton提出了新的损失函数softtarget(soft部分):
在这里插入图片描述
传统的损失(hand部分):
在这里插入图片描述
两部分合起来就是最终的损失也有了新的损失函数

1.知识蒸馏

粗暴地使用one-hot编码丢失了类间和类内关于相似性的额外信息。当识别数字2时,很有可能它给出的概率是:数字2为0.95,数字3为0.04而数字8为0.01.如何利用手写数字中3和2很像这一特征?

1.1soft target

在这里插入图片描述
可以使用t(temperature温度)来控制,在常用的softmax函数中,我们没有使用到这个温度T(换言之,T=1),当T值很高时,预测值的分布将更加靠近,因此也包含了更多的信息。所以提高t的数值可以使得分布更软,熵下降,信息分布更混乱,但是在预测的时候就可以使用温度值调低来获取模型中的知识,这也是称这个方法为蒸馏的原因。

1.2损失函数

在这里插入图片描述
最后实际上是在这里插入图片描述

2.训练流程

对于学生的训练是要基于一个优秀的老师的,如果没有老师的话不能用一个轻量化的数据集去训练一个好的学生:
在这里插入图片描述

在这里插入图片描述

3.实验结果

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值