论文阅读 A Gift from Knowledge Distillation: Fast Optimization

2017年CVPR论文A Gift from Knowledge Distillation:Fast Optimization, Network Minimization and Transfer Learning。

论文地址:

GitHub:

摘要

提出了将蒸馏的知识看作成一种解决问题的流,它是在不同层之间的feature通过内积计算得到的

这个方法有三个好处:

  student网络可以学的更快

  student网络可以超过teacher网路的性能

  可以适用于迁移学习(teacher和student属于不同的任务)
 

本文提出以下几个观点:

  1. 从教师网络萃取知识不一定只从最后的softmax层这一层,还可以从多个层提取。
  2. 将从教师网络学习到的知识用来对学生网络进行初始化,并在之后用主流的方法进行训练。
  3. 因为FSP矩阵又两个层的特征得来,所以如果尺寸不同的话,可以用最大池化层拟合。

  4. 用Gram矩阵来计算loss函数。Gram矩阵是计算每个通道i与通道j的feature map的内积。Gram matrix的每个值都可以说是代表i通道的feature map与通道j的feature map互相关的程度。如下式:

  5. 单纯的教会学生模仿老师的生成特征图是个硬约束会让网络变得不灵活,所以应该致力于教会学生的学习这一过程。

动机

过去的知识蒸馏均是利用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之间的距离,以达到知识迁移的目的。

  • 本文的贡献

提出了一种好的知识蒸馏的方法

这种方法对快速优化有帮助

这种方法可以显著提升student网络的性能

这种方法适用于迁移学习

 

参考:https://blog.csdn.net/m0_37665984/article/details/103288582?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值