【Knowledge Distillation】知识蒸馏总结

Knowledge Distillation

背景

知识蒸馏(KD)是想将复杂模型(teacher)中的dark knowledge迁移到简单模型(student)中去,一般来说,teacher具有强大的能力和表现,而student则更为紧凑。通过知识蒸馏,希望student能尽可能逼近亦或是超过teacher,从而用更少的复杂度来获得类似的预测效果。Hinton在Distilling the Knowledge in a Neural Network中首次提出了知识蒸馏的概念,通过引入teacher的软目标(soft targets)以诱导学生网络的训练。近些年来出现了许多知识蒸馏的方法,而不同的方法对于网络中需要transfer的dark knowledge的定义也各不相同。

论文

1. Do Deep Nets Really Need to be Deep? 【NIPS2014】

动机

shallow net在参数较少或者一样的情况下能否和deep net达到相近的效果?

方法

1)softmax的输入是logits、输出是probability,文中提出训练shallow net的时候使用deep net的logits作为label,Hinton称之为logit匹配。

2)训练shallow net时在logits上使用L2 Loss监督训练。

思考

1)deep net更robust,可以对一些错误样本进行矫正,使shallow net学习更容易;同时 deep net学习能力更强,可以学习一些比较难的任务,并将其转换成更加容易的soft label给小模型进行学习。

2)为什么不使用probability作为标签呢?

假如[2e-9, 4e-5, 0.9999]是softmax的三个probability,用这个作为shallow net的目标,因为各个probability之间的差异太大,容易使shallow net注意力集中在较大的probability上,忽略值较小的probability。并且不同的logits通过softmax之后可能会有相近的表达,因此差别会被缩小,如[-10, 0, 10]和[10, 20, 30],显然模型对两者的特征表达是大不相同的。

3)logits比hard label包含更丰富的信息,其中包含deep net本身的知识提炼。

2. Distilling the Knowledge in a Neural Network【NIPS2015】(Hinton系统诠释蒸馏)

动机

ensemble模型部署代价太高,直接训练小模型效果不够

方法

该方法采用softmax层内特征匹配的策略,其本质是使用softmax的输出作为监督,但为了使得到的得分vector更soft,在softmax层加上了蒸馏温度T,使蒸馏的性能提升。



步骤:
1)在T=1训练teacher;
2)在高温下利用teacher softmax的输出概率作为soft label,与hard label进行融合来监督student,对两者的loss进行加权。

3. FITNETS:Hints for Thin Deep Nets【ICLR2015】

动机

deep是DNN主要的功效来源,之前的工作都是用较浅的网络作为student net,这篇文章的主题是如何mimic一个更深但是比较小的网络。

方法

使用的方法直觉上来讲也是直接的:既然网络很深直接训练会很困难,那就通过在中间层加入loss的方法,通过学习teacher中间层feature map来transfer中间层表达的知识,文章中把这个方法叫做Hint-based Training。


训练分为两个stage:

stage1(Hints Training): 选取teacher的中间层作为guidance,对student的中间层进行监督学习,通常两者的维度不一样,所以需要一个额外的线性矩阵或卷积层去进行维度变换,达到维度一致,然后使用L2 Loss进行监督。

stage2(Knowledge Distillation): 采用论文2中KD对整个student进行知识迁移。

结果

1)小而深的网络可以达到比teacher更好的效果,并且在参数量28分之一的前提下,效果高于论文2中的方法;

2)作者做了其他实验:通过深度监督(添加额外的中间层直接进行分类的loss)去学习一个小而深的网络,发现无法正常学习。因此作者得出结论:添加teacher中间层的特征作为student学习对象能够帮助其学习一个deeper的网络,而直接使用hard targets的分类信号去监督中间层则难以起到帮助。

4. Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer【ICLR2017】

动机

将feature map作为知识直接从teacher transfer到student过于生硬,效果不佳。因此,文章提出将attention map作为知识从teacher transfer到student,希望让student关注teacher所关注的区域。

方法

文章中attention map定义如下:

,即将feature map不同通道的feature plane取绝对值进行power操作然后相加,拉近teacher和student的attention map之间的欧式距离。attention map可以看作全激活feature map的summary,因此会比直接transfer feature map效果好。

5. A Gift from Knowledge Distillation: Fast Optimization, Network Minimization and Transfer Learning【CVPR2017】

动机

过去的知识蒸馏均是利用soft targets或者利用中间特征做hint来进行知识的transfer,本文提出:神经网络的知识在于如何解决从一个输入到输出的映射,是一个从输入到输出的一个feature flow(即层与层之间的特征关系),teacher要将这个flow transfer给student。层与层之间的特征关系更能表达一种提取的手段,让student学到这种手段更加像授人以鱼不如授人以渔。

方法

文中定义了FSP Matrix矩阵来刻画层与层之间的特征关系。具体做法是:对于具有相同分辨率的特征图,低层和高层特征图的channel两两做内积,然后将结果填入FSP Matrix对应位置。FSP Matrix计算过程:


其中,F1、F2是低层、高层特征图,h、w是特征图的长宽,i、j是低层、高层特征图的channel index,x和W是当前的输入和参数。

然后用L2 Loss去拉近teacher和student的FPS matrix之间的距离,定义如下:


文章采用resnet作为实验的backbone,对teacher和student对应的stage计算FSP Matrix,然后用L2 Loss去拉近FSP Matrix之间的距离,以达到知识迁移的目的。


6. Knowledge Distillation in Generations: More Tolerant Teachers Educate Better Students【AAAI2019】

动机

硬标签会导致模型产生过拟合现象,soft label对于模型的泛化能力有所帮助。文中指出:一个更加tolerant的teacher(即使得teacher的输出更加soft一些),尽管在一定程度上降低了teacher的精度,但能给student更高的泛化学习的宽容度,反而能带来student的提升。常用的方法有label smoothing regularization(lsr)和confidence penalty(CP)两种方法,但其缺点是考虑了所有的类。本文提出了一个更合理的方法,没有计算所有类的额外损失,而是挑选了几个具有最高置信度分数的类。

方法

1)训练teacher时,对teacher的loss加了一项约束:置信度top1和topK其余K-1个平均值之间的gap,命名为top score difference。

2)训练student时,用1)得到的teacher的soft label与hard label融合;
论文中实验在CIFAR-100和ILSVRC2012分类数据集上涨点3%~8%不等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容