知识的三种形式
1.Responsed-Based Knowledge :小模型学习大模型的输出 (Hinton)
2.Feature-Based Knowledge:小模型学习大模型的中间feature https://arxiv.org/abs/1412.6550
3.Relation-Based Knowledge:小模型学习input-hidden-output之间的关系
本文则是3的思想
一、摘要
1.从预先训练的深度神经网络DNN提取知识并转移到另一个DNN
2.由于DNN从输入空间到输出空间是经过多层顺序映射的,我们用层间流动的方式定义要传递的蒸馏知识,这是通过计算两层特征之间的内积来计算的。
3.当我们将学生DNN与与学生DNN大小相同但没有教师网络训练的原始网络进行比较时,所提出的蒸馏知识在两层之间流动的转移方法表现出三个重要现象:(1)学习蒸馏知识的学生DNN比原始模型优化得更快;(2)学生DNN优于原始DNN;(3)学生DNN可以从接受不同任务训练的教师DNN那里学习到经过提炼的知识,并且学生DNN的表现优于从零开始训练的原始DNN。
二、方法步骤
1.解决问题的流程-FSP
该图为迁移学习方法的概念图
FSP矩阵是由两层特征生成的,表示从DNN中提取的知识。通过计算表示方向的内积,生成FSP矩阵,两层之间的流动可以用FSP矩阵表示。
说白了该图的作用就是:将每个teacher和student的block都取第一层和最后一层,并分别输出特征图,该特征图即为求解过程(FSP)矩阵流
2.蒸馏方法
算法如上图所示
在完成第一步FSP之后,进行两个阶段的蒸馏操作
阶段一:对学生网络预训练,目的是使学生网络的FSP与教师网络的FSP相似
阶段二:利用学生DNN的预训练权值作为初始权值进行正常的训练过程
示意图如下:
该图为方法的完整架构
其中教师和学生的网络层数都可以改变,在保持相同空间大小的三个截面上提取FSP矩阵。
3.结果
分别从快速优化、网络最小化、迁移学习三个方面证明了本文方法的有效性
总结
授人与鱼不如授人以渔
1.本文即是小模型学习input-hidden-output之间的关系
2.FSP若尺寸不同,用最大池化层拟合
3.用Gram矩阵计算loss函数
4.使用FSP矩阵来描述学习方法。教师网络的“蒸馏信息”以FSP矩阵的形式被提取出来,并将它传送到学生网络上