0%

A Gift from Knowledge Distillation Fast Optimization, Network Minimization and Transfer Learning论文摘要

本文提出了一种新的卷积网络权重初始化方法,它的思路是利用FSP矩阵来表示相邻两层输出之间的关系,这种关系能告诉我们“神经网络解决问题的思路”,然后训练学生网络来最小化FSP矩阵的L2距离,以此初始化学生网络权重,之后再接着训练。该方法在cifar10、cifar100数据集上被证明具有收敛快、精度高、适于迁移学习的效果。

一、基本信息

会议/期刊 CVPR
年份 2017
机构 KAIST
一作 Junho Yim,Donggyu Joo,Junmo Kim
领域 Knowledge Distillation,Transfer Learning

二、做了什么?针对什么应用场景?

本文提出了一种新的卷积网络权重初始化方法,它的思路是利用FSP矩阵来表示相邻两层输出之间的关系,这种关系能告诉我们“神经网络解决问题的思路”,然后训练学生网络来minimize L2(FSP_teacher, FSP_student),以此初始化学生网络权重,之后再接着训练。该方法在cifar10、cifar100数据集上被证明具有收敛快、精度高、适于迁移学习的效果。

主要针对场景:
1)手上有一个超大的模型,但部署环境不支持计算量/存储/功耗,因此需要训练一个小一点的模型or多个小型模型的集成,
2)手上有一个预训练模型,但新任务样本量较少、从头训练效果不好,因此需要在新任务上进行fine-tune,
3)追求模型的快速收敛,需要好的初始化策略,

三、这么做有什么好处?(纵向比较)

第一次从“flow of solving problems”的角度看待知识蒸馏,具有启发意义。(之前的方法过于注重让student模仿

将知识蒸馏技术引入了迁移学习领域。

四、为什么做这个工作?(横向比较)

vs 普通的KD(Romero/FitNets):

  • 其他知识蒸馏方法只追求student模仿teacher的结果输出/中间层输出,只重视结果而不重视解决问题的过程,

  • 训练过程低效,本方法多个模块可以独立训练,效果仍然很好,

  • 不利于产生迁移性好的学生网络,因为没有学习过程只强调模仿

vs 其他快速收敛的方法:选择一个好的初始化策略能使深度网络优化地更快,选择一个好的优化器能使深度网络更易于达到全局/局部最优

  • simple init:Gaussian noise、Xavier

  • complicated init:he normal、he uniform

  • optimizer:sgd、adam

五、方法上有什么创新之处?(实验方法/评价指标/谋篇布局/制图)

核心问题:

  1. 如何定义teacher网络所含的信息? => FSP矩阵
  2. 如何让student网络学习到teacher所含信息? => 最小化两个网络的FSP矩阵距离
  3. 如何减少students之前的关联性、引入差异性?(好做集成分类器) => 打乱teacher网络的通道,生成新的FSP matrices
  4. 如何比较初始化策略 vs 简单的知识迁移?=> 用相同的架构做kd,一种init student=trained teacher,另一种init student=FSP trained(trained teacher)
  5. 怎么证明收敛更快?=> student只用 1/3 的迭代次数,达到和teacher相似的精确度

六、思路上有什么创新之处?(新发现/新论断/新猜想)

  • 定义了一种high level knowledge => flow of solving problems => relationship between outputs of 2 connected layers
  • 借鉴了Gramian matrix的思想(A neural algorithm of artistic style),提出了FSP矩阵(flow of solving problems)

七、有什么我可以借鉴的?

对CIFAR10数据集,可以先padding到40x40再训练。

八、缺点有哪些?

语言描述过于累赘,实验部分思路不够清晰。