如何度量知识蒸馏中不同数据增强方法的好坏?

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性能。


和电磁波「朝夕箱处」
Android手机最快在2020年取代身份证和驾照
思迈特Smartbi零售数据分析平台介绍
数字化应用中的多核DSP(上)
单按键触摸检测芯片VKD233DS/HS概述及特点
如何度量知识蒸馏中不同数据增强方法的好坏?
中国彩电市场潜在需求场景怎样以及如何建立转化
智能穿戴的未来与机遇:打造“穿戴的智能化”
海信AI手机H20:三大特点标志着海信AI手机的又一大进步
颜色传感器、色标传感器的工作原理是怎样的
半自动刷片机
美国的车用电池成本是这样下降的
有害气体泄漏报警器制作,Hazardous gas alarm
PCBA维修的指导思想和原则
无线耳机或取代传统有线耳机 智能降噪将成为标配
2016已经到了尾声 然而小米5C还未发布 小米5C还有吗?
一加5什么时候上市?一加5最新消息:揭开一加手机5的神秘面纱,真的很值得期待!
松下GH5旗舰无反评测 主打视频同时拍照也不弱
你家里有智能语音产品吗
网关的主要功能_网关的wifi怎么关