查看原文
其他

【星球知识卡片】模型蒸馏的核心技术点有哪些,如何对其进行长期深入学习

言有三 有三AI 2021-07-09

大家好,欢迎来到我们的星球知识小卡片专栏,本期给大家分享模型蒸馏的核心技术点。


作者&编辑 | 言有三

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和视频,知识问答,书籍下载,项目推荐,线下活动等资源,了解详细请阅读以下文章:


【杂谈】有三AI知识星球一周年了!为什么公众号+星球才是完整的?

【杂谈】万万没想到,有三还有个保密的‘朋友圈’,那里面都在弄啥!


转载文章请后台联系

侵权必究

往期精选


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存