CVPR 2019 | 英特尔中国研究院提出新型卷积神经网络优化训练方法DKS
The following article is from 英特尔中国 Author 英特尔中国研究院
本文转载自英特尔中国研究院
前 言
近年来,视觉识别领域掀起了对卷积神经网络结构的研究热潮。相比ILSVRC 2012冠军AlexNet,当前主流的网络ResNet、DenseNet、Xception、ResNeXt、SENet、MobileNet、ShuffleNet等做了如下改进:
网络层数更多且网络拓扑结构更复杂;
采用了更有效的特征归一化、数据增强等优化方法。
尽管这些网络在性能上不断取得突破,但网络整体复杂程度的提高带来了过拟合风险,因此如何设计更好的网络优化机制变得尤为重要。
针对这一问题,英特尔中国研究院于近期提出了一种名为DKS (Deeply-supervised Knowledge Synergy) 的卷积神经网络优化训练方法。
DKS的基本思想
我们注意到当前主流的卷积神经网络沿用了AlexNet的训练策略:监督信息只加在了网络的最后一层,在训练时基于SGD (Stochastic Gradient Descent, 随机梯度下降),其训练误差通过后向传播从最后一层依次向前传递到第一层。这与前文讲到的网络深度变深、网络拓扑结构变复杂的设计趋势产生了矛盾:浅层的特征因为远离监督层,很可能得不到充分的训练,易于导致训练过拟合,使得网络泛化能力降低。
如下图所示,在ImageNet图像分类数据集上,相比标准训练方法,利用DKS加以训练的ResNet-18模型虽然在训练集上表现“一般”,但在测试集上大幅领先,带来了2.38% Top-1性能提升,这充分说明即使是最常用的ResNet网络,现有训练方法依然存在严重的过拟合问题。那么,DKS为什么会带来如此大的性能提升?
ImageNet上ResNet-18性能比较
虚线为训练误差曲线,实线为测试误差曲线。Plain是标准训练方法,DS是深度监督训练方法,DKS是本文提出的方法。
DKS提出了深度监督的知识协同策略,有效解决了这一问题。其核心是设计了一个Synergy Loss。在训练中,除了在网络最后一层加入了监督信息(默认的),还在网络其他特定的层也加入了监督信息(额外的)。与传统的深度监督方法直接使用额外监督辅助网络训练形成鲜明对比的是,DKS旨在一个网络的不同层生成概率意义上的Soft Knowledge(简称知识), 然后在加入了监督信息的任意两层之间,Synergy Loss能够以其中一层上产生的知识作为另外一层对应的概率监督,通过派对知识匹配,促使它们达到类似的概率预测结果。通过激活密集的派对知识匹配,DKS巧妙地实现了网络内部的跨层知识迁移,就好比在网络内部形成了跨层的知识协同。下图例示了DKS的基本框架,其对应的理论分析和实现可参见[1-3]。
DKS的基本框架
网络内部的跨层派对知识匹配
跨层派对知识匹配是DKS的精髓。我们提出了三种不同的跨层派对知识匹配设计,即自上而下、自下而上和双向的跨层派对知识匹配,如下图所示。实验表明,相比标准训练方法,三种跨层派对知识匹配设计均能带来明显的性能提升,其中以双向的跨层派对知识匹配性能最好。
从左到右依次为自上而下、自下而上和双向的跨层派对知识匹配设计。其中红色节点代表默认监督层,紫色节点代表额外监督层,带方向的曲线表示不同的跨层派对知识匹配。
实验比较
为了充分验证DKS方法的优越性能,基于标准的视觉识别数据集,包括最权威的ImageNet图像分类数据集,我们做了一系列标准的实验比较。实验中,比较的对象包括标准训练方法 (Plain/baseline)、深度监督训练方法 (DS)、知识蒸馏方法 (KD)等。
•在不同网络结构上的性能比较
首先,在CIFAR-100数据集上,我们针对时下主流的卷积神经网络包括ResNet、WRN、DenseNet和MobileNet等做了全面的实验对比,结果如表1所示(结果为五次实验的mean(std)识别误差)。从表1我们可以清晰地看出,相比标准训练方法/深度监督训练方法,DKS均有明显的性能提升。
以ResNet-32、ResNet-110和MobileNet为例,DKS分别有3.16%/3.08%,2.68%/1.97%和2.34%/1.72%的平均性能提升。以WRN-28-10为例,即使在加入了很强的正则约束(0.3 dropout)时,DKS相比标准训练方法/深度监督训练方法,依然取得了1.93%/1.09%的平均性能提升,充分展现了DKS抑制过拟合的强大能力。
表1. CIFAR-100上的性能比较
结果为五次实验的mean(std)识别误差
• 在ImageNet图像分类数据集上的结果
其次,在最权威的ImageNet图像分类数据集,以时下非常流行的ResNets网络为例,我们做了更进一步的实验验证,结果如表2所示。实验中,根据网络深度的不同,我们考虑了两种不同的数据增强方法。
从表2可以看出,相比标准训练方法等,DKS取得了非常显著的性能提升。以ResNet-152为例,DKS相比标准训练方法的Top-1性能提升为1.47%。与业内现有的一些实验结果相比,这是ResNet-152目前取得的最好的分类性能。
表2. ImageNet上的性能比较(single crop)
其中,ResNet-18和ResNet-50使用了简单的数据增强,而ResNet-152使用了复杂的数据增加。
• 全面的分析实验
最后,在文章[1-2]中,我们还做了一系列其他的比较实验,来更全面地分析DKS的特性。这些实验包括:
辅助分类器的设计;
跨层派对知识匹配设计的性能比较;
在1202层ResNet上的性能;
与知识蒸馏方法的比较;
抑制噪声数据的影响。
展 望
上述实验证明,在不同图像识别任务和不同网络结构上,DKS均取得了领先的结果,能有效抑制过拟合,显著提升网络的泛化能力,这主要得益于DKS巧妙耦合了深度监督和网络内部的跨层知识迁移。
关于DKS的论文已发表在CVPR 2019 [1],相关文章和代码已在arXiv和GitHub上开源 [2, 3]。目前,我们正致力于将DKS扩展应用到更多的视觉识别任务中去,欢迎大家持续关注。
[1] Dawei Sun(*), Anbang Yao(*, equal contribution), Aojun Zhou, Hao Zhao. Deeply-supervised Knowledge Synergy. CVPR 2019.
[2] https://arxiv.org/pdf/1906.00675.pdf
[3] https://github.com/sundw2014/DKS
文中图片等素材的版权归其所有者拥有
在看?就点在看