模型蒸馏Distillation

今天参考这篇文章:

https://zhuanlan.zhihu.com/p/71986772

 

transformer系列模型的进展,从BERT到GPT2再到XLNet。然而随着模型体积增大,线上性能也越来越差,所以决定开一条新线,开始follow模型压缩之模型蒸馏的故事线。

 

0. 名词解释

    • teacher - 原始模型或模型ensemble
    • student - 新模型
    • transfer set - 用来迁移teacher知识、训练student的数据集合
    • soft target - teacher输出的预测结果(一般是softmax之后的概率)
    • hard target - 样本原本的标签
    • temperature - 蒸馏目标函数中的超参数
    • born-again network - 蒸馏的一种,指student和teacher的结构和尺寸完全一样
    • teacher annealing - 防止student的表现被teacher限制,在蒸馏时逐渐减少soft targets的权重

 

1.1 为什么蒸馏可以work

好模型的目标不是拟合训练数据,而是学习如何泛化到新的数据。所以蒸馏的目标是让student学习到teacher的泛化能力,理论上得到的结果会比单纯拟合训练数据的student要好。另外,对于分类任务,如果soft targets的熵比hard targets高,那显然student会学习到更多的信息。

 

 

posted @   blcblc  阅读(464)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2019-03-07 迁移tf1.0.1程序到tf1.12.0的过程
2019-03-07 机器学习平台使用第二块GPU的方法
2018-03-07 【tensorflow】最近一段时间好好学学这个-google的视频教程
2018-03-07 pip安装离线包的经验
2018-03-07 【DNN】非常好的一篇文章,讲了google最新的两个模型,wide-deep,deep-cross - 还有这个人的系列博客
2018-03-07 检索模型复习 - BM25,BIM, 向量空间模型,TFIDF
2017-03-07 str2int的代码(复习)
点击右上角即可分享
微信分享提示