《ImageNet Classification with Deep Convolutional Neural Networks》翻译



                                I                         m                         a                         g                         e                         N                         e                         t                                                                            C                         l                         a                         s                         s                         i                         f                         i                         c                         a                         t                         i                         o                         n                                                                            w                         i                         t                         h                                                                            D                         e                         e                         p                                                                            C                         o                         n                         v                         o                         l                         u                         t                         i                         o                         n                         a                         l                                                                            N                         e                         u                         r                         a                         l                                                                            N                         e                         t                         w                         o                         r                         k                         s                            ImageNet\ _{}Classification\ _{}with\ _{}Deep\ _{}Convolutional\ _{}Neural\ _{}Networks                 ImageNet Classification with Deep Convolutional Neural Networks

                                A                         l                         e                         x                                                                            K                         r                         i                         z                         h                         e                         v                         s                         k                         y                                                                                                                                                                                  I                         l                         y                         a                                                                            S                         u                         t                         s                         k                         e                         v                         e                         r                                                                                                                                                                                  G                         e                         o                         f                         f                         r                         e                         y                                                                                                                               E                         .                         H                         i                         n                         t                         o                         n                            Alex\ _{}Krizhevsky\ _{}\ _{}\ _{}Ilya\ _{}Sutskever\ _{}\ _{}\ _{}Geoffrey\ _{}\ _{}E. Hinton                 Alex Krizhevsky   Ilya Sutskever   Geoffrey  E.Hinton

                                基                         于                         深                         度                         卷                         积                         神                         经                         网                         络                         的                         I                         m                         a                         g                         e                         N                         e                         t                         分                         类                            基于深度卷积神经网络的ImageNet分类                 基于深度卷积神经网络的ImageNet分类

  摘要:我们训练了一个大型的深度卷积神经网络,将ImageNet LSVRC-2010竞赛中的120万张高分辨率图像分类为1000个不同的类别。在测试数据上,我们的 top-1和 top-5错误率分别为37.5%和17.0%,这个结果比之前的最高水准要好得多。该神经网络具有6000万个参数和65万个神经元,由五个卷积层、跟在某些卷积层之后的max-pooling层、三个全连接层和最后的1000维softmax层组成。为了使更快地训练,我们使用了非饱和神经元并对卷积运算进行了非常高效的GPU实现。为了减少全连接层的过拟合,我们采用了一种新发展起来的正则化方法——“dropout”,这种方法被证明非常有效。我们还在ILSVRC-2012竞赛中正式提出了该模型的变体,并相较于次优的错误率26.2%,以 top-5 测试错误率15.3%获胜。

1 引言

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

2 数据集

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

3 架构

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

3.1 ReLU 非线性

  将神经元输出f作为输入x的函数来建模的标准方法是                            f                    (                    x                    )                    =                    t                    a                    n                    h                    (                    x                    )                         f(x)= tanh(x)              f(x)=tanh(x)或                            f                    (                    x                    )                    =                    (                    1                    +                             e                                  −                          x                                             )                                  −                          1                                         f(x)=(1 + e^{−x})^{-1}              f(x)=(1+e−x)−1。就梯度下降的训练时间而言,这些饱和非线性要比非饱和非线性                            f                    (                    x                    )                    =                    m                    a                    x                    (                    0                    ,                    x                    )                         f(x)= max(0,x)              f(x)=max(0,x)慢得多。跟随Nair和Hinton [20],我们将具有这种非线性的神经元称为修正线性单元(ReLU)。带有ReLU的深度卷积神经网络的训练速度比带有tanh单元的等效网络要快几倍。这在图1中得到了证明,图1显示了对于特定的四层卷积网络,在CIFAR-10数据集上达到25%训练误差所需的迭代次数。该图表明,如果使用传统的饱和神经元模型,我们将无法使用如此大型的神经网络进行这项工作。

《ImageNet Classification with Deep Convolutional Neural Networks》翻译

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


  我们不是第一个在CNN中考虑替代传统神经元模型的人。例如,Jarrett等人[11]声称非线性                            f                    (                    x                    )                    =                    ∣                    t                    a                    n                    h                    (                    x                    )                    ∣                         f(x)= |tanh(x)|              f(x)=∣tanh(x)∣在Caltech-101数据集上对比归一化类型跟随局部平均池化的情况下,效果特别好。但是,在此数据集上主要的问题是防止过拟合,因此他们观察到的效果与我们报道的使用ReLU拟合训练集的加速能力不同。更快的学习对在大型数据集上训练的大型模型的性能有很大影响。

3.2 训练多个GPU

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

3.3 局部响应归一化

  ReLU具有令人满意的特性,它们不需要输入归一化来防止饱和。如果至少一些训练样本对ReLU产生了正输入,那么该神经元将会进行学习。但是,我们仍然发现接下来的局部归一化方案有助于泛化。通过在位置(x,y)上应用核 i 计算出神经元的激活度                                     a                                  x                          ,                          y                                 i                                 a^{i}_{x,y}              ax,yi,然后应用ReLU非线性,响应归一化激活度                                     b                                  x                          ,                          y                                 i                                 b^{i}_{x,y}              bx,yi由下式给出
                                         b                                     x                               ,                               y                                    i                                 =                                  a                                     x                               ,                               y                                    i                                 /                                             (                               k                               +                               a                                          ∑                                             j                                     =                                     m                                     a                                     x                                     (                                     0                                     ,                                     i                                     −                                     n                                     /                                     2                                     )                                                         m                                     i                                     n                                     (                                     N                                     −                                     1                                     ,                                     i                                     +                                     n                                     /                                     2                                     )                                                                             (                                                  a                                                     x                                           ,                                           y                                                    i                                                 )                                            2                                         )                                    β                                    b^{i}_{x,y}=a^{i}_{x,y}/\left ( k+a\sum_{j=max(0,i-n/2)}^{min(N-1,i+n/2)}\left ( a^{i}_{x,y} \right ) ^{2}\right )^{\beta }                 bx,yi=ax,yi/⎝⎛k+aj=max(0,i−n/2)∑min(N−1,i+n/2)(ax,yi)2⎠⎞β

其中,求和在相同空间位置的n个“相邻”核映射上运行,而N是该层中核的总数。核映射的顺序当然是任意的,并且在训练开始之前确定。这种响应归一化实现了一种由实际神经元中发现的类型激发的横向抑制形式,从而在使用不同核计算的神经元输出中为大的激活度创造竞争。常数k,n,α和β是超参数,其值是通过验证集来确定;我们使用k = 2,n = 5,α= 10−4和β= 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 < z,我们将得到重叠池化。这就是我们在整个网络中使用的方案,其中s = 2和z = 3。与非重叠方案s = 2,z = 2相比,该方案将top-1和top-5的错误率分别降低了0.4%和0.3%,其输出维度是相等的。我们通常会在训练过程中会观察到,采用重叠池化的模型过拟合稍难一些。

3.5 整体架构

  现在,我们准备描述CNN的总体架构。如图2所示,该网络包含8个带权重的层;前五个是卷积层,其余三个是全连接层。最后一个全连接层的输出被送到1000维的softmax层,它在1000类标签上产生分布。我们的网络将多项式逻辑回归目标最大化,这等效于在预测分布下最大化训练案例中正确标签的对数概率的平均值。

《ImageNet Classification with Deep Convolutional Neural Networks》翻译

图2 CNN架构的图示,明确显示了两个GPU之间的职责划分,一个在图的顶部运行图层部分,而另一个在图的底部运行图层部分。GPU仅在某些特定的层进行通信。网络的输入为150,528维,网络其余层的神经元数量为253,440–186,624–64,896–64,896–43,264– 4096–4096-1000。


  第2,4,5卷积层的核只与位于同一GPU上的前一层的核映射相连接(请参见图2)。第3卷积层的核与第2层的所有核映射相连接。全连接层的神经元与前一层的所有神经元相连接。第1,2卷积层之后是响应归一化层。3.4节中描述的最大池化层在响应归一化层和第5卷积层之后。ReLU非线性应用于每个卷积层和全连接层的输出上。
  第1个卷积层用96个大小为11×11×3、步长为4个像素(这是核映射中相邻神经元的感受野中心之间的距离)的核过滤224×224×3输入图像。第2个卷积层将第1个卷积层的(响应归一化和池化)输出作为输入,并使用256个大小为5×5×48的核对其进行过滤。第3,4,5卷积层彼此连接,中间没有任何池化或归一化层。第3卷积层有384个大小为3×3×256的核,这些核与第2卷积层的(归一化,池化)输出相连接。第4卷积层有384个3×3×192大小的核,第5卷积层有256个3×3×192个大小的核。每个全连接层都有4096个神经元。

4 减少过拟合

  我们的神经网络架构具有6000万个参数。尽管ILSVRC的1000个类别使每个训练样本从图像到标签的映射上强加了10位约束,但事实证明这不足以学习这么多的参数而没有相当大的过拟合。下面,我们描述了克服过拟合的两种主要方法。

4.1 数据增强

  减少图像数据过拟合最简单最常见的方法是使用标签保留变换来人工扩大数据集(例如[25、4、5])。我们采用两种不同的数据增强方式,这两种方式都允许通过很少的计算就可以从原始图像生成转换后的图像,因此不需要将转换后的图像存储在磁盘上。在我们的实现中,当GPU训练上一批图像时,转换后的图像在CPU上以Python代码生成。因此,这些数据增强方案实际上在计算上是免费的。
  数据增强的第一种方式包括产生图像变换和水平翻转。为此,我们从256×256图像中随机提取了224×224的图像块(及其水平翻转),并在提取的图像块上训练了我们的网络。这当然使我们的训练集大小增加了2048倍,尽管生成的训练样本是高度相互依赖的。没有这个方案,我们的网络将遭受严重的过拟合,这将会迫使我们使用更小的网络。在测试时,网络通过提取五个224×224图像块(四个角点图像块和*图像块)及其水平翻转(因此总共十个图像块)进行预测,并在十个图像块上对网络的softmax层所做的预测求平均值。
  数据增强的第二种方式包括改变训练图像中RGB通道的强度。具体来说,我们在整个ImageNet训练集中对RGB像素值集执行PCA。对于每个训练图像,我们添加找到的主成分的倍数,其大小与相应的特征值乘以从均值为零且标准偏差为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是前面提到的随机变量。对于特定训练图像的所有像素,每个                            α                         α              α仅获取一次,直到再次使用该图像进行训练才重新获取。该方案近似地捕获了自然图像的重要特性,即目标身份在光照的颜色和强度发生变化时是不变的。此方案将top-1错误率降低了1%以上。

4.2 Dropout

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

5 学习细节

  我们使用随机梯度下降训练了模型,样本的batch size为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{matrix}v_{i+1} := 0.9 \cdot v_{i} - 0.0005\cdot\epsilon\cdot w_{i} - \epsilon\cdot\left \langle \frac{\partial L}{\partial w} |_{w_{i}}\right \rangle_{D_{i}} \\ w_{i+1} := w_{i} + v_{i+1}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{}\ _{} \end{matrix}                 vi+1:=0.9⋅vi−0.0005⋅ϵ⋅wi−ϵ⋅⟨∂w∂L∣wi⟩Diwi+1:=wi+vi+1                                         

其中                            i                         i              i是迭代索引,                            v                         v              v是动量变量,                            ϵ                         \epsilon              ϵ是学习率,                                              ⟨                                                ∂                                L                                                    ∂                                w                                                         ∣                                          w                                i                                              ⟩                                          D                          i                                         \left \langle \frac{\partial L}{\partial w}\mid _{w_{i}} \right \rangle_{D_{i}}              ⟨∂w∂L∣wi⟩Di是                            w                         w              w在                                     w                         i                                 w_{i}              wi处的目标导数第                            i                         i              i批                                     D                         i                                 D_{i}              Di的平均值。
  我们从零均值高斯分布(标准差为0.01)初始化每一层的权重,用常数1初始化第2,4和5卷积层以及全连接的隐藏层中的神经元偏置。这个初始化通过为ReLU提供正输入加速了学习的早期阶段。我们在剩下的层中将神经元偏置初始化为0。
  我们对所有层使用了相等的学习率,这个是在整个训练过程中我们通过手动调整得到的。我们遵循的启发式方法是,当验证错误率不再随着当前学习率的提高而提高时,将学习率除以10。学习率初始化为0.01,并在终止前减少三次。。我们通过120万张图像的训练集对网络进行了大约90个周期的训练,这在两个NVIDIA GTX 580 3GB GPU上花了五到六天。

6 结果

  表1总结了我们在ILSVRC-2010上的结果。我们的网络得到的top-1和top-5测试集错误率分别为37.5%和17.0%。在ILSVRC2010竞赛中得到的最佳结果分别为47.1%和28.2%,其方法是对根据不同特征训练的六个稀疏编码模型产生的预测取平均值[2],此后,最佳的结果分别为45.7%和25.7%。该方法是对Fisher向量(FV)训练的两个分类器的预测求平均值[24],Fisher向量是根据两种类型的密集采样特征计算得到的。

《ImageNet Classification with Deep Convolutional Neural Networks》翻译

表1 ILSVRC2010测试集结果的比较。斜体字是他人获得的最佳结果。


  我们还在ILSVRC-2012竞赛中输入了我们的模型,并在表2中报告了我们的结果。由于ILSVRC-2012测试集标签不是公开可用的,因此我们无法报告我们尝试过的所有模型的测试错误率。在本段的其余部分中,我们将验证和测试错误率互换使用,因为在我们的实验中它们相差不超过0.1%(请参见表2)。本文介绍的CNN的top-5错误率为18.2%。五个类似的CNN预测的平均误差率为16.4%。为了对整个ImageNet Fall 2011版本(1500万张图像,22000个类别)进行分类,我们在最后一个池化层上再加上一个额外的第6卷积层去训练一个卷积神经网络,然后在ILSVRC-2012上对其进行“微调”,得出的错误率为16.6 %。将在整个2011年秋季版本中经过预训练的两个CNN与上述五个CNN的预测进行平均之后得出的错误率为15.3%。第二名的最好竞赛输入取得了26.2%的错误率,他的方法是对从不同类型的密集采样特征计算出的FV训练的几个分类器的预测取平均值[7]。

《ImageNet Classification with Deep Convolutional Neural Networks》翻译

表2 ILSVRC-2012验证和测试集的错误率比较。斜体字是他人获得的最佳结果。带星号*的模型经过“预训练”以对整个ImageNet 2011 Fall版本进行分类。有关详细信息请参见第6节。


  最后,我们还报告了ImageNet 2009年秋季版本的错误率,其中包含10,184个类别和890万张图像。在此数据集上,我们遵循文献中的惯例,使用一半的图像进行训练,一半进行测试。由于没有已建立的测试集,因此我们的划分必然不同于以前的作者使用的划分,但这不会明显影响结果。通过上述网络,我们在该数据集上的top-1和top-5错误率分别为67.4%和40.9%,但在最后一个池化层上还有一个额外的第6卷积层。在该数据集上公布的最佳结果是78.1%和60.9%[19]。

6.1 定性评估

  图3显示了网络的两个数据连接层所学习的卷积核。网络学习到了大量的频率核、方向选择核,也学到了各种颜色点。请注意,这是两个GPU所展现出的专业性,这是第3.5节中描述的受限连接的结果。GPU 1上的核在很大程度上与颜色无关,而GPU 2上的核在很大程度上是针对于颜色的。这种特殊化发生在每次运行期间,并且与任何特定的随机权重初始化(以GPU的重新编号为模)无关。

《ImageNet Classification with Deep Convolutional Neural Networks》翻译

图3 第一卷积层在224×224×3的输入图像上学习了96个大小为11×11×3的卷积核。前48个核是在GPU 1上学习的,而后48个核是在GPU 2上学习的。有关详细信息请参见6.1节。


  在图4的左边部分中,我们通过在八幅测试图像上计算其top-5预测,定性地评估网络学到了什么。注意即使是不在图像中心的目标也能被网络识别,例如左上角的小虫。大多数的top-5标签看起来都是合理的。例如,对于美洲豹来说,只有其它类型的猫被认为是看似合理的标签。在某些情况下(谷物,樱桃),对于照片的预期焦点很含糊。

《ImageNet Classification with Deep Convolutional Neural Networks》翻译

图4 (左)八张ILSVRC-2010测试图像和五个我们的模型认为最可能的标签。正确的标签写在每个图像下,并且正确标签的概率也用红色条显示(如果正确标签在top 5中)。(右)第一列显示了五张ILSVRC-2010测试图像,其余列显示了六张训练图像,这些图像在最后的隐藏层生成的特征向量与测试图像的特征向量之间的欧几里得距离最小。


  探索网络可视化知识的另一种方式是思考最后的4096维隐藏层在图像上得到的特征激活。如果两个图像产生的特征激活向量具有较小的欧几里得距离,则可以说神经网络的更高层特征认为它们是相似的。图4显示了根据此度量,来自测试集的五幅图像和来自训练集的六幅图像最相似。注意,在像素级别,检索到的训练图像在L2中通常与第一列中的查询图像是不接近的。例如,检索的狗和大象似乎有很多姿态。我们在补充材料中提供了更多测试图像的结果。
  通过使用两个4096维实值向量之间的欧几里德距离来计算相似度效率不高,但是可以通过训练自动编码器将这些向量压缩为短二值编码来提高效率。与将自动编码器应用于原始像素相比,这应该会产生一种更好的图像检索方法[14]。自动编码器应用到原始像素上的方法没有使用图像标签,因此有检索具有相似边缘模式的图像的趋势,而无论它们在语义上是否相似。

7 讨论

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

参考文献

[1] R.M. Bell and Y. Koren. Lessons from the netflixprizechallenge. 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.image-net.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 Understand-ing, 106(1):59–70, 2007.
[9] G. Griffin, A. Holub, and P. Perona. Caltech-256 object category dataset. Technical Report 7694, Cali-fornia Institute of Technology, 2007. URL http://authors.library.caltech.edu/7694.
[10] G.E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R.R. Salakhutdinov. Improving neural net-works 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. Hand- written 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 unsuper- vised learning of hierarchical representations. InProceedings of the 26th Annual International Conference on Machine Learning, pages 609–616. ACM, 2009.
[19] T. Mensink, J. V erbeek, F. Perronnin, and G. Csurka. Metric Learning for Large Scale Image Classifi- cation: 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 computa-tional 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. InComputer 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. Con- volutional networks can learn to generate affinity graphs for image segmentation. Neural Computation, 22(2):511–538, 2010.

上一篇:语音降噪论文“A Hybrid Approach for Speech Enhancement Using MoG Model and Neural Network Phoneme Classifie


下一篇:论文阅读: DeepPCO: End-to-End Point Cloud Odometry through Deep Parallel Neural Network 2020 IROS