Advertisement

Like What You Like: Knowledge Distill via Neuron Selectivity Transfer论文初读

阅读量:

目录

摘要

引言

相关工作

深度网络压缩与加速

知识蒸馏

领域自适应

准备知识

一些符号

MMD(Maximum Mean Discrepancy)

神经元选择性迁移

出发点

公式

讨论

实验

在分类数据集上

在检测数据集上

讨论

不同KT的分析

MMD以外的方法

结论


摘要

将知识迁移看成一种分布匹配问题

通过用一种新的损失函数最小化teacher与student网络间的Maximum Mean Discrepancy (MMD) metric来解决这个分布问题

引言

  • 出发点

神经元具有知识选择性特性,比如神经元只对特定的区域或者样本感兴趣,所以作者提出了对齐teacher和student网络间的神经元选择样式分布

最终的损失函数为交叉熵损失和MMD的和

  • 本文的贡献

提出了一种新的知识迁移的观点(对其选择样式分布),并提出了新的名叫 Neuron Selectivity Transfer (NST)的蒸馏的方法

在很多数据集上测试,并证明了提出的方法有效

表明提出的方法与其他的知识蒸馏的方法结合

表明知识迁移的方法可以帮助学习更好的特征,并且在其他的视觉任务中(比如目标检测)也可以获益

相关工作

深度网络压缩与加速

网络裁剪:

小数量级的权重是不重要的,可以裁剪,需要特殊的实现

将裁剪看作子集选择和稀疏优化问题

量化和低秩近似

这些方法都可以与作者提出的方法结合

知识蒸馏

KD的优点:软标签一方面可以捕捉类内的变化,另一方面还可以类间的相似性;

KD的缺点:假如是二分类,那么可供蒸馏的信息就很少

Fitnets可以通过中间层的监督来解决KD的问题,但要求严格,当teacher和student能力相差太大,可能会差生不利的影响

AT可以通过注意力机制,只蒸馏与目标强相关的神经元去蒸馏,解决Fitnets的问题,后面会讲到这是作者提出的方法的特殊情况

Flow of Solution Procedure (FSP)计算了两个不同层的特征的Gram matrix,他们认为FSP矩阵可以反应老师教学生的过程

领域自适应

解决的问题是当目标领域的没有标签的时候,如何利用已有的标签,通过对比并减少两个领域的分布差异来训练模型,核心问题是如何减少两个领域分布的差异

在Reproducing Kernel Hilbert Space (RKHS)中, MaximumMeanDiscrepancy(MMD)被当作比较两个分布的一个指标

有的方法,通过重新分配样本的权重或者重新挑选样本来最小化两个分布的MMD

有的方法,通过在一个显式的低维潜在空间中测量MMD

还有的,用MMD去正则化原领域和新领域学到的特征

值得注意的是,风格迁移也是一种领域自适应问题,它也是二秩多项式核MMD的特殊情况

准备知识

一些符号

表示第k个通道上的特征
表示在第i个位置上的C维特征

MMD(Maximum Mean Discrepancy)

x,y为随机变量,x采样数量为N,y采样数量为M,MMD的想法就是求两个随机变量在高维空间中均值的距离

对于卷积网络中的HWC特征,将C层的特征看作是随机向量的C次采样,所以MMD的做法就是先将每个通道做映射,得到H'*W'*C的特征,然后将映射完后的通道H'*W'*C做平均,得到随机向量在高维空间中的平均(H'*W'),最后用teacher与student的这个结果求欧式距离

可以利用kernel技巧,省去映射的过程,直接求得损失函数的结果,k就是核函数

神经元选择性迁移

出发点

  • 这样做的原因

图2展示的是神经元的激活图(应该是从该神经元向输入求导得到的)

从图中可以看出,神经元具有区域选择性,这些区域是有任务相似性的,比如左边图片对应猴子的脸,右边的图片对应字母,为了捕捉这些区域相似性,在学生网络中,神经元也应该学到这些激活样式

  • 直接用feature map来做匹配有什么问题

将feature map的每个通道的特征看作为神经元选择性的采样空间

文章中直接用teacher和student的这些采样去匹配,会忽略掉在这个空间中的采样密度,丢掉了样式

这两句话过于晦涩难懂,个人理解如下:

如过直接用feature map间的欧式距离作为损失函数,体现不出来Figure2中的样式(猴脸,字母),所以用一种新的方式,先将每个通道上的H*W的特征映射成H'*W'的特征,现在的特征就是H'*W'*C,然后将新的特征在C方向上合并,形成H'*W'的新的特征(比如注意力蒸馏中的做法)就可以体现出这个样式,也注重了空间上的采样密度,再用欧式距离算损失即可

公式

  • 损失函数

在(4)中,是在(3)中的fk.的基础上添加了l2-normalized,这是为了确保每个采样有相同的尺度

  • 核函数的选择

讨论

  • 线性核函数

线性核下的损失函数:

在注意力图映射函数是绝对值就和规范化的条件下,AT的损失函数:

除了规范化的方式不一样外,式5与式8是等价的,因此AT是本工作的一个特殊情况

  • 多项式核函数


G是一个Gram matrix,gij代表了位置i与位置j上向量的相似性;

其中的F是按照4.2节描述的方法规范化的;

因为内积能够表示向量的相似度,而G是在不同空间点上所有通道上做内积,也就是计算不同位置点之间的相似度,所以说Gram matrix中含有区域相似性

实验

在分类数据集上

总的来说,所有的对比实验表明,NST-poly可能不是最好的(ImageNet),但是他是KD的补充,它和KD结合起来可以吊打一切

在检测数据集上

总的来说,NST-poly相比于其他是最好的,可能是因为检测任务需要更多的空间信息,而KD没有,所以KD打不过它;

还有一点没有变的是,KD-NST依然是最强的组合,又证明了NST是KD的好伙伴

讨论

不同KT的分析

  • NST

Figure 5中,一个点代表一个神经元的分布,可视化是用一种叫做t-SNE做出来的

NST可以使teacher和student神经元的分布接近一致

各人感觉,除了KD(因为KD没有训练中间层),其他的方法(AT,HT)都可以做到这一点

  • KD

KD在类别更多的分类任务上效果更好,因为类别更多,soften target得到的信息就更多;

然而KD太过依赖softmax,所以它不能在回归和rank(是个什么任务)上起作用

Fitnets将所有的feature都用作了监督信息,可能会引入噪声,而且没有注重采样密度

MMD以外的方法

GAN的思想是一个可以研究的方向,student的特征相当于一个G,teacher的特征相当于D

结论

将知识迁移看错一个分布对齐的问题(分布对齐其实就是说的好听了,其实跟分布没啥关系)

利用了神经元的选择性(这个是AT的思想,还不如AT来的干脆,真的多余)

NST和KD的协作能力才是这篇论文值得吹嘘的地方

可以迁移到更高级的视觉任务中(AT,HT都可以做到,但是NST最好,也不知道为啥)

全部评论 (0)

还没有任何评论哟~