1. 研究背景与动机
知识蒸馏(knowledge distillation,KD)是一种通用神经网络训练方法,它使用大的teacher模型来 “教” student模型,在各种AI任务上有着广泛应用。数据增强(data augmentation,DA) 更是神经网络训练的标配技巧。
知识蒸馏按照蒸馏的位置通常分为(1)基于网络中间特征图的蒸馏,(2)基于网络输出的蒸馏。对于后者来说,近几年分类任务上KD的发展主要集中在新的损失函数,譬如ICLR’20的CRD和ECCV’20的SSKD将对比学习引入损失函数,可以从teacher模型中提取到更丰富的信息,供student模型学习,实现了当时的SOTA。
本文没有探索损失函数、蒸馏位置等传统研究问题上, 我们延用了最原始版本的KD loss (也就是Hinton等人在NIPS’14 workshop上提出KD的时候用的Cross-Entropy + KL divergence )。我们重点关注网络的输入端:如何度量不同数据增强方法在KD中的好坏?(相比之下,之前的KD paper大多关注网络的中间特征,或者输出端)。系统框图如下所示,本文的核心目标是要提出一种指标去度量图中 “Stronger DA” 的强弱程度。
这一切起源于一个偶然的实验发现:在KD中延长迭代次数,通常可以非常明显地提升KD的性能。譬如KD实验中常用的ResNet34/ResNet18 pair, 在ImageNet-1K上,将迭代次数从100 epochs增加到200 epochs,可以将top1/top5准确率从70.66/89.88提升到71.38/90.59, 达到当时的SOTA方法CRD的性能(71.38/90.49)。这显得很迷,将最baseline的方法训练久一点就可以SOTA?经过很多实验分析我们最终发现,是数据增强在背后起作用。
直觉上的解释是:每次迭代,数据增强是随机的,得到的样本都不一样。那么,迭代次数变多,student见到的不一样的样本就越多,这可以从teacher模型中提取到更丰富的信息(跟对比学习loss似乎有着异曲同工之妙),帮助student模型学习。
很自然我们可以进一步推想:不同数据增强方法引入的数据“多样性”应该是不同的,譬如我们期待基于强化学习搜出来的AutoAugment应该要比简单的随机翻转要更具有多样性。简单地说,这篇paper就是在回答:具体怎么度量这种多样性,以及度量完之后我们怎么在实际中应用。
为什么这个问题重要?(1)理论意义:帮助我们更深地理解KD和DA,(2)实际意义:实验表明在KD中使用更强的DA总能提高性能,如果我们知道了什么因素在控制这种“强弱”,那么我们就可以缔造出更强的DA,从而坐享KD性能的提升。
2. 主要贡献和内容
文章的主要贡献是三点:
(1)我们提出了一个定理来严格回答什么样的数据增强是好的,结论是:好的数据增强方法应该降低teacher-student交叉熵的协方差。
定理的核心部分是看不同数据增强方法下训练样本之间的相关性,相关性越大意味着样本越相似,多样性就越低,student性能应该越差。这个直觉完全符合文中的证明,这是理论上的贡献。值得一提的是,相关性不是直接算原始样本之间的相关性,而是算样本经过了teacher得到的logits之间的相关性,也就是,raw data层面上样本的相关性不重要,重要的是在teacher看来这些样本有多么相似,越不相似越好。
(2)基于这个定理,提出了一个具体可用的指标(stddev of teacher’s mean probability, T. stddev),可以对每一种数据增强方法算一个数值出来, 按照这个数值排序,就知道哪种数据增强方法最好。文中测试了7种既有数据增强方法, 发现CutMix最好用。
(3)基于该定理,提出了一种新的基于信息熵筛选的数据增强方法,叫做CutMixPick,它是在CutMix的基础上挑选出熵最大的样本(熵大意味着信息量大,多样性多)进行训练。实验表明,即使是使用最普通的KD loss也可以达到SOTA KD方法(例如CRD)的水平。
3. 实验效果
文中最重要的实验是,验证提出的指标(T. Stddev)是否真的能刻画不同数据增强方法下student性能(S. test loss)的好坏,也就是二者之间的相关性如何。结果表明:相关性显著!
文章总共测试了9种数据增强方法,我们在CIFAR100,Tiny ImageNet, ImageNet100上均做了验证,相关性都很强,p-value多数情况下远小于5%的显著性界限,如下所示:
这其中最有意思的一点是,纵轴是student的性能,而横轴的指标是完全用teacher计算出来的,对于student没有任何信息,但是somehow,二者呈现出很强的相关性。这说明,KD中对DA好坏的评价很可能独立于student的。同时,对于不同teacher、数据集,DA之间的相对排序也比较稳定(譬如CutMix稳定地比Cutout要好)。这些都意味着我们在一种网络、数据集下找到的好的DA有很大概率可以迁移到其他的网络跟数据集中,大大提升了实际应用价值。
4. 总结和局限性
本文关注数据增强在知识蒸馏中的影响,在理论和实际算法方面均有贡献,主要有三点:(1) 我们对 “如何度量知识蒸馏中不同数据增强方法的好坏” 这一问题给出了严格的理论分析(答:好的数据增强方法应该最小化teacher-student交叉熵的协方差);(2)基于该理论提出了一个实际可计算的度量指标(stddev of teacher’s mean probability);(3)最后提出了一个基于信息熵筛选的新数据增强方法(CutMixPick),可以进一步提升CutMix,在KD中达到新的SOTA性能。
审核编辑:刘清
-
神经网络
+关注
关注
42文章
4759浏览量
100465 -
CRD
+关注
关注
0文章
14浏览量
4003
原文标题:NeurIPS 2022 | 如何度量知识蒸馏中不同数据增强方法的好坏?一种统计学视角
文章出处:【微信号:CVer,微信公众号:CVer】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论