AlexNet: ImageNet Classification with Deep Convolutional Neural Networks (2012) 全文翻译

作者:Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton

摘要

我们训练了一个比较大的深度卷积神经网络对ImageNet LSVRC-2010图像分类比赛中的120万张高分辨率图像分成1000个不同的类别。在测试数据上,我们分别获得了top-1错误率37.5%和top-5错误率17%的结果,比以前的最好技术要好得多。该网络有6000万参数和65万个神经元,包括5个卷积层,一些卷积层后连接着最大池化层,之后是3个全连接层,最后是一个1000分类的softmax层。为了使训练更快,我们使用非饱和神经元和卷积操作的一个非常高效的GPU实现。为了减少全连接层的过拟合现象,我们应用了最近提出的“dropout”方法,这证明是非常高效的,我们也在ILSVRC-2012比赛中加入了这个模型的一个变体,获得了top-5测试错误率15.3%的结果,而第二名获得了26.2%的top-5错误率。

1. 序幕

四年之前,Yann LeCun和他的同事的论文被顶级计算机视觉会议拒绝,因为该论文使用了神经网络,然而不能明确阐述如何设计一个视觉系统。那个时候,绝大多数计算机视觉研究者认为,一个视觉系统需要通过对任务本质的透彻理解来细致地手绘,他们认为将自然图像中的物体分类的任务永远不会通过仅仅展示图像样本和物体的名字来解决,而他们的神经网络却从训练数据中获得了所有知识。
计算机视觉研究界中的许多人没有意识到的是,了解领域知识的程序员精心设计的方法无法扩展,用功能强大的通用学习程序代替程序员的方法也无法扩展。有了足够的计算量和足够的数据,学习方式才能胜过对复杂任务的手动编程,而这些复杂任务需要集成各种各样的东西。
四年前,当我们在多伦多大学学习时,我们称为SuperVision的深度神经网络几乎将识别自然图像中的物体的错误率降低了一半,并将计算机视觉领域的一些过去的模型迁移到我们的模型上。
图4显示了SuperVision可以做的一些示例。
SuperVision是从1980年代广泛研究的多层神经网络发展而来的。这些网络使用了多层特征检测器,这些特征检测器都是从训练数据中学到的。神经科学家和心理学家曾假设,这种特征检测器的层次结构将提供识别对象的可靠方法,但他们不知道如何学习这种层次结构。1980年代,几个不同的研究小组发现,可以使用称为反向传播的相对简单的算法为每幅图像高效地训练多层特征检测器,以针对每幅图像计算整个网络的分类性能所依赖的每个连接的权重值,这一事件在当时引起了极大的兴奋。
反向传播可以很好地完成各种任务,但是在1980年代,它并没有达到其倡导者的很高期望。特别是,事实证明,学习具有多层结构的网络非常困难,而这些正是最应该给人深刻印象的网络。许多研究人员错误地得出结论,从随机初始权重学习深度神经网络实在太困难了。二十年后,我们知道出了什么问题:要使深度神经网络大放异彩,它们需要更多的带标签数据和更多的计算量。

2. 引言

当前的物体识别方法主要使用机器学习方法。为了提高其性能,我们可以收集更大的数据集,学习更强大的模型,并使用更好的技术来防止过拟合。直到最近,带标签图像的数据集还相对较小——约数万个图像(例如,NORB,Caltech-101/256 和 CIFAR-10/100)。使用这种大小的数据集可以很好地解决简单的识别任务,特别是如果使用保留标签的转换来增强它们的话。例如,MNIST数字识别任务上的当前最佳错误率(<0.3%)接近人类的表现。但是现实环境中的物体表现出相当大的可变性,因此要学会识别它们,有必要使用更大的训练集。实际上,小图像数据集的缺点已得到广泛认可,但是直到最近收集带有数百万个图像标记的数据集才变得可能。新的更大数据集包括LabelMe和ImageNet,LabelMe由成千上万个完全分割的图像组成,ImageNet由1500万个带标签的高分辨率图像组成,这些图像包含22,000多个类别。
要从数百万个图像中学习数千个物体,我们需要一个具有较大学习能力的模型。然而,物体识别任务的巨大复杂性意味着,即使像ImageNet这样大的数据集也无法分类此问题,因此我们的模型还应该具有很多先验知识,以弥补我们所没有的数据。卷积神经网络就是这样的模型。可以通过改变其深度和宽度来控制卷积神经网络的性能,并且它们还对图像的性质(即统计的平稳性和像素的局部性)做出了强烈且几乎正确的假设。因此,相较于具有相似大小的层的标准前馈神经网络,CNN的连接和参数要少得多,因此更易于训练,而其理论上的最佳性能可能只会稍差一些。尽管CNN具有吸引人的特性,并且尽管其局部架构相对有效,但将它们大规模应用于高分辨率图像仍然非常昂贵。幸运的是,当前的GPU与高度优化的2D卷积实现相结合,功能强大到足以训练相当大型的CNN,而最近的数据集(如ImageNet)包含足够多的带标签样本,可以用来训练此类模型而不会出现严重的过拟合。
本文的具体贡献如下:我们在ImageNet大规模视觉识别挑战赛(ILSVRC-2010)和(ILSVRC-2012)竞赛中使用的ImageNet子集上训练了迄今为止最大的CNN之一,到目前为止,在这些数据集上取得了迄今为止最好的结果。我们编写了高度优化的2D卷积GPU实现,以及训练CNN所该有的所有其他操作,我们将这些实现公开提供。我们的网络包含许多新的和特殊的功能,这些功能可改善其性能并减少训练时间,有关详细信息,请参见第4部分。即使有120万个带有标签的训练样本,我们的网络仍然存在过拟合问题,我们采用了一些高效的技术来解决这个问题,这将在第5节中进行介绍。我们的最终网络包含五个卷积层和三个全连接层,这个深度很重要:我们发现删除了任何卷积层(每个卷积层中有不超过1%的模型参数)将导致性能降低。
最后,网络的大小主要受限于当前GPU可用内存的大小以及我们能够接受的训练时间的长短。我们的网络在两个GTX 580 3GB GPU上需要5到6天的训练时间。我们所有的实验都表明,只需要更快的GPU和更大的数据集就可以改善我们的结果。

3. 数据集

ImageNet是一个包括超过1500万张带标签的高分辨率图像的数据集,这些图像大约属于22,000个类别。这些图像是从网上收集的,并由人工标注者使用亚马逊的Mechanical Turk crowd-sourcing工具进行标注。从2010年开始,作为Pascal视觉对象挑战赛的一部分,每年举行一次名为ImageNet大规模视觉识别挑战赛(ILSVRC)。ILSVRC使用ImageNet的子集,在1000个类别中的每个类别中大约包含1000张图像。总共大约有120万张训练图像,50,000张验证图像和150,000张测试图像。
ILSVRC-2010是ILSVRC唯一拥有测试集标签的版本,因此这也是我们进行绝大部分实验的版本。由于我们也在ILSVRC-2012竞赛中输入了我们的模型,因此在第7节中,我们也报告了该版本数据集的结果,这些数据集没有测试集标签。在ImageNet上,通常报告两个错误率:top-1和top-5,其中top-5错误率是测试图像中正确的标签不在模型认为最可能的五个标签中的比例。
ImageNet由可变分辨率的图像组成,而我们的系统需要恒定的输入大小。因此,我们将图像下采样为256×256的固定分辨率。给定一个矩形图像,我们首先对图像进行缩放,以使较短的一边的长度为256,然后从生成的图像中裁剪出中心的256×256的块。除了从每个像素中减去训练样本的平均值以外,我们没有用其他任何方式对图像进行预处理。因此,我们用像素的原始RGB值训练了我们的网络。

4. 体系结构

我们网络的体系结构如图2所示。它包含8个可学习的层,5个卷积层和3个全连接层。下面,我们描述网络架构的一些新颖或不寻常的功能。根据我们对它们的重要性的估计,对第4.1–4.4节进行了排序,其中最重要的是第一个。

4.1 ReLU非线性激活函数

根据输入 x x x来模拟神经元输出 f f f的标准方法是 f ( x ) = tanh ⁡ ( x ) f(x)=\tanh(x) f(x)=tanh(x) f ( x ) = ( 1 + e − x ) − 1 f(x)=(1+e^{-x})^{-1} f(x)=(1+ex)1。就梯度下降的训练时间而言,这些饱和的非线性函数要比非饱和的非线性函数 f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)慢得多。在Nair和Hinton之后,我们将具有这种非线性的神经元称为整流线性单位(ReLUs)。具有ReLU单元的深层卷积神经网络的训练速度比具有 tan ⁡ h \tan h tanh单元的相同卷积神经网络快几倍。这在图1中得到了证明,图1显示了对于特定的四层卷积网络,在CIFAR-10数据集上达到25%的训练误差所需的迭代次数。该图表明,如果使用传统的饱和神经元模型,我们将无法使用如此大型的神经网络进行这项工作。
我们不是第一个在CNN中考虑替代传统神经元模型的人。例如,Jarrett 等人声称,非线性函数 f ( x ) = ∣ t a n h ( x ) ∣ f(x)=|tanh(x)| f(x)=tanh(x)在其相应的归一化以及随后在Caltech-101数据集上进行的局部平均池化下特别有效。但是,在CIFAR-10数据集上,主要的问题是防止过拟合,因此,他们所观察到的效果与我们使用ReLU时达到同样效果所需训练的速度不同。更快的学习速度对在大型数据集上训练大型模型的性能有很大影响。
AlexNet: ImageNet Classification with Deep Convolutional Neural Networks (2012) 全文翻译_第1张图片

图1 具有ReLUs的四层卷积神经网络(实线)在CIFAR-10上达到25%的训练错误率,比具有tanh神经元的等效网络(虚线)快六倍。 每个网络的学习率是独立选择的,以使训练尽可能快。没有使用任何形式的正则化。 此处显示的效果随网络体系结构而异,但是具有ReLU的网络始终比饱和神经元的等效网络学习速度快几倍

4.2 在多块GPU上进行训练

单个GTX 580 GPU仅具有3GB内存,这限制了可以在其上训练的网络的最大大小。事实证明,120万个训练样本足以训练因为太大而无法安装在一个GPU上的网络。 因此,我们将网络分布在两个GPU上。 当前的GPU特别适合跨GPU并行化,因为它们能够直接读取和写入彼此的内存,而无需通过主机内存。 实际上,我们采用的并行化方案将每个特征图的一半(或神经元)放在每个GPU上,还有另外一个技巧:GPU仅在某些层进行通信。 这意味着,例如,第3层的特征图从第2层的所有特征图中获取输入。但是,第4层的特征图仅从第3层中位于同一GPU上的那些特征图中获取输入。选择连接模式是交叉验证的一个问题,但这使我们可以精确地调整通信量,直到每个GPU的计算量都可以接受。
所得的体系结构与Ciresan等人使用的“ columnar” CNN的体系结构有些相似,不同之处在于我们的GPU不是独立的(参见图2)。与在一个GPU上训练的每个卷积层中卷积核数量减少一半的网络相比,该方案分别将我们的top-1和top-5错误率降低了1.7%和1.2%。 两个GPU网络的训练时间比一个GPU网络少。
(在最终的卷积层中,一个GPU网络实际上具有与两个GPU网络相同的卷积核数量。 这是因为大多数网络的参数都在第一个全连接层中,该层将最后一个卷积层作为输入。因此,为了使两个网络具有大致相同数量的参数,我们没有将最终卷积层的大小减半(也没有将随后的全连接层的大小减半)。 因此,我们比较偏向于使用两个独立的GPU网络,因为每个GPU网络比两个GPU网络的“一半”大。)

4.3 局部响应归一化

ReLU具有理想的特性,该函数不需要输入归一化即可防止饱和。 如果一些训练样本对ReLU产生了正向的输入,那么该神经元就会进行学习。 但是,我们仍然发现以下局部归一化方案有助于泛化。 用 a x , y i a_{x,y}^i ax,yi表示神经元的值,该值是通过在位置 ( x , y ) (x,y) (x,y)处应用卷积核 i i i,然后再应用ReLU非线性函数来计算的,该响应归一化的值 b x , y i b_{x,y}^i bx,yi由以下表达式给出
b x , y i = a x , y i / ( k + α ∑ j = max ⁡ ( 0 , i − n / 2 ) min ⁡ ( N − 1 , i + n / 2 ) ( a x , y j ) 2 ) β b_{x,y}^i=a_{x,y}^i/(k+\alpha\sum_{j=\max(0, i-n/2)}^{\min(N-1, i+n/2)}(a_{x,y}^j)^2)^\beta bx,yi=ax,yi/(k+αj=max(0,in/2)min(N1,i+n/2)(ax,yj)2)β
其中,在相同的空间位置上遍历n个相邻的特征图并求和,而N是该层中卷积核数。特征图的顺序当然是任意的,并且在训练开始之前确定。 这种响应归一化实现了一种由实际神经元中发生的类型激发的横向抑制形式,从而在使用不同卷积核计算的神经元输出中竞争大值。 常数 k k k n n n α \alpha α β \beta β是超参数,其值是使用验证集确定的; 我们使用 k = 2 k = 2 k=2 n = 5 n = 5 n=5 α = 1 0 − 4 \alpha= 10^{-4} α=104 β = 0.75 β= 0.75 β=0.75。 在某些层中应用ReLU非线性函数之后,我们应用了局部响应归一化(请参见第4.5节)。
该方案与Jarrett等人的局部归一化方案有些相似,但由于我们不减去平均值,因此我们将其称为“亮度归一化”。 响应归一化使我们的top-1和top-5错误率分别降低了1.4%和1.2%。 我们还在CIFAR-10数据集上验证了该方案的有效性:四层CNN在未进行归一化的情况下实现了13%的测试错误率,在进行归一化的情况下实现了11%的测试错误率。
(由于空间限制,我们无法详细描述此网络,但是在以下文件提供的代码和参数中精确地描述了该网络:http://code.google.com/p/cuda-convnet/。)

4.4 池化层

CNN中的池化层汇总了同一特征图中的同组神经元的输出。 通常,由相邻池化单元得到的邻域不重叠(例如,参考文献5、13、20)。更准确地说,可以将池化层视为由间隔为s个像素的池化单元的网格组成,每个网格都汇总了以池化单元的位置为中心的大小为z×z的邻域。 如果设置s = z,我们将获得CNN中常用的局部池化层。 如果设置s < z,则获得重叠池化层。 这是我们在整个网络中使用的值,其中s = 2,z =3。与非重叠方案s = 2,z = 2相比,该方案分别将top-1和top-5的错误率降低了0.4%和0.3%,而这两种方案产生相同的输出维度。 我们通常会在训练过程中观察到,具有重叠池化层的模型更不容易发生过拟合。
AlexNet: ImageNet Classification with Deep Convolutional Neural Networks (2012) 全文翻译_第2张图片
图2. CNN架构的图示,明确展示了两个GPU之间的职责划分。一个GPU在图的顶部运行一部分卷积网络,而另一个GPU在图的底部运行一部分卷积网络。GPU仅在某些层之间进行通信。网络的输入为150528维,网络其余层的神经元数量为290400–186624–64896–64896–43264–4096–4096-1000

4.5 整体架构

现在,我们准备描述CNN的总体架构。如图2所示,该网络包含8个带权重的层。前五个是卷积层,其余三个是全连接层。 最后一个全连接层的输出被送到1000路的softmax,后者在1000类标签上进行分类。 我们的网络将多项式逻辑回归目标最大化,这等效于在预测类别下最大化训练样本的正确标签的对数概率的平均值。
第二,第四和第五个卷积层的特征图仅连接到位于同一GPU的上一层中的那些特征图(请参见图2)。第三个卷积层的特征图连接到第二层中的所有特征图。全连接层中的神经元连接到上一层中的所有神经元。 第一和第二个卷积层后是响应归一化层。 第4.4节中描述的最大池化层位于响应归一化层和第五个卷积层之后。 ReLU非线性函数应用于每个卷积层和全连接层的输出。
第一个卷积层使用4个像素的步长(这是特征图中相邻神经元的感受野中心之间的距离)过滤具有96个11×11×3大小的卷积核的224×224×3的输入图像。 第二个卷积层将第一个卷积层的(响应归一化和池化后的)输出作为输入,并使用大小为5×5×48的256个卷积核对其进行过滤。第三,第四和第五个卷积层彼此连接,而没有任何中间的池化或归一化层。 第三个卷积层具有384个大小为3×3×256的卷积核,这些卷积核与第二个卷积层的(归一化,池化后的)输出相连接。 第四个卷积层具有384个3×3×192大小的卷积核,第五个卷积层具有256个3×3×192个大小的卷积核。全连接层每个都有4096个神经元。

5. 减少过拟合

我们的神经网络架构具有6000万个参数。 尽管ILSVRC的1000个类别使每个训练样本在从图像到标签的映射上增加10位,但事实证明,如果学习这么多参数而又不考虑过拟合的情况是不够的。 下面,我们描述了减少过拟合的两种主要方法。

5.1 数据增强

减少图像数据过拟合的最简单、最常见的方法是使用保留标签的变换(例如,参考文献4、5、30)人工增大数据集。我们采用两种不同的数据增强形式,这两种形式都允许通过很少的计算就可以从原始图像生成转换后的图像,因此不需要将转换后的图像存储在磁盘上。 在我们的实现中,当GPU训练上一批图像时,转换后的图像在CPU上以Python代码生成。因此,这些数据扩充方案实际上是不需要计算的。
数据扩充的第一种形式包括生成图像平移和水平翻转。 我们通过从256×256图像中随机提取224×224块(及其水平翻转)并在这些提取的块上训练我们的网络来做到这一点。当然,这将使我们的训练集的大小增加2048倍,尽管生成的训练样本是高度相互依赖的。如果没有这种方案,我们的网络将遭受严重的过拟合,这将迫使我们使用更小的网络。 在测试时,网络通过提取五个224×224的块(四个角点块和中央块)及其水平翻转(因此总共有10个块)进行预测,并在这10个块上对网络的softmax层所做的预测值求平均。
数据增强的第二种形式包括更改训练图像中RGB通道的强度。具体来说,我们在整个ImageNet训练集中对RGB像素值集执行PCA。对于每个训练图像,我们添加找到的主成分的倍数,其大小与相应的特征值成正比,乘以从均值0和标准差0.1的高斯得出的随机变量。 因此,对于每个RGB图像像素 I x y = [ I x y R , I x y G , I x y B ] T I_{xy}=[I_{xy}^R, I_{xy}^G, I_{xy}^B]^T Ixy=[IxyR,IxyG,IxyB]T,我们添加以下量值:
[ p 1 , p 2 , p 3 ] [ α 1 λ 1 , α 2 λ 2 , α 3 λ 3 ] T [p_1,p_2,p_3][\alpha_1\lambda_1,\alpha_2\lambda_2,\alpha_3\lambda_3]^T [p1,p2,p3][α1λ1,α2λ2,α3λ3]T
其中 p i p_i pi λ i λ_i λi分别是RGB像素值的3×3协方差矩阵的第i个特征向量和特征值,而 α i α_i αi是上述随机变量。 对于特定训练图像的所有像素,每个 α i α_i αi仅绘制一次,直到再次使用该图像进行训练为止,此时将其重新绘制。该方案近似地运用了自然图像的重要性质,即,对象ID对于光线的强度和颜色的变化是不变的。 此方案将top-1错误率降低了1%以上。

5.2 Dropout层

结合许多不同模型的预测是减少测试错误的非常成功的方法,但是对于已经花了几天时间进行训练的大型神经网络来说,这代价似乎太昂贵了。但是,有一个非常有效的模型组合版本,在训练过程中仅花费大约两倍的代价。最近引入的技术称为“Dropout”,包括将每个隐藏神经元的输出以0.5的概率设置为零。以这种方式“Dropout”的神经元不会对正向传播做出贡献,也不参与反向传播。因此,每次输入时,神经网络都会对不同的体系结构进行采样,但是所有这些体系结构都会共享权重。由于神经元不能依赖于特定其他神经元的存在,因此该技术减少了神经元的复杂共适应。因此,被迫学习更健壮的功能,这些功能可与其他神经元的许多不同随机子集结合使用。在测试时,我们使用所有神经元,但将它们的输出乘以0.5,这可以合理地近似于采用指数量级Dropout的网络所产生的预测分布的几何平均值。
我们在图2的前两个全连接层中使用了dropout。如果没有dropout,我们的网络将表现出严重的过拟合。 Dropout大致会使收敛所需的迭代次数加倍。

6. 学习细节

我们使用随机梯度下降训练了模型,batchsize大小为128个样本,动量为0.9,权重衰减为0.0005。我们发现,少量的权重衰减对于模型的学习很重要。 换句话说,此处的权重衰减不仅仅是一个正则化器,而且它可以减少模型的训练误差。 权重w的更新规则为:
v i + 1 = 0.9 ∗ v i − 0.0005 ⋅ ϵ ⋅ w i − ϵ ⋅ ( ∂ L ∂ w ∣ w i ) D i w i + 1 = w i + v i + 1 \begin{aligned} v_{i+1}&=0.9*v_i-0.0005\cdot\epsilon\cdot w_i-\epsilon\cdot(\frac{\partial L}{\partial w}|w_i) _{D_i}\\ w_{i+1}&=w_i+v_{i+1} \end{aligned} vi+1wi+1=0.9vi0.0005ϵwiϵ(wLwi)Di=wi+vi+1
其中i是迭代指数,u是动量变量,ε是学习率, ∂ L ∂ w ∣ w i \frac{\partial L}{\partial w}|w_i wLwi是在 D i D_i Di批次,对w求出的目标函数的导数的平均值。
我们从0均值高斯分布(标准差为0.01)初始化每一层的权重。 我们使用常数1初始化第2,第4和第5个卷积层以及全连接的隐藏层中的神经元偏置。此初始化通过为ReLU提供正输入来加速学习的早期阶段。 我们用常数0初始化其余层的神经元偏置。
我们对所有层使用了相同的学习率,我们在整个训练过程中手动对其进行了调整。 我们遵循的启发式方法是,当验证错误率不再随着当前学习率提高而提高时,将学习率除以10。 将学习率初始化为0.01,并在终止之前降低三倍。 我们通过120万张图像的训练集对网络进行了大约90个周期的训练,这个过程在两个NVIDIA GTX 580 3GB的GPU上花了5-6天。

7. 结果

表1总结了我们在ILSVRC-2010上的结果。我们的网络实现的top-1和top-5测试集错误率分别为37.5%和17.0%。在ILSVRC-2010竞赛中,采用对六个以不同特征进行训练的稀疏编码模型所产生的预测结果进行平均的方法,其最佳性能分别为47.1%和28.2%,自那时以来,最佳结果分别为45.7%和25.7%, 该方法将对根据两种类型的密集采样特征计算出的Fisher向量(FV)训练的两个分类器的预测求平均值。
我们也将模型输入了ILSVRC-2012竞赛,并在表2中报告了结果。由于ILSVRC-2012测试集标签不是公开可用的,因此我们无法报告所有尝试过的模型的测试错误率。在本段的其余部分中,我们可以互换使用验证和测试错误率,因为根据我们的经验,它们的相差不超过0.1%(请参见表2)。本文介绍的CNN的top-5错误率达到18.2%。五个相似的CNN的预测得出的平均错误率为16.4%。训练一个CNN,在最后一个池化层上再加上一个第六卷积层,以对整个ImageNet Fall 2011版本(1500万张图像,22K个类别)进行分类,然后在ILSVRC-2012上对其进行“微调”,得出的错误率为16.6 %。将在整个2011年秋季发行版中预先训练的两个CNN与上述五个CNN的预测做平均,得出错误率15.3%。排名第二的竞赛项目采用从不同类型的密集采样特征中计算出的特征向量训练的几个分类器的预测结果做平均,错误率达到26.2%。
表1 ILSVRC-2010测试集的结果比较

模型 Top-1 (%) Top-5 (%)
Sparse coding 47.1 28.2
SIFT + FVs 45.7 25.7
CNN 37.5 17.0

(斜体是其他模型获得的最好结果)
表2. ILSVRC-2012验证和测试集的错误率比较

模型 Top-1 (val, %) Top-5 (val, %) Top-5 (test, %)
SIFT + FVs 26.2
1 CNN 40.7 18.2
5 CNNs 38.1 16.4 16.4
1 CNN* 39.0 16.6
7 CNNs* 36.7 15.4 15.3

(斜体是其他模型获得的最好结果,带有“ *”的模型是经过“预训练”,然后对整个ImageNet 2011 Fall版本进行分类的模型(有关详细信息,请参见第7节))
最后,我们还报告了ImageNet 2009年秋季版本的错误率,其中包含10,184个类别和890万张图像。 在此数据集上,我们遵循文献中的惯例,即使用一半的图像进行训练,一半的图像进行测试。 由于没有已经准备好的测试集,因此我们的划分必然不同于以前的作者使用的划分,但这不会对结果产生明显影响。 通过上述网络,我们在此数据集上的top-1和top-5错误率分别为67.4%和40.9%,但在最后一个池化层后还有一个第六卷积层。在该数据集上发布的最佳结果是78.1%和60.9%。

7.1 定性评估

图3显示了网络的两个数据连接层所学习的卷积核。 网络已经学会了从各种频率和方向选择卷积核,以及各种有色块。 请注意,这是两个GPU表现出的专业化程度,这是第4.5节中描述的受限连接的结果。GPU 1上的卷积核在很大程度上与颜色无关,而GPU 2上的卷积核在很大程度上是与特定颜色有关的。这种特殊化发生在每次运行期间,并且与任何特定的随机权重初始化(对GPU进行重新编号取模)无关。
在图4的左边面板中,我们通过在八幅测试图像上计算其top-5预测值,定性评估网络所学到的知识。请注意,即使偏离中心的对象(例如左上角的螨)也可以被网络识别。大多数的top-5标签看起来都是合理的。例如,只有某些类型的猫被认为是豹的合理标签。 在某些情况下(如谷物,樱桃),获得的焦点不是照片真实的焦点。
获得网络所学习到的视觉知识的另一种方法是考虑由最后4096维隐藏层中的图像产生的特征向量。 如果两个图像产生了欧氏距离较小的特征向量,则可以说神经网络的较高层将它们视为相似。 图4显示了根据此度量方式,来自测试集的五幅图像与来自训练集哪六幅图像最为相似。请注意,在像素级别,检索到的训练图像通常在第二层中不接近第一列中的测试图像。 例如,我们所得到的狗和大象以各种姿势出现。我们在补充材料中提供了更多测试图像的结果。
通过使用两个4096维实值向量之间的欧几里德距离来计算相似度是效率低下的,但是可以通过训练自动编码器将这些向量压缩为短二进制码来提高相似度。与将自动编码器应用于原始像素相比,此方法将产生一种更好的图像检索方法,将自动编码器应用于原始像素的方法不使用图像标签,因此有检索具有相似边缘的图像的趋势,而无论两图像在语义上是否相似。

AlexNet: ImageNet Classification with Deep Convolutional Neural Networks (2012) 全文翻译_第3张图片
图3. 在224×224×3的输入图像上的第一个卷积层学习到九十六个卷积核,大小为11×11×3。在GPU 1上学习了前48个卷积核,而在GPU 2上学习了后48个卷积核(有关详细信息,请参见第7.1节)
AlexNet: ImageNet Classification with Deep Convolutional Neural Networks (2012) 全文翻译_第4张图片
图4. 左边是八张ILSVRC-2010测试图像和我们的模型认为最可能的五个标签,正确的标签写在每个图像下,并用红色条显示(如果它恰好位于前5位)。右边第一列是五个ILSVRC-2010测试图像,其余的列显示了六个训练图像,这些图像在最后一个隐藏层中生成特征向量,与第一列的测试图像的特征向量的欧几里得距离最小

8. 讨论

我们的结果表明,大型的深层CNN能够使用纯粹的有监督学习在具有挑战性的数据集上取得创纪录的结果。 值得注意的是,如果移除单个卷积层,我们的网络性能就会下降。例如,删除任何中间层都会导致网络的top-1性能损失约2%,因此深度对于实现我们的结果确实很重要。
为了简化我们的实验,我们没有使用任何无监督的预训练,即使我们希望这会有所帮助,尤其是如果我们获得足够的计算能力来显著增加网络的大小而又没有将带标记的数据量相应增加时。到目前为止,由于我们扩大了网络规模并对其进行了更长时间的训练,我们的结果有所改善,但为了达到人类的视觉能力,我们还有许多路要走。最终,我们希望在视频序列上使用非常大且深的卷积网络,这里面时间结构提供了非常有用的信息,即在静态图像中丢失或不那么明显的信息。

9. 结语

计算机视觉界对SuperVision的成功反应巨大。 在接下来的一两年中,研究者们转向使用深度神经网络,而现在,这些网络已被Google,Facebook,Microsoft,百度和许多其他公司广泛部署。到2015年,更好的硬件,更多的隐藏层以及多项技术进步将深度卷积神经网络的错误率降低了三倍,因此,它们现在已经非常接近于静态图像的人类能力。 这场革命的大部分功劳应该归功于那些花了很多年开发CNN技术的开拓者,但是FeiFei等人提供了所必需的条件。 她付出了巨大的努力来制作带标签的数据集,直到该数据集足够大,可以展示出神经网络的真正作用。

参考文献

AlexNet: ImageNet Classification with Deep Convolutional Neural Networks (2012) 全文翻译_第5张图片
AlexNet: ImageNet Classification with Deep Convolutional Neural Networks (2012) 全文翻译_第6张图片

你可能感兴趣的:(Deep,Learning,Research,Deep,Learning)