知识蒸馏方法汇总

2015年,Hinton 已提出蒸馏学习,并成功使用在特定的任务上。

在NLP领域,因为各种预训练语言模型的体积越来越大而无法实施,需要硬件和引擎能够过关,同时算法也要提高,除了剪枝、压缩等对模型能力更高的方法外,蒸馏是要求成本最低的方法。

Hinton 在Distilling the Knowledge in a Neural Network 中首次提出了知识蒸馏在CV领域中使用,旨在把大模型学到的知识灌输到小模型中,以达到缩小模型的目标:

1.  首先,训练一个大模型。

2.  对大模型做特征软化,输出预测的概率,此为softed labeled。

3.  训练小模型,同时附带大模型的信息,通常是在损失函数里面加入这个信息。

例如:T 为老师网络,即大模型, S 是小模型,损失要考虑 T 和 label 的关系、S 和 label 的关系及 S 和 T 的关系。损失函数代表的是一种学习方式,平时只考虑网络结果和 label 的关系,拟合出特征到 label 的映射。
 

NLP 中的知识蒸馏

Distilling Task-Specific Knowledge from BERT into Simple Neural Networks 文章中将 bert 和 bi-lstm 结合,对损失函数做了处理,在训练中,需要在常规损失的基础上加入师生两个网络输出的差距,使用两者的欧氏距离。

 

参考:

​​​​​​Distilling Task-Specific Knowledge from BERT into Simple Neural Networks论文学习_hxshine的博客-CSDN博客

心法利器[1] | NLP知识蒸馏思考_baidu_25854831的博客-CSDN博客

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值