论文解读《Imagenet Classification with Deep Convolutional Neural Networks》
论文分析
Abstract
-
在ILSVRC-2010竞赛上,该组训练了一个大型的、有深度的卷积神经网络,用来将1.2million的高分辨率图像分为1000个不同的种类。在测试数据上,top-1和top-5的错误率达到37.5%和17.0%。这个神经网络有60,000,000参数和650,000个神经元。
-
在ILSVRC 2012竞赛上,稍微调整这个模型,取得top-5错误率为15.3%。
-
这个神经网络由
-
5层卷积层
-
3层全连接层
-
1层1000-way的softmax层
-
Introduction
- 论文贡献:
-
针对ILSVRC2010和ILSVRC2012竞赛,训练了一个大型的卷积神经网络,达到当时最好的效果
-
在GPU上实现了高性能的2D卷积,以及网络中的其他操作
-
包含一些提高性能和减少训练时间的方法,以及防止过拟合的技术
-
-
网络规模主要受限于
-
GPU存储容量
-
训练时间
-
-
提升实验结果
-
更快的GPU
-
更大的数据集
-
Dataset
-
ILSVRC是ImageNet的一个子集,有1000个种类,每个种类中有1000张图像,大概有12,000,000张训练图像,50,000张验证图像和150,000张测试图像
-
ILSVRC2010的测试集labels是可用的,所以主要是用这个进行实验
-
ILSVRC2012也有实验,但是测试集labels不可用的
-
将数据集图片的尺寸规范为256x256
-
只有subtract the mean activity,没有其他的pre-process
Architecture
以下为网络架构的特点,按重要性排序
-
ReLU Nonlinearity
-
用梯度下降法,饱和非线性比非饱和非线性的训练时间少
-
ReLU(Rectified Linear Units) 激活函数,AlexNet中使用了非线性ReLU
-
在深度卷积网络中,用ReLU训练比tanh单元快好几倍
-
用传统的饱和神经模型,将无法解决如此大规模的神经网络
-
-
Training on Multiple GPUs
-
GPU容量会限制网络的最大尺寸,可能会出现用来训练网络的数据足够大,但是GPU却无法处理
-
目前CPU都支持cross-GPU parallelization技术
-
trick:GPU只在特定的层通信,每个GPU各有一半的kernels
-
GPU使top-1和top-5的错误率减少了1.7%和1.2%
-
两个GPU训练时间比一个GPU短
-
-
Local Response Normalization
-
ReLU具有不需要防止饱和的input normalization的性质
-
Response normalization使top-1和top-5的错误率减少了1.4%和1.2%
-
-
Overlapping Pooling
-
这网络使用的pooling是重叠的
-
使用overlap overfit可抑制过拟合
-
-
Overall Architecture
- 网络最大化多项式逻辑回归,即在预测分布的情况下,求最大化训练案例中正确label的对数概率
Reducing Overfitting
-
Data Augmentation
-
用label-preserving transformations来扩大数据集是最简单和通用的方法来降低
-
第一种方式:image translation和horizontal reflection
-
从256x256图像中,提取224x224 patches
-
通过这种方式,降低了过拟合
-
-
第二种方式:改变训练图像中RGB通道的值
-
使用PCA方法
-
从自然图像中提取了重要性质,物体的统一性不随光照的强度和颜色而改变
-
-
-
Dropout
-
对每个隐含层的输出用50%的概率置0。置0的神经元不参加前向和后向的传导。
-
用dropout,尽管每次神经网络是不同框架,但是这些框架共享权值
-
减少了神经元之间的依赖性
-
dropout加倍了收敛需要的迭代次数
-
Details of learning
-
小数量的权值衰减对模型的学习是很重要的,即weight decay不仅仅是regularizer,还降低了模型的训练错误率。
-
在每一层初始化权值,用偏差为0.01的zero-mean Gaussian。用constant=1初始化2,4和5层卷积以及全连接层。通过对ReLU提供整输入,加速了learning。用constant=0初始化剩下的层
-
所有层都使用相同的learning rate,在训练时手动调整的。当错误率停止时,将learning rate缩小10倍。learning rate初始值为0.01,缩小3次停止
Results
-
ILSVRC2010,top-1和top-5的错误率为37.5%和17.0%
-
ILSVRC2012,top-1和top-5的错误率为40.7%和18.2%
-
在ImageNet2011 pre-trained的模型,fine-tune在ILSVRC上,top-1和top-5的错误率为39.0%和16.6%
Discussion
-
如果移去一层网络,网络正确率将会下降
-
没有使用任何无监督训练,特别是如果是得到足够的计算能力来提升网络规模,却无法得到相对应的标记数据的提升