Bag of Tricks for Image Classification with Convolutional Neural Networks阅读笔记

Bag of Tricks for Image Classification with Convolutional Neural Networks —— 使用卷积神经网络进行图像分类的技巧包

摘要

作者说在训练神经网络时代码中往往会有一些小Trick,这些小Trick会提高模型的性能。但是每个模型、每个数据集、甚至每个人用到Trick都略有不同。而且在大多数论文中都提一下作者使用的Tricks,或者不提,在代码中才能看到,一般不会提太多细节。而这篇论文就是试验了各种Tricks,并且用不同的Tricks搭配提高了ImageNet的正确率。作者还提到,图像分类准确性的提高可以在其他应用程序领域(例如对象检测和语义分割)中带来更好的转移学习性能。

1、介绍

作者介绍了从Alex Net开始了深度学习在计算机视觉的巨大成功,又提出了后续出现的网络模型VGG, NiN, Inception, ResNet, DenseNet, 和NASNet。这些模型都提高了ImageNet的分类正确率。
作者又提出,这些进步并不仅仅来自改进的模型体系结构。培训程序的完善(包括损失函数的更改,数据预处理和优化方法)也发挥了重要作用。在过去的几年中已经提出了许多这样的改进,但是受到的关注相对较少。在文献中,大多数只是作为实现细节而简短提及,而其他一些只能在源代码中找到。
所以作者对这些Tricks进行了汇总并实验。
作者还表明,一些技巧可以显着提高准确性,将它们结合在一起可以进一步提高模型的准确性。
作者说他的Tricks运用在ResNet-50上性能超过了普通的SE-ResNeXt-50。
作者还说,它的Tricks可以扩展到其他的神经网络模型比如Inception V3和MobileNet 。并且他再次证明使用他们们的技巧训练的模型在其他应用程序领域(例如对象检测和语义分段)中带来了更好的转移学习性能。

论文大纲

首先在第2节中建立了baseline训练程序。
然后在第3节讨论了对新硬件高效训练很有用的几个Tricks。
在第4节中回顾了ResNet的三个次要模型架构调整,并提出了一个新的调整。
然后在第5节中讨论了四个额外的训练程序改进。
最后在第6节中研究这些更准确的模型是否可以帮助迁移学习。

2、训练过程

作者首先提出了一个训练模板。
Bag of Tricks for Image Classification with Convolutional Neural Networks阅读笔记
作者说训练和验证的数据管道是不同的,所以应该写两个训练函数。
训练过程:
1、随机采样图像并将其解码为[0,255]中的32位浮点原始像素值。
2、随机裁剪长宽比以[3/4,4/3]随机采样的矩形区域,并以[3/4,4/3]随机采样 [8%, 100%]的区域,然后将裁剪区域的大小调整为224 x 224平方的图像。
3、以0.5的概率水平翻转。
4、比例色相,饱和度和亮度,其系数均由[0.6,1.4]统一得出。
5、将PCA噪声与从正态分布N(0,0.1)采样的系数相加。
6、通过分别减去123.68、116.779、103.939并除以58.393、57.12、57.375来标准化RGB通道。
验证过程:
验证期间,将每张图片的较短边缘调整为256个像素,同时保持其宽高比。接下来,裁剪中心的224 x 224区域并标准化类似于训练的RGB通道。验证期间,不会执行任何随机扩充。
模型方面:
卷积层和完全连接层的权重均使用Xavier算法[6]进行初始化。特别是,将参数设置为从[-a,a]均匀得出的随机值,a =6/(din+dout)\sqrt {6/(d_{in} + d_{out})}。这里dind_{in}doutd_{out}分别是输入和输出通道的大小。所有偏差都初始化为0。对于批归一化层,γ向量初始化为1,β向量初始化为0。
用Nesterov加速梯度下降优化算法(NAG)进行训练。每个模型都在8个Nvidia V100 GPU上进行了120个时期的训练,总batch大小为256。学习率初始化为0.1,并在第30、60和90个epoch除以10。

实验结果

作者评估了三个CNN:ResNet-50 ,InceptionV3 和MobileNet。对于Inception-V3,作者将输入图像的尺寸调整为299x299。使用ISLVRC2012 数据集,其中包含130万张用于训练的图像和1000个课程。验证准确性如表2所示。可以看出,ResNet-50结果略好于参考结果,而baseline的Inception-V3和MobileNet的准确度由于训练程序不同而略低。

Model Baseline Reference
Top-1 Top-5 Top-1 Top-5
ResNet-50 75.87 92.70 75.3 92.2
Inception-V3 77.32 93.43 78.8 94.4
MobileNet 69.03 88.71 70.6 -

3、高效训练