【星球知识卡片】模型蒸馏的核心技术点有哪些,如何对其进行长期深入学习
1 什么是模型蒸馏
一般地,大模型往往是单个复杂网络或者是若干网络的集合,拥有良好的性能和泛化能力,而小模型因为网络规模较小,表达能力有限。利用大模型学习到的知识去指导小模型训练,使得小模型具有与大模型相当的性能,但是参数数量大幅降低,从而可以实现模型压缩与加速,就是知识蒸馏与迁移学习在模型优化中的应用。
Hinton等人最早在文章“Distilling the knowledge in a neural network”中提出了知识蒸馏这个概念,其核心思想是一旦复杂网络模型训练完成,便可以用另一种训练方法从复杂模型中提取出来更小的模型,因此知识蒸馏框架通常包含了一个大模型(被称为teacher模型),和一个小模型(被称为student模型)。
2 优化目标驱动的知识蒸馏框架
Hinton等人提出的框架是在模型最后的预测端,让student模型学习到与teacher模型的知识,这可以称之为直接使用优化目标进行驱动的框架,也是最简单最直接的框架,它不关心中间的学习过程,类似的还有ProjectionNet等。
3 特征匹配的知识蒸馏框架
目标驱动型的知识蒸馏框架的具体细节是难以控制的,会让训练变得不稳定且缓慢。一种更直观的方式是将teacher模型和student模型的特征进行约束,从而保证student模型确实继承了teacher模型的知识,其中一个典型代表就是FitNets,FitNets将比较浅而宽的Teacher模型的知识迁移到更窄更深的Student模型上。
4 没有教师模型的知识蒸馏
一般知识蒸馏框架都需要包括一个Teacher模型和一个Student模型,而Deep mutual learning则没有Teacher模型,它通过多个小模型进行协同训练,这也是非常有研究意义的方向。
5 与其他框架的结合
在进行知识蒸馏时,我们通常假设teacher模型有更好的性能,而student模型是一个压缩版的模型,这不就是模型压缩吗?与模型剪枝,量化前后的模型对比是一样的。所以知识蒸馏也被用于与相关技术进行结合,apprentice框架是一个代表。
6 其他
总的来说,模型蒸馏有非常多的研究方向,包括:
(1) 优化目标驱动的知识蒸馏框架拓展。
(2) 基于特征匹配的知识蒸馏框架拓展。
(3) 不压缩模型,甚至训练更大模型的框架。
(4) 无教师模型的框架。
(5) 自动搜索的框架。
(6) 与其他模型压缩技术的结合。
(7) 其他。
以上内容,如果你不想自己学习,可以去我们知识星球的网络结构1000变板块—模型蒸馏板块阅读。
有三AI知识星球
知识星球是有三AI的付费内容社区,里面包括各领域的模型学习,数据集下载,公众号的付费图文原稿,技术总结PPT和视频,知识问答,书籍下载,项目推荐,线下活动等资源,了解详细请阅读以下文章:
转载文章请后台联系
侵权必究