知识蒸馏(Distillation)相关论文阅读(3)—— FitNets : Hints for Thin Deep Nets

知识蒸馏相关论文目录导读:

  1. Geoffry Hinton —— Distilling the knowledge in a neural network
  2. Saurabh Gupta —— Cross Model Distillation for Supervision Transfer
  3. Adriana Romero —— Hints for Thin Deep Nets

————————————————————————————————————————

《FitNets : Hints for Thin Deep Nets》

Adriana Romero

本文成果:

从一个wide and deep的网路蒸馏成一个thin and deeper的网络。


为什么要训练成更thin更deep的网络?

(1)thin:wide网络的计算参数巨大,变thin能够很好的压缩模型,但不影响模型效果。

(2)deeper:对于一个相似的函数,越深的层对于特征模拟的效果更好;并且从以往很多的论文、比赛中都能看出,深网络在训练结果上的优越性(例如VGG、GoogleNet)。

本文对于网络的改进:

在Hinton对softmax改造的基础上(详见论文分析1),对于中间层的权值匹配模拟学习,步骤如下:


文章给出的伪代码如下:


训练要点——两个loss function:

(1)Teacher网络的某一中间层的权值为Wt=Whint,Student网络的某一中间层的权值为Ws=Wguided。使用一个映射函数Wr来使得Wguided的维度匹配Whint,得到Ws'。其中对于Wr的训练使用MSEloss:


(2)改造softmax的loss(Hinton论文的方法,这里不赘述):




训练细节:

(1)TeacherNet选择大的网络(goodfellow:maxout),论文中均提取第二层的权值,权值进行fine tuning。

(2)StudentNet构建新的网络,提取最中间层的权值,从头训练,权值初始化要求如下:


猜你喜欢

转载自blog.csdn.net/Lucifer_zzq/article/details/79721319