《ImageNet Classification with Deep Convolutional Neural Networks》
论文原文:http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf
摘要:
摘要部分向我们交代了以下几个事情:(不得不说人家写的摘要就是厉害,看了就很吸引读者呢。)
1.在ImageNet LSVRC比赛中取得了不错的结果,这是相对于之前的先进水平来说的。(开头就说实验结果,厉害了!)
2.介绍了网络的结构。(具有6000万个参数和650,000个神经元的神经网络由五个卷积层组成,其中一些随后是最大池化层,三个全连接层以及最后的1000个softmax输出。)
3.使用GPU。(为了加快训练速度,我们使用非饱和神经元和能高效进行卷积运算的GPU实现。)
4.引入dropout。(为了减少全连接层中的过拟合,我们采用了最近开发的称为“dropout”的正则化方法,该方法证明是非常有效的。)
5.在当时最新ILSVRC-2012比赛中取得了最佳结果。(我们还在ILSVRC-2012比赛中使用了这种模式的一个变种,取得了15.3%的前五名测试失误率,而第二名的成绩是26.2%。)
1.Introduction(个人认为最重要的就是这一段话了)
The specific contributions of this paper are as follows: we trained one of the largest convolutional neural networks to date on the subsets of ImageNet used in the ILSVRC-2010 and ILSVRC-2012 competitions [2] and achieved by far the best results ever reported on these datasets. We wrote a highly-optimized GPU implementation of 2D convolution and all the other operations inherent in training convolutional neural networks, which we make available publicly1 . Our network contains a number of new and unusual features which improve its performance and reduce its training time, which are detailed in Section 3. The size of our network made overfitting a significant problem, even with 1.2 million labeled training examples, so we used several effective techniques for preventing overfitting, which are described in Section 4. Our final network contains five convolutional and three fully-connected layers, and this depth seems to be important: we found that removing any convolutional layer (each of which contains no more than 1% of the model’s parameters) resulted in inferior performance.
本文的贡献:
1.我们在ILSVRC-2010和ILSVRC-2012比赛中使用的ImageNet子集上训练了迄今为止最大的卷积神经网络之一,并在这些数据集上取得了迄今为止最好的结果。
2.我们编写了一个高度优化的2D卷积的GPU实现以及其他训练卷积神经网络的固有操作,并将其公开。
3.我们的网络包含许多新的和不同寻常的功能,这些功能可以提高网络的性能并缩短训练时间,详情请参阅第3节。
4.我们的网络规模较大,即使有120万个带标签的训练样本,仍然存在过拟合的问题,所以我们采用了几个有效的技巧来阻止过拟合,在第4节中有详细的描述。
5.我们最终的网络包含五个卷积层和三个全连接层,并且这个深度似乎很重要:我们发现去除任何卷积层(每个卷积层只包含不超过整个模型参数的1%的参数)都会使网络的性能变差。
2 The Dataset
第一段:介绍了ImageNet数据集,ILSVRC是它的一个子集。
第二段:最后一句话,在ImageNet上,习惯上使用两种错误率:top-1和top-5。
第三段:最数据集的一些预处理,(We did not pre-process the images in any other way, except for subtracting the mean activity over the training set from each pixel.)除了将每个像素中减去训练集的像素均值之外,我们没有以任何其他方式对图像进行预处理。
3.The Architecture
网络的结构包含八层——五个卷积层和三个全连接层。
3.1 ReLU Nonlinearity
第一段:先是对传统的激活函数的介绍,然后提出了Nair和Hinton所说的ReLU;使用ReLUs做为激活函数的卷积神经网络比起使用tanh单元作为激活函数的训练起来快了好几倍。展示了一张图片,对于一个特定的四层CNN,CIFAR-10数据集训练中的误差率达到25%所需要的迭代次数。
第二段:作者说明,自己并不是第一个考虑在CNN中替换掉传统神经元模型的。对比其他人的工作,虽然别人的工作在例如Caltech-101数据集上表现很好,但是在本文中ImageNet这个数据集上,解决的是过拟合的问题。所以他们观察到的效果与我们在使用ReLU时观察到的训练集的加速能力还是不一样。加快训练速度对大型数据集上训练的大型模型的性能有很大的影响。
3.2 Training on Multiple GPUs
第一段:首次利用GPU进行训练。将网络分布在两个GPU上进行训练。另一个技巧就是GPU只在某些层间进行通信。
第二段:与用一个GPU进行计算相比,两个GPU通过“特定的连接模式”进行计算的速度很快。将top-1和top-5错误率降低了1.7%和1.2%.
3.3 Local Response Normalization
列出了一个有关ReLU的公式,分子是ReLU的输出,等式左边是Local Response Normalization的输出。这种响应归一化实现了一种模仿真实神经元的横向抑制,从而在使用不同内核计算的神经元输出之间产生较大的竞争。作者将它准确地称为“亮度归一化”,因为没有减去均值。响应归一化将top-1和top-5的错误率分别降低了1.4%和1.2%。
3.4 Overlapping Pooling
We generally observe during training that models with overlapping pooling find it slightly more difficult to overfit.
3.5 Overall Architecture
网络包含了八层权重:前五个是卷积层,其余三个为全连接层。最后的全连接层的输出被送到1000维的softmax函数,其产生1000个类的预测。我们的网络最大化多项逻辑回归目标,这相当于在预测的分布下最大化训练样本中正确标签对数概率的平均值。 第二,第四和第五个卷积层的内核仅与上一层存放在同一GPU上的内核映射相连。第三个卷积层的内核连接到第二层中的所有内核映射。全连接层中的神经元连接到前一层中的所有神经元。响应归一化层紧接着第一个和第二个卷积层。 在3.4节中介绍的最大池化层,后面连接响应归一化层以及第五个卷积层。将ReLU应用于每个卷积层和全连接层的输出。
4.Reducing Overfitting
介绍过拟合的两个方法
4.1Data Augmentation
数据增强的第一种形式包括平移图像和水平映射。
第二种形式的数据增强包括改变训练图像中RGB通道的灰度。
4.2Dropout
真正将Dropout运用到实际的网络结构。有一种非常有效的模型组合方法,在训练期间,只需要消耗1/2的参数。这个新发现的技术叫做“Dropout”[10],它会以50%的概率将隐含层的神经元输出置为0。以这种方法被置0的神经元不参与网络的前馈和反向传播。
5 Details of learning
随机梯度下降算法。并设置了各种初始化的参数。
6 Results
说明了自己的结果很好。通过图表的方式。
6.1 Qualitative Evaluations
显示了由网络的两个数据连接层学习得到的卷积内核。该网络已经学习到许多频率和方向提取的内核,以及各种色块。请注意两个GPU所展现的不同特性,这也是3.5节中介绍的限制互连的结果。GPU1上的内核在很大程度上与颜色无关,然而GPU2上的内核在很大程度上都于颜色有关。这种特异性在每次迭代期间都会发生,并且独立于任何特定的随机权重初始化过程(以GPU的重新编号为模)。
7Discussion
我们的研究结果表明,一个大的深层卷积神经网络能够在纯粹使用监督学习的情况下,在极具挑战性的数据集上实现破纪录的结果。值得注意的是,如果移除任何一个卷积层,网络的性能就会下降。例如,删除任何中间层的结果会导致网络性能的top-1错误率下降2%。因此网络的深度对于实现我们的结果真的很重要。
为了简化我们的实验,我们没有使用任何无监督的预训练方法,尽管这样可能会有所帮助,特别是如果我们获得了足够的计算能力来显著地增加网络的大小而不会相应地增加已标记数据的数量。到目前为止,我们的结果已经获得了足够的进步,因为我们已经使网络更大,并且训练了更长时间。但我们仍然有很大的空间去优化网络,使之能够像人类的视觉系统一样感知。最后,我们希望对视频序列使用非常大的深度卷积神经网路,其中时间结构提供了非常有用的信息,这些信息往往在静态图像中丢失了,或者说不太明显。