李沐等人:CNN图像分类Trick合集(附详细代码)

专知 2018-12-12 15:45
关注文章
cnn

【导读】近日由李沐大神带领的一组AWS的研究者们发布了在长时间实践中总结的用CNN网络做图像分类中的调参技巧,他们研究了一系列训练过程和模型架构的改进方法,并在在多个神经网络架构和数据集上评估它们,并研究它们对最终模型准确率的影响。并且文章中也表示一些特定的技巧可以显著提高模型的准确度,将它们组合在一起可以进一步提高模型的精度。对深度学习调参痛苦的同学建议仔细学习这篇论文。


题目: Bag of Tricks for Image Classification with Convolutional Neural Networks

作者:Tong He, Zhi Zhang, Hang Zhang, Zhongyue Zhang, Junyuan Xie, Mu Li


【摘要】图像分类研究最近取得的许多进展可以归因于训练过程的改进,例如数据增强和优化方法的改变。然而,大多数改进要么只是作为实现细节被简要地提到,要么只在源代码中可见。在本文中,我们将研究这些改进的一系列集合,并通过ablation study评估它们对最终模型精度的影响。我们将证明,通过将这些改进组合在一起,我们能够显著改进各种CNN模型。例如,我们将ResNet-50在ImageNet上的top-1验证精度从75.3%提高到79.29%。我们还将证明,图像分类准确性的提高,可以在目标检测和语义分割等其他应用领域带来更好的迁移学习性能。


参考链接:

https://arxiv.org/abs/1812.01187

代码链接:

https://github.com/dmlc/gluon-cv



引言

自2012年引入AlexNet[15]以来,深度卷积神经网络已经成为图像分类的主要方法。从那时起,各种各样的新架构被提出,包括VGG[24]、NiN[16]、Inception[1]、ResNet[9]、DenseNet[13]和NASNet[34]。同时,我们也看到了模型精度不断提高的趋势。例如,ImageNet[23]上的top-1验证准确率已经从62.5% (AlexNet)提高到82.7% (NASNet-A)。


然而,这些进步并不仅仅来自改进的模型体系结构。训练过程的改进,包括损失函数的改变、数据预处理和优化方法也发挥了重要作用。在过去几年中已经提出了大量这样的改进,但是受到的关注相对较少。在文献中,大多数只是作为实现细节简要提及,而其他只能在源代码中找到。


在本文中,作者将研究一组训练过程和模型体系结构的改进,这些改进提高了模型的准确性,但几乎没有改变计算复杂度。其中许多都是一些小的“技巧”,如修改特定卷积层的步幅大小或调整学习率。但总的来说,它们会产生很大的影响。论文将在多个网络架构和数据集上对它们进行评估,并报告它们对最终模型精度的影响。


文章中的实证评估表明,一些特定的技巧可以显著提高模型的准确度,将它们组合在一起可以进一步提高模型的精度。在应用所有技巧之后,将ResNet-50与表1中的其他相关网络进行比较。请注意,这些技巧将ResNet- 50在ImageNet上的top-1验证准确率从75.3%提高到79.29%。它还优于其他更新和改进的网络架构,如SE-ResNeXt-50。此外,文章中还展示了将提出的方法可以推广到其他网络(Inception V3[1]和MobileNet[11])和数据集(Place365[32])。进一步证明,使用提出的技巧训练的模型在其他应用领域(如目标检测和语义分割),可以带来更好的迁移学习性能。


论文大纲

首先在第2节中建立了一个BaseLine训练过程,

然后在第3节中讨论了一些有效训练的技巧。

在第4节中,回顾了ResNet的三个小型模型体系结构调整,并提出了一个新的改进。

然后在第5节中讨论另外四个训练过程的改进。

最后,在第六节中研究这些更准确的模型是否有助于迁移学习。


注意:论文中的模型实现和训练脚本在GluonCV中可以获得。


附教程内容

论文下载:请点击打包下载

转自专知公众号

微信扫一扫
关注该公众号

模型
{{panelTitle}}
支持Markdown和数学公式,公式格式:\\(...\\)或\\[...\\]

还没有内容

关注微信公众号