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