AlexNet论文(ImageNet Classification with Deep Convolutional Neural Networks)(译) |
您所在的位置:网站首页 › 论文中的classification › AlexNet论文(ImageNet Classification with Deep Convolutional Neural Networks)(译) |
前言
最近一直比较忙,总算才有时间看点深度学习的论文。这篇论文是大神Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton三人提出的AlexNet深度卷积神经网络,摘得了2010年ILSVRC比赛的桂冠。AlexNet在现在也经常会用到,可以说是很经典的一个CNN框架了。出于学习的目的,一方面可以做笔记,一方面也可以督促自己的学习,我才打算翻译下这篇论文。由于个人水平有限,翻译仅供参考,如有错误,欢迎交流指正。 下面是一些可能有用的参考资料: 论文原文:http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf 基于caffe的实现:http://caffe.berkeleyvision.org/gathered/examples/imagenet.html 翻译正文 ImageNet Classification with Deep Convolutional Neural Networks 摘要我们训练了一个庞大的深层卷积神经网络,将ImageNet LSVRC-2010比赛中的120万张高分辨率图像分为1000个不同的类别。在测试数据上,我们取得了37.5%和17.0%的前1和前5的错误率,这比以前的先进水平要好得多。具有6000万个参数和650,000个神经元的神经网络由五个卷积层组成,其中一些随后是最大池化层,三个全连接层以及最后的1000个softmax输出。为了加快训练速度,我们使用非饱和神经元和能高效进行卷积运算的GPU实现。为了减少全连接层中的过拟合,我们采用了最近开发的称为“dropout”的正则化方法,该方法证明是非常有效的。我们还在ILSVRC-2012比赛中使用了这种模式的一个变种,取得了15.3%的前五名测试失误率,而第二名的成绩是26.2%。 1、介绍目前,机器学习方法对物体识别非常重要。为了改善他们的表现,我们可以收集更大的数据集,训练更强大的模型,并使用更好的技术来防止过拟合。直到最近,标记好图像的数据集相对还较小——大约上万的数量级(例如,NORB [16],Caltech-101/256 [8,9]和CIFAR-10/100 [12])。使用这种规模的数据集可以很好地解决简单的识别任务,特别是如果他们增加了保留标签转换(label-preserving transformations)。例如,目前MNIST数字识别任务的最低错误率((x,y)(x,y)位置的ReLU非线性单元的输出,而响应归一化(Local Response Normalization)的输出值定义为 bix,y b x , y i : bix,y=aix,y(k+α∑min(N−1,i+n/2)j=max(0,i−n/2)(ajx,y)2)β b x , y i = a x , y i ( k + α ∑ j = max ( 0 , i − n / 2 ) m i n ( N − 1 , i + n / 2 ) ( a x , y j ) 2 ) β 其中,求和部分公式中的 n n 表示同一个位置下与该位置相邻的内核映射的数量,而NN表示这一层所有的内核数(即通道数)。内核映射的顺序当然是任意的,并且在训练之前就已经定好了。这种响应归一化实现了一种模仿真实神经元的横向抑制,从而在使用不同内核计算的神经元输出之间产生较大的竞争。常数 k k 、nn、 α α 和ββ都是超参数(hyper-parameters),它们的值都由验证集决定。我们取 k=2 k = 2 、 n=5 n = 5 、 α=10−4 α = 10 − 4 、 β=0.75 β = 0.75 。我们在某些层的应用ReLU后再使用这种归一化方法(参见第3.5节)。 这个方案与Jarrett等人[11]的局部对比归一化方案有些相似之处,但我们的被更准确地称为“亮度归一化”,因为我们没有减去均值。响应归一化将我们的top-1和top-5的错误率分别降低了1.4%和1.2%。我们还验证了这种方案在CIFAR-10数据集上的有效性:没有进行归一化的四层CNN实现了13%的测试错误率,而进行了归一化的则为11%。 3.4、重叠池化CNN中的池化层汇集了相同内核映射中相邻神经元组的输出。在传统方法中,相邻池化单元之间互不重叠(例如[17,11,4])。更准确地说,一个池化层可以被认为是由一些间隔为s个像素的池化单元组成的网格,每个都表示了一个以池化单元的位置为中心的大小为z×z的邻域。如果我们令s = z,我们就可以得到CNN中常用的传统的局部池化。如果我们令s 3.5、整体结构现在我们已经准备好描述CNN的整体架构了。如图2所示,这个网络包含了八层权重;前五个是卷积层,其余三个为全连接层。最后的全连接层的输出被送到1000维的softmax函数,其产生1000个类的预测。我们的网络最大化多项逻辑回归目标,这相当于在预测的分布下最大化训练样本中正确标签对数概率的平均值。 第二,第四和第五个卷积层的内核仅与上一层存放在同一GPU上的内核映射相连(见图2)。第三个卷积层的内核连接到第二层中的所有内核映射。全连接层中的神经元连接到前一层中的所有神经元。响应归一化层紧接着第一个和第二个卷积层。 在3.4节中介绍的最大池化层,后面连接响应归一化层以及第五个卷积层。将ReLU应用于每个卷积层和全连接层的输出。 我们的神经网络架构拥有6000万个参数。尽管ILSVRC的1000个类别使得每个训练样本从图像到标签的映射被限制在了10 bit之内,但这不足以保证训练这么多参数而不出现过拟合。下面,我们将介绍对付过度拟合的两个方法。 4.1、数据增强(Data Augmentation)减小过拟合的最简单且最常用的方法就是,使用标签保留转换(label-preserving transformations,例如[25,4,5]),人为地放大数据集。我们采用两种不同形式的数据增强方法,它们都允许通过很少的计算就能从原始图像中生成转换图像,所以转换后的图像不需要存储在硬盘上。在我们实现过程中,转换后的图像是使用CPU上的Python代码生成的,在生成这些转换图像的同时,GPU还在训练上一批图像数据。所以这些数据增强方案实际上是很高效的。 数据增强的第一种形式包括平移图像和水平映射。我们通过从256×256图像中随机提取224×224的图像块(及其水平映射)并在这些提取的图像块上训练我们的网络来做到这一点。这使我们的训练集的规模增加了2048倍,尽管由此产生的训练样本当然还是高度相互依赖的。如果没有这个方案,我们的网络就可能会遭受大量的的过拟合,可能会迫使我们不得不使用更小的网络。在测试时,网络通过提取5个224×224的图像块(四个角块和中心块)以及它们的水平映射(因此总共包括10个块)来进行预测,并求网络的softmax层的上的十个预测结果的均值。 第二种形式的数据增强包括改变训练图像中RGB通道的灰度。具体而言,我们在整个ImageNet训练集的图像的RGB像素值上使用PCA。对于每个训练图像,我们添加多个通过PCA找到的主成分,大小与相应的特征值成比例,乘以一个随机值,该随机值属于均值为0、标准差为0.1的高斯分布。因此,对于每个图像的RGB像素有: Ixy=[IRxyIGxyIBxy]T I x y = [ I x y R I x y G I x y B ] T ,我们加入如下的值: [p1p2p3][α1λ1α2λ2α3λ3]T [ p 1 p 2 p 3 ] [ α 1 λ 1 α 2 λ 2 α 3 λ 3 ] T 其中, pi p i 和 λi λ i 分别是3x3的RGB协方差矩阵的第 i i 个特征向量和第ii个的特征值,而 αi α i 是前面所说的随机值。对于一张特定图像中的所有像素,每个 αi α i 只会被抽取一次,知道这张图片再次用于训练时,才会重新提取随机变量。这个方案近似地捕捉原始图像的一些重要属性,对象的身份不受光照的强度和颜色变化影响。这个方案将top-1错误率降低了1%以上。 4.2、Dropout结合许多不同模型的预测结果是减少测试错误率的一种非常成功的方法[1,3],但对于已经花费数天时间训练的大型神经网络来说,它似乎成本太高了。然而,有一种非常有效的模型组合方法,在训练期间,只需要消耗1/2的参数。这个新发现的技术叫做“Dropout”[10],它会以50%的概率将隐含层的神经元输出置为0。以这种方法被置0的神经元不参与网络的前馈和反向传播。因此,每次给网络提供了输入后,神经网络都会采用一个不同的结构,但是这些结构都共享权重。这种技术减少了神经元的复杂适应性,因为神经元无法依赖于其他特定的神经元而存在。因此,它被迫学习更强大更鲁棒的功能,使得这些神经元可以与其他神经元的许多不同的随机子集结合使用。在测试时,我们试着使用了所有的神经元,并将它们的输出乘以0.5。这与采用大量dropout的网络产生的预测结果分布的几何均值近似。 我们在图2中的前两个全连接层上使用了dropout。没有dropout,我们的网络会出现严重的过拟合。Dropout大概会使达到收敛的迭代次数翻倍。 5、训练细节我们使用随机梯度下降法来训练我们的模型,每个batch有128个样本,动量(momentum)为0.9,权重衰减(weight decay)为0.0005。我们发现这种较小的权重衰减对于模型的训练很重要。换句话说,权重衰减在这里不仅仅是一个正则化方法:它减少了模型的训练误差。权重ω的更新法则是: vi+1:=0.9⋅vi−0.0005⋅ϵ⋅ωi−ϵ⋅⟨∂L∂ω|ωi⟩Diωi+1:=ωi+vi+1 v i + 1 := 0.9 ⋅ v i − 0.0005 ⋅ ϵ ⋅ ω i − ϵ ⋅ ⟨ ∂ L ∂ ω | ω i ⟩ D i ω i + 1 := ω i + v i + 1 其中, i i 表示当前的迭代次数,vv表示动量(momentum), ε ε 表示学习率, ⟨∂L∂ω|ωi⟩Di⟨∂L∂ω|ωi⟩Di是第 i i 批次的目标函数关于ww的导数( wi w i 的偏导数) Di D i 的平均值。 我们使用标准差为0.01、均值为0的高斯分布来初始化各层的权重。我们使用常数1来初始化了网络中的第二个、第四个和第五个卷积层以及全连接层中的隐含层中的所有偏置参数。这种初始化权重的方法通过向ReLU提供了正的输入,来加速前期的训练。我们使用常数0来初始化剩余层中的偏置参数。 我们对所有层都使用相同的学习率,在训练过程中又手动进行了调整。我们遵循的启发式方法是:以当前的学习速率训练,验证集上的错误率停止降低时,将学习速率除以10.学习率初始时设为0.01,并且在终止前减少3次。我们使用120万张图像的训练集对网络进行了大约90次迭代的训练,这在两块NVIDIA GTX 580 3GB GPU上花费了大约5到6天的时间。 6、结果我们在ILSVRC-2010上取得的结果如表1所示。我们的网络的top-1和top-5测试集错误率分别为37.5%和17.0%。在ILSVRC-2010比赛期间取得的最佳成绩是47.1%和28.2%,其方法是对六种不同的稀疏编码模型所产生的预测结果求平均[2]。此后公布的最佳结果为45.7%、25.7%,其方法是对两种经过密集采样的特征[24]计算出来的Fisher向量(FV)训练的两个分类器取平均值。 我们的网络实现了37.5%和17.0%的前1和前5个测试集错误率5。在ILSVRC-2010比赛期间取得的最佳成绩是47.1%和28.2%,其中一种方法是对六种针对不同特征进行训练的稀疏编码模型所产生的预测进行平均[2],此后最佳公布结果为45.7%, 25.7%,其中一种方法是:对两个在不同取样密度的Fisher向量上训练的分类器取平均。
我们的研究结果表明,一个大的深层卷积神经网络能够在纯粹使用监督学习的情况下,在极具挑战性的数据集上实现破纪录的结果。值得注意的是,如果移除任何一个卷积层,网络的性能就会下降。例如,删除任何中间层的结果会导致网络性能的top-1错误率下降2%。因此网络的深度对于实现我们的结果真的很重要。 为了简化我们的实验,我们没有使用任何无监督的预训练方法,尽管这样可能会有所帮助,特别是如果我们获得了足够的计算能力来显著地增加网络的大小而不会相应地增加已标记数据的数量。到目前为止,我们的结果已经获得了足够的进步,因为我们已经使网络更大,并且训练了更长时间。但我们仍然有很大的空间去优化网络,使之能够像人类的视觉系统一样感知。最后,我们希望对视频序列使用非常大的深度卷积神经网路,其中时间结构提供了非常有用的信息,这些信息往往在静态图像中丢失了,或者说不太明显。 参考文献[1] R.M. Bell and Y. Koren. Lessons from the netflix prize challenge. ACM SIGKDD Explorations Newsletter,9(2):75–79, 2007. [2] A. Berg, J. Deng, and L. Fei-Fei. Large scale visual recognition challenge 2010. www.imagenet.org/challenges. 2010. [3] L. Breiman. Random forests. Machine learning, 45(1):5–32, 2001. [4] D. Cire¸san, U. Meier, and J. Schmidhuber. Multi-column deep neural networks for image classification. Arxiv preprint arXiv:1202.2745, 2012. [5] D.C. Cire¸san, U. Meier, J. Masci, L.M. Gambardella, and J. Schmidhuber. High-performance neural networks for visual object classification. Arxiv preprint arXiv:1102.0183, 2011. [6] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. ImageNet: A Large-Scale Hierarchical Image Database. In CVPR09, 2009. [7] J. Deng, A. Berg, S. Satheesh, H. Su, A. Khosla, and L. Fei-Fei. ILSVRC-2012, 2012. URL http://www.image-net.org/challenges/LSVRC/2012/. [8] L. Fei-Fei, R. Fergus, and P. Perona. Learning generative visual models from few training examples: An incremental bayesian approach tested on 101 object categories. Computer Vision and Image Understanding, 106(1):59–70, 2007. [9] G. Griffin, A. Holub, and P. Perona. Caltech-256 object category dataset. Technical Report 7694, California Institute of Technology, 2007. URL ttp://authors.library.caltech.edu/7694. [10] G.E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R.R. Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580, 2012. [11] K. Jarrett, K. Kavukcuoglu, M. A. Ranzato, and Y. LeCun. What is the best multi-stage architecture for object recognition? In International Conference on Computer Vision, pages 2146–2153. IEEE, 2009. [12] A. Krizhevsky. Learning multiple layers of features from tiny images. Master’s thesis, Department of Computer Science, University of Toronto, 2009. [13] A. Krizhevsky. Convolutional deep belief networks on cifar-10. Unpublished manuscript, 2010. [14] A. Krizhevsky and G.E. Hinton. Using very deep autoencoders for content-based image retrieval. In ESANN, 2011. [15] Y. Le Cun, B. Boser, J.S. Denker, D. Henderson, R.E. Howard, W. Hubbard, L.D. Jackel, et al. Handwritten digit recognition with a back-propagation network. In Advances in neural information processing systems, 1990. [16] Y. LeCun, F.J. Huang, and L. Bottou. Learning methods for generic object recognition with invariance to pose and lighting. In Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the 2004 IEEE Computer Society Conference on, volume 2, pages II–97. IEEE, 2004. [17] Y. LeCun, K. Kavukcuoglu, and C. Farabet. Convolutional networks and applications in vision. In Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on, pages 253–256. IEEE, 2010. [18] H. Lee, R. Grosse, R. Ranganath, and A.Y. Ng. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. In Proceedings of the 26th Annual International Conference on Machine Learning, pages 609–616. ACM, 2009. [19] T. Mensink, J. Verbeek, F. Perronnin, and G. Csurka. Metric Learning for Large Scale Image Classification: Generalizing to New Classes at Near-Zero Cost. In ECCV - European Conference on Computer Vision, Florence, Italy, October 2012. [20] V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In Proc. 27th International Conference on Machine Learning, 2010. [21] N. Pinto, D.D. Cox, and J.J. DiCarlo. Why is real-world visual object recognition hard? PLoS computational biology, 4(1):e27, 2008. [22] N. Pinto, D. Doukhan, J.J. DiCarlo, and D.D. Cox. A high-throughput screening approach to discovering good forms of biologically inspired visual representation. PLoS computational biology, 5(11):e1000579, 2009. [23] B.C. Russell, A. Torralba, K.P. Murphy, and W.T. Freeman. Labelme: a database and web-based tool for image annotation. International journal of computer vision, 77(1):157–173, 2008. [24] J. Sánchez and F. Perronnin. High-dimensional signature compression for large-scale image classification. In Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on, pages 1665–1672. IEEE, 2011. [25] P.Y. Simard, D. Steinkraus, and J.C. Platt. Best practices for convolutional neural networks applied to visual document analysis. In Proceedings of the Seventh International Conference on Document Analysis and Recognition, volume 2, pages 958–962, 2003. [26] S.C. Turaga, J.F. Murray, V. Jain, F. Roth, M. Helmstaedter, K. Briggman, W. Denk, and H.S. Seung. Convolutional networks can learn to generate affinity graphs for image segmentation. Neural Computation, 22(2):511–538, 2010. |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |