【论文阅读】AlexNet:ImageNet Classification with Deep Convolutional Neural Networks

论文

ImageNet Classification with Deep Convolutional Neural Networks

论文地址

https://dl.acm.org/doi/pdf/10.1145/3065386

摘要

训练了一个大型的深度卷积神经网络,将ImageNet LSVRC-2010竞赛中的120万张高分辨率图像分为1000个不同的类。在测试数据上,我们实现了37.5%和17.0%的top-1和top-5错误率,这比之前的最先进的技术要好得多。
该神经网络有6000万个参数和65万个神经元,由5个卷积层组成,其中一些层后面是最大池化层,还有3个全连接层,最后是1000 softmax。为了提高训练速度,我们使用了非饱和神经元和卷积运算的一个非常高效的GPU实现。为了减少全连接层中的过拟合,我们采用了一种最近开发的称为“dropout”的正则化方法,该方法被证明非常有效。
在现实环境中的物体表现出相当大的可变性,因此,为了学会识别它们,有必要使用更大的训练集。事实上,小图像数据集的缺点已经被广泛认识到(例如,Pinto et al[21]),但直到最近才有可能收集带有数百万张图像的标记数据集。新的更大的数据集包括LabelMe[23]和ImageNet[6],前者由数十万张完全分割的图像组成,后者由超过22000个类别的超过1500万张标记的高分辨率图像组成。


1 本文的具体贡献

对ILSVRC-2010和ILSVRC-2012比赛中使用的ImageNet子集训练了迄今为止最大的卷积神经网络之一[2],并取得了迄今为止在这些数据集上报道的最佳结果。编写了一个高度优化的2D卷积GPU实现和训练卷积神经网络所固有的所有其他操作,并将其公开。
本文网络包含许多新的和不寻常的功能,这些功能提高了其性能并缩短了其训练时间,详见【网络结构】那一节。本文网络的大小使过拟合成为一个重要问题,即使有120万个标记训练示例,也使用了一些有效的技术来防止过拟合,【减少过度拟合】那一节所述。
本文的最终网络包含五个卷积和三个完全连接的层,这个深度似乎很重要:我们发现删除任何卷积层(每个卷积层包含的模型参数不超过1%)都会导致性能下降。
网络的大小主要受到当前GPU上可用内存量和我们愿意接受的培训时间的限制。只要等待更快的GPU和更大的数据集可用,结果就可以得到改进。


2 数据集

ImageNet是一个包含1500多万个标签高分辨率图像的数据集,这些图像属于大约22000个类别。从2010年开始,作为Pascal视觉对象挑战赛的一部分,每年举行一次名为ImageNet大规模视觉识别挑战赛(ILSVRC)的比赛。ILSVRC使用ImageNet的子集,在1000个类别中的每个类别中大约有1000个图像。总共大约有120万张训练图像、50000张验证图像和150000张测试图像。ILSVRC-2010是唯一有测试集标签的ILSVRC版本,因此这是我们进行大多数实验的版本。由于我们也在ILSVRC-2012竞赛中输入了我们的模型,因此在【结果】这节中,也报告了关于该版本数据集的结果,因为测试集标签不可用,因此在ImageNet上,通常报告两个错误率:top 1和top 5


3 网络架构

在这里插入图片描述
八个学习层——五个卷积层和三个完全连接层。最后一个全连接层的输出被馈送到1000路softmax,它产生了1000个类标签的分布。
第一个卷积层用96个大小为11×11×3的核过滤224×224×3输入图像,步幅为4像素。第二个卷积层将第一个卷积层的输出(响应归一化和池化)作为输入,并用256个大小为5×5×48的核对其进行过滤。第三、第四和第五卷积层相互连接,没有任何中间的池化层或归一化层。第三个卷积层有384个大小为3×3×256的核,连接到第二个卷积层的(归一化的、池化的)输出。第四卷积层有384个3×3×192大小的核,第五卷积层有256个3×3×192大小的核。全连接层每层有4096个神经元。

本文网络最大化了多项逻辑回归目标,这相当于最大化了预测分布下正确标签的对数概率跨训练案例的平均值。
第二层、第四层和第五层的内核只连接到上一层位于同一GPU上的内核映射(见图)。第三层卷积层的内核连接到第二层的所有内核映射。全连通层中的神经元与前一层中的所有神经元相连。响应归一化层紧随第一和第二卷积层。在最大池化层紧随响应归一化层和第五个卷积层。将ReLU非线性应用于每一个卷积和全连通层的输出。

ReLU 非线性

神经元的输出 f 建模为其输入x的函数的标准方法是f(x)=tanh(x)就梯度下降的训练时间而言,这些饱和非线性比非饱和非线性f(x)=max(0,x)慢得多。带有ReLU的深度卷积神经网络的训练速度比具有tanh单位的等效网络快几倍。它显示了特定四层卷积网络的CIFAR-10数据集达到25%训练误差所需的迭代次数。
在这里插入图片描述
这张图表明,如果我们使用传统的饱和神经元模型,我们将无法用如此大的神经网络进行实验。

训练两个GPU

单个GTX 580 GPU只有3GB内存,这限制了可以在其上训练的网络的最大大小。事实证明,120万个训练示例足以训练一个GPU无法容纳的网络。因此,我们将网络扩展到两个GPU。当前的GPU特别适合跨GPU并行化,因为它们能够直接读取和写入彼此的内存,而无需经过主机内存。我们采用的并行化方案本质上把一半的内核(或神经元)放在每个GPU上,还有一个额外的技巧:GPU只在特定的层中通信。这意味着,例如,第3层的内核从第2层的所有内核映射获取输入。但是,第4层的内核仅从位于同一GPU上的第3层内核映射获取输出。选择连接模式是交叉验证的一个问题,但这允许我们精确地调整通信量,直到它成为计算量的可接受部分。
合成的架构与Cire,san等人[5]使用的“柱状”CNN的架构有些相似,只是我们的柱不是独立的(见图2)。与在一个GPU上训练的每个卷积层中有一半内核的网络相比,该方案将我们的前1和前5错误率分别降低了1.7%和1.2%。两个GPU网络的训练时间略少于一个GPU网。

局部响应归一化LRN

ReLU有一个理想的特性,即它们不需要输入归一化来防止饱和。如果至少有一些训练实例产生正向输入到ReLU,学习就会在那个神经元中发生。然而,我们仍然发现下面的局部归一化方案有助于泛化。用aix,y表示在(x, y)位置应用核i计算神经元的活动,然后应用ReLU非线性,响应归一化活动bix,y由表达式给出:
在这里插入图片描述
其中求和在同一空间位置的n个“相邻”核映射上运行,n为层中核的总数。内核映射的顺序当然是任意的,并且是在训练开始之前确定的。这种响应归一化实现了一种由真实神经元中发现的类型激发的横向抑制形式,在使用不同核计算的神经元输出之间创造了对大型活动的竞争。常数k, n,α和β是超参数,其值由验证集确定。我们在某些层中应用了ReLU非线性之后应用了这个归一化。
该方案与Jarrett等人[11]的局部对比度归一化方案有一些相似之处,但我们的方案更准确地称为“亮度归一化”,因为我们没有减去平均活度。响应归一化将我们的前1和前5错误率分别降低了1.4%和1.2%。
我们还在CIFAR-10数据集上验证了该方案的有效性:一个四层CNN在未归一化的情况下实现了13%的测试错误率,在归一化后实现了11%的测试错误率。

重叠池化层

CNN中的池化层汇总了同一内核映射中相邻神经元组的输出。传统上,由相邻池单元总结的邻域不重叠(例如,[17,11,4])。更准确地说,池化层可以被认为是由池化单元网格组成,池化单元之间间隔s个像素(Stride),每个单元汇总以池化单元位置为中心的大小为z × z的邻域。如果我们设置s = z,我们得到传统的本地池,通常在cnn中使用。如果我们设s < z,我们得到重叠池。这是我们在整个网络中使用的,s = 2 z = 3。与非重叠方案s = 2, z = 2相比,该方案将top-1和top-5错误率分别降低了0.4%和0.3%,且输出的维数相等。在训练过程中,我们通常观察到重叠池的模型过拟合难度略高。


4 减少过度拟合

本文神经网络架构有六千万个参数。尽管ILSVRC的1000个类使每个训练示例对从图像到标签的映射施加10位约束,但事实证明,这不足以在没有相当大的过拟合的情况下学习如此多的参数。两种对抗过拟合的主要方法:

数据增强

减少图像数据过拟合的最简单和最常见的方法是使用标签保持转换人为地扩大数据集(例如,[25,4,5])。我们采用了两种不同的数据增强形式,这两种形式都允许用很少的计算从原始图像生成转换后的图像,因此转换后的图像不需要存储在磁盘上
第一种形式的数据增强包括生成图像平移和水平反射。
第二种形式的数据增强包括改变训练图像中RGB通道的强度。

正则化(dropout)

最近引入的技术称为“dropout”[10],包括将每个隐藏神经元的输出设置为零,概率为0.5。以这种方式被“丢弃”的神经元不参与正向传递,也不参与反向传播。所以每次输入出现时,神经网络取样一个不同的体系结构,但所有这些体系结构都共享权重。这种技术减少了神经元之间复杂的相互适应,因为一个神经元不能依赖于其他特定神经元的存在。因此,它被迫学习更强健的特征,以便与其他神经元的许多不同随机子集结合起来使用。在测试时,我们使用所有的神经元,但将它们的输出乘以0.5,这是一个合理的近似,取由指数级多的退出网络产生的预测分布的几何平均值。
我们在本文网络中的前两个完全连接层中使用dropout。没有dropout,网络表现出严重的过拟合。dropout大约使收敛所需的迭代次数翻倍。

5 学习的细节

我们使用随机梯度下降训练我们的模型,批次大小为128个样本,动量为0.9,权重衰减为0.0005。我们发现,这少量的权值衰减对模型的学习很重要。换句话说,这里的权值衰减不仅是正则化的:它减少了模型的训练误差。
权值w更新的规则:
在这里插入图片描述
i 为迭代指标,v为动量变量,ε是学习率,最后是目标对w求导的第i批Di在wi处的平均值。从标准差为0.01的零均值高斯分布初始化每一层的权重。我们用常数1初始化了第二、第四和第五卷积层以及全连接隐层中的神经元偏置。这种初始化通过向ReLU提供积极的输入来加速早期阶段的学习。我们用常数0初始化其余层中的神经元偏置。
对所有层使用了相同的学习率,并在整个训练过程中手动调整学习率。验证错误率随着当前学习率停止改善时,学习率除以10。学习率初始值为0.01,终止前降低3倍。本文通过120万张图像的训练集对网络进行了大约90个周期的训练,在两个onvidia GTX580 3GB gpu上花了5到6天的时间。

6 结果

我们的网络实现了top-1和top-5测试集错误率分别为37.5%和17.0%。在ILSVRC2010竞赛中,使用六种稀疏编码模型在不同特征[2]上训练产生的预测的平均方法获得的最佳性能分别为47.1%和28.2%。此后,使用两种分类器在两种密集采样特征[24]上计算的Fisher向量(FVs)上训练产生的预测的平均方法获得的最佳结果分别为45.7%和25.7%。
在这里插入图片描述
本文中描述的CNN达到了18.2%的前5个错误率。将五个相似cnn的预测平均起来,错误率为16.4%。训练一个CNN,在最后一个池化层上加上额外的第六个卷积层,对整个ImageNet秋季2011版本进行分类(15M张图片,22K个类别),然后在ILSVRC-2012上“微调”,错误率为16.6%。将两个预先训练的cnn对整个2011年秋季版本的预测与前述五个cnn的预测平均起来,错误率为15.3%。第二好的竞赛条目取得了26.2%的错误率,使用的方法是将几个分类器在不同类型的密集采样特征[7]计算的fv上训练的预测平均值。
在这里插入图片描述
我们遵循文献中的惯例,使用一半的图像进行训练,另一半用于测试。由于没有现成的测试集,我们的分割必然不同于前面的作者使用的分割,但这并不显著地影响结果。我们在这个数据集中的前1和前5的错误率是67.4%和40.9%,通过上述网络实现,但在最后的池化层上增加了额外的第六卷积层。该数据集上发表的最佳结果是78.1%和60.9%

定性评估

该图显示了由网络的两个数据连接层学习的卷积核。该网络已经学习了各种频率和方向选择的核,以及各种颜色的斑点。GPU 1上的内核在很大程度上与颜色无关,而GPU 2上的内核在很大程度上与颜色相关。这种专门化发生在每次运行期间,并且独立于任何特定的随机权重初始化(对gpu的重新编号取模)
在这里插入图片描述
(左)8个ILSVRC-2010测试图像和我们的模型认为最可能的5个标签。正确的标签被写在每张图片下面,分配给正确标签的概率也用红色条显示。
(右)第一列的5张ILSVRC-2010测试图片。其余的列显示了六个训练图像,它们在最后一个隐层中产生与测试图像的特征向量的欧氏距离最小的特征向量

在图中的左面板中,我们通过计算8张测试图像上的前5个预测,定性地评估网络学习到了什么。请注意,即使偏离中心的物体,如左上角的螨虫,也能被网识别。前5名中的大多数标签看起来都是合理的。例如,只有其他类型的猫才被认为是豹的合理标签。在某些情况下(格栅,樱桃),照片的预期焦点确实是模糊的。另一种探测网络视觉知识的方法是考虑图像在最后4096维隐藏层诱导的特征激活。如果两个图像产生的特征激活向量具有较小的欧氏分离,我们可以说,较高层次的神经网络认为它们是相似的。图中显示了来自测试集的5张图像和来自训练集的6张图像,根据这种度量,它们与每一张图像都最相似。
通过使用两个4096维实值向量之间的欧氏距离计算相似性是低效的,但可以通过训练自动编码器将这些向量压缩为短二进制代码来提高效率。这将产生比对原始像素[14]应用自动编码器更好的图像检索方法,自动编码器不使用图像标签,因此倾向于检索具有相似边缘模式的图像,无论它们是否语义相似

6 结论

结果表明,使用纯监督学习,一个大型的深度卷积神经网络能够在高度具有挑战性的数据集上实现破纪录的结果。值得注意的是,如果删除一个卷积层,我们的网络性能会下降。例如,删除任何中间层都会导致网络的top-1性能损失约2%。所以深度对我们的研究结果非常重要。
为了简化我们的实验,我们没有使用任何无监督的预训练,尽管我们期望它会有所帮助,特别是当我们获得足够的计算能力来显著增加网络的大小,而没有获得相应的标记数据量的增加时。到目前为止,我们的结果已经得到了改善,因为我们把我们的网络做得更大了,训练的时间也更长了,但为了匹配人类视觉系统的颞下通路,我们还有很多数量级的工作要做。最后,我们希望在视频序列上使用非常大且深度的卷积网络,在这些视频序列中,时间结构提供了非常有用的信息,而这些信息在静态图像中是缺失的或远不明显的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值