AlexNet论文翻译与解读


目录


摘要(Abstract)

本文训练了一个大规模的深度卷积神经网络来将ImageNet LSVRC-2010比赛中的包含120万幅高分辨率的图像数据集分为1000种不同类别。在测试集上,本文所得的top-1和top-5错误率分别为37.5%和17.0%,该测试结果大大优于当前的最佳水平。本文的神经网络包含6千万个参数和65万个神经元,包含了5个卷积层,其中有几层后面跟着最大池化(max-pooling)层,以及3个全连接层,最后还有一个1000路的softmax层。为了加快训练速度,本文使用了不饱和神经元以及一种高效的基于GPU的卷积运算方法。为了减少全连接层的过拟合,本文采用了最新的正则化方法“dropout”,该方法被证明非常有效。我们以该模型的变体参加了ILSVRC-2012比赛,相比第二名26.2%,我们以15.3%的top-5测试错误率获胜。


1 前言( Introduction)

当前目标识别的方法基本都使用了机器学习的方法。为了提高这些方法的性能,我们可以收集更大的数据集,学习得到更加强大的模型,然后使用更好的方法防止过拟合。直到现在,相比于成千上百的图像,带标签的图像数据集相对较小(如NORB[16],Caltech-101/256[8,9],以及CIFAR-10/100[12])。这种规模的数据集能使得简单的识别任务得到很好地解决,特别是如果他们进行带标签的转换来增广数据集。例如,当前MINIST数字识别任务最小的错误率(<0.3% )已经接近人类水平[4]。但是现实世界中的目标呈现出相当大的变化性,因此学习去识别它们就必须要使用更大的训练数据集。事实上,人们也已广泛地认识到小图像数据集的缺点(如Pinto等[21]),但直到最近,收集包含数百万图像的带标签数据集才成为可能。新的更大的数据集包括由数十万张全分割图像的LabelMe[23]和包含超过22000类的1500万张带标签高分辨率图像ImageNet[6]组成。

为了从数以百万计的图像中学习出数千种的目标,我们需要一个具有很强学习能力的模型。然而,目标识别任务的巨大复杂性意味着,即使在ImageNet这样大的数据集也不能完成任务,因此我们的模型也要有许多先验知识来弥补所有我们没有的数据。卷积神经网络(CNNs)就形成了一种这样类别的模型[16,11,13,18,15,22,26]。可以通过改变网络的深度和广度控制CNN的学习能力,并且它们都能对图像的本质做出强大而又正确的判别(即统计的稳定性和像素位置的依赖性)。因此,相比于相似大小的标准前馈神经网络,CNNs的连接和参数更少,因此更易训练,尽管它们理论上的最优性能可能略差点。尽管CNNs具有一些新颖的特性,和更有效率的局部结构,但大规模地应用于高分辨率图像消耗资源仍然过多。幸运的是,如今GPU以及高度优化的二维卷积计算,已经足够强大地去帮助大规模CNNs的训练,并且最新的数据集如ImageNet包含足够多的带标签样本,能够训练出不会严重过拟合的模型。

本文具体贡献如下:基于ILSVRC-2010和ILSVRC-2012比赛中用到的ImageNet的子集本文训练出了至今为止一个最大的卷积神经网络[2]并且得到了迄今基于这些数据集最好的结果。本文实现了一种高度优化的二维卷积的GPU运算以及卷积神经网络训练中所有其他运算,这些都已公开提供;本文网络中包含了大量的不常见和新的特征来提升网络性能,减少训练时间,详见第三节;即使有120万带标签的训练样本,网络的大小使得过拟合仍成为一个严重的问题,因此本文使用了许多有效的防止过拟合的技术,详见第四节;本文最终的网络包含五层卷积层和三层全连接层,而这个深度似乎很重要:我们发现移除任何一层卷积层(每一层包含的参数个数不超过整个模型参数个数的1%)都会导致较差的结果。

最后,网络的大小主要受限于GPU的内存大小和我们愿意忍受的训练时间长度。本文的网络在两个GTX 580 3GB GPU上训练了五到六天。本文所有的实验表明,如果有更快的GPU、更大的数据集,结果可以更好。


2 数据集(The Dataset)

ImageNet数据集包含有大概22000种类别共150多万带标签的高分辨率图像。这些图像是从网络上收集得来,由亚马逊的Mechanical Turkey的众包工具进行人工标记。从2010年开始,作为Pascal视觉目标挑战的一部分,ImageNet大规模视觉识别挑战(ImageNet Large-Scale Visual Recognition Challenge
,ILSVRC)比赛每年都会举行。ILSVRC采用ImageNet的子集,共包含一千个类别,每个类别包含大约1000幅图像。总的来说,大约有120万张训练图像,5万张验证图像以及15万张测试图像。

ILSVRC-2010是ILSVRC唯一一个测试集标签公开的版本,因此这个版本就是本文大部分实验采用的数据集。由于我们也以我们的模型参加了ILSVRC-2012的比赛,在第6节本文也会列出在这个数据集上的结果,该测试集标签不可获取。ImageNet通常使用两种错误率:top-1和top-5,其中top-5错误率是指正确标签不在模型认为最有可能的前五个标签中的测试图像的百分数。

ImageNet包含不同分辨率的图像,但是本文的模型要求固定的输入维度。因此,本文将这些图像下采样为256x256 。给定一幅矩形图像,本文采用的方法是首先重新调整图像使得短边长度为256,然后裁剪出中央256x256 的区域。除了将图像减去训练集的均值图像(训练集和测试集都减去训练集的均值图像),本文不做任何其他图像预处理。因此本文直接在每个像素的原始RGB值上进行训练。


3 结构(The Architecture)

本文网络结构详见图2。它包含8层学习层——5层卷积层和三层全连接层。下面将描述该网络结构的一些创新和新的特征。3.1节至3.4节根据他们的重要性从大到小排序。

3.1 ReLU非线性函数(ReLU Nonlinearity)

通常使用一个关于输入 x x 的函数模拟神经元的输出f,,这种标准函数是 f(x)=tanh(x) f ( x ) = t a n h ( x ) 或者 f(x)=11+ex f ( x ) = 1 1 + e − x 。在梯度下降训练时间上,这些饱和的非线性函数比不饱和非线性函数 f(x)=max(0,x) f ( x ) = m a x ( 0 , x ) 更慢。根据Nair和Hinton[20],本文将具有这种非线性特征的神经元称为修正线性单元(ReLUs: Rectified Linear Units)。使用ReLUs的深度卷积神经网络训练速度比同样情况下使用 tanh t a n h 单元的速度快好几倍。图1表示使用特定的四层卷积网络在数据集CIFAR-10上达到25%错误率所需的迭代次数。这个图表明如果使用传统的饱和神经元模型我们不可能利用这么大规模的神经网络对本文工作进行试验。

这里写图片描述
图1 使用ReLUs(实线)的四层卷积神经网络在CIFAR-10数据集上达到25%训练错误率比同等条件下使用tanh神经元(虚线)快6倍。为了尽可能使得训练速度快,每一个网络的学习速率都是独立选择的。任何一种都没有经过正则化。这里展示的效果的量级随着网络的结构而变化,但是利用ReLUs的网络始终比同等情况下使用饱和神经元的学习速度快很多倍。

本文不是第一个考虑在CNNs中寻找传统神经模型替代方案的。例如,Jarrett等[11]考虑使用非线性函数 f(x)=|tanh(x)| f ( x ) = | t a n h ( x ) | ,在数据集Caltech-101上,与基于局部平均池化的对比归一化结合取得了很好地效果。但是,在这个数据集上他们主要关心的就是防止过拟合,而本文用ReLUs主要是对训练集的拟合进行加速。快速学习对由大规模数据集上训练出大模型的性能有相当大的影响。

3.2 多GPU训练(Training on Multiple GPUs)

单个GTX 580 GPU只有3GB的内存,从而限制了能由它训练出的网络的最大规模。实验表明使用120万训练样本训练网络已足够,但是这个任务对一个GPU来说太大了。因此,本文中的网络使用两个GPU。当前的GPU都能很方便地进行交叉GPU并行,因为它们可以直接相互读写内存,而不用经过主机内存。我们采用的并行模式本质上来说就是在每一个GPU上放二分之一的核(或者神经元),我们还使用了另一个技巧:只有某些层才能进行GPU之间的通信。这就意味着,例如第三层的输入为第二层的所有特征图。但是,第四层的输入仅仅是第三层在同一GPU上的特征图。在交叉验证时,连接模式的选择是一个问题,而这个也恰好允许我们精确地调整通信的数量,直到他占计算数量的一个合理比例。

最终的结构有点像Ciresan等[5]采用的柱状卷积神经网络,但是本文的列不是独立的(见图2)。与每个卷积层拥有本文一半的核,并且在一个GPU上训练的网络相比,这种组合让本文的top-1和top-5错误率分别下降了1.7%和1.2%。本文的2-GPU网络训练时间比一个GPU的时间都要略少。

3.3 局部响应归一化(Local Response Normalization)

ReLUs具有符合本文要求的一个性质:它不需要对输入进行归一化来防止饱和。只要一些训练样本产生一个正输入给一个ReLU,那么在那个神经元中学习就会开始。但是,我们还是发现如下的局部标准化方案有助于增加泛化性能。 aix,y a x , y i 表示使用核 i i 作用于(x,y)然后再采用ReLU非线性函数计算得到的活跃度,那么响应标准化活跃 bix,y b x , y i 由以下公式计算出

这里写图片描述

这里,对同一个空间位置的n个邻接核特征图(kernel maps)求和,N是该层的核的总数目。核特征图的顺序显然是任意的,并且在训练之前就已决定了的。这种响应归一化实现了侧抑制的一种形式,侧抑制受启发于一种在真实神经中发现的形式,对利用不同核计算得到的神经输出之间的大的活跃度生成竞争。常数 k,n,α,β k , n , α , β 是超参数,它们的值使用一个验证集来确定。本文使用 k=2,n=5,α=104,β=0.75 k = 2 , n = 5 , α = 10 − 4 , β = 0.75 。本文在某些特定的层中,采用ReLUs非线性函数后应用了该归一化(见3.5节)。

这个方案与Jarrett等[11]的局部对比度归一化方案有些相似,但本文更加准确的称呼为“亮度归一化”(brightness normalization),因为本文没有减去平均活跃度。响应归一化将top-1和top-5的错误率分别降低了1.4%和1.2%。本文也在CIFAR-10数据集上验证了这个方案的有效性:一个四层的CNN网络在未归一化的情况下错误率是13%,在归一化的情况下是11%。

3.4 重叠池化(Overlapping Pooling)

CNNs中的池化层归纳了同一个核特征图中的相邻神经元组的输出。通常,由邻接池化单元归纳的邻域并不重叠(例如,[17,11,4])。更确切地说,一个池化层可以被看作是包含了每间隔S个像素的池化单元的栅格组成,每一个都归纳了以池化单元为中心大小为Z x Z的邻域。如果令S=Z,将会得到CNNs通常采用的局部池化。若令S

3.5 整体结构(Overall Architecture)

现在我们可以来描述本文CNN的整体结构。正如图2所示,这个网络包含八个有权值的层:前五层是卷积层,剩下的三层是全连接层。最后一个全连接层的输出传递给一个1000路的softmax层,这个softmax产生一个对1000类标签的分布。本文的网络最大化多项Logistic回归结果,也就是最大化训练集预测正确的标签的对数概率。

第二、四、五层卷积层的核只和同一个GPU上的前层的核特征图相连(见图2)。第三层卷积层和第二层所有的核特征图相连接。全连接层中的神经元和前一层中的所有神经元相连接。响应归一化层跟着第一和第二层卷积层。最大池化层,3.4节中有所描述,既跟着响应归一化层也跟着第五层卷积层。ReLU非线性变换应用于每一个卷积和全连接层的输出。

第一层卷积层使用96个大小为11x11x3的卷积核对224x224x3的输入图像以4个像素为步长(这是核特征图中相邻神经元感受域中心之间的距离)进行滤波。第二层卷积层将第一层卷积层的输出(经过响应归一化和池化)作为输入,并使用256个大小为5x5x48的核对它进行滤波。第三层、第四层和第五层的卷积层在没有任何池化或者归一化层介于其中的情况下相互连接。第三层卷积层有384个大小为3x3x256的核与第二层卷积层的输出(已归一化和池化)相连。第四层卷积层有384个大小为3x3x192的核,第五层卷积层有256个大小为 的核。每个全连接层有4096个神经元。

这里写图片描述

图2 本文CNN的结构图示,明确地描述了两个GPU之间的职责。一个GPU运行图上方的层,另一个运行图下方的层。两个GPU只在特定的层通信。网络的输入是150,528维的,网络剩余层中的神经元数目分别是253440,186624,64896,64896,43264,4096,4096,1000


4 降低过拟合( Reducing Overfitting)

本文的神经网络结构有6千万个参数。尽管ILSVRC的1000个类别使得每一个训练样本利用10bit的数据就可以将图像映射到标签上,但是如果没有大量的过拟合,是不足以学习这么多参数的。接下来,本文描述了两种对抗过拟合的主要的方法。

4.1 数据增强(Data Augmentation)

降低图像数据过拟合的最简单常见的方法就是利用标签转换人为地增大数据集(例如,[25,4,5])。本文采取两种不同的数据增强方式,这两种方式只需要少量的计算就可以从原图中产生转换图像,因此转换图像不需要存入磁盘。本文中利用GPU训练先前一批图像的同时,使用CPU运行Python代码生成转换图像。因此这些数据增强方法实际上是不用消耗计算资源的。

第一种数据增强的形式包括生成平移图像和水平翻转图像。做法就是从256x256的图像中提取随机的224x224大小的块(以及它们的水平翻转),然后基于这些提取的块训练网络。这个让我们的训练集增大了2048倍((256-224)2*2=2048),尽管产生的这些训练样本显然是高度相互依赖的。如果不使用这个方法,本文的网络会有大量的过拟合,这将会迫使我们使用更小的网络。在测试时,网络通过提取5个224x224块(四个边角块和一个中心块)以及它们的水平翻转(因此共十个块)做预测,然后网络的softmax层对这十个块做出的预测取均值。

第二种数据增强的形式包括改变训练图像的RGB通道的强度。特别的,本文对整个ImageNet训练集的RGB像素值进行了PCA。对每一幅训练图像,本文加上多倍的主成分,倍数的值为相应的特征值乘以一个均值为0标准差为0.1的高斯函数产生的随机变量。因此对每一个RGB图像像素 Ixy=[IRxy,IGxy,IBxy]T I x y = [ I x y R , I x y G , I x y B ] T 加上如下的量

[P1,P2,P3][α1λ1,α2λ2,α3λ3]T [ P 1 , P 2 , P 3 ] [ α 1 λ 1 , α 2 λ 2 , α 3 λ 3 ] T

这里 Pi,λi P i , λ i 分别是RGB像素值的3x3协方差矩阵的第 i i 个特征向量和特征值,αi是上述的随机变量。每一个 αi α i 的值对一幅特定的训练图像的所有像素是不变的,直到这幅图像再次用于训练,此时才又赋予 αi α i 新的值。这个方案得到了自然图像的一个重要的性质,也就是,改变光照的颜色和强度,目标的特性是不变的。这个方案将top-1错误率降低了1%。

4.2 Dropout

结合多种不同模型的预测结果是一种可以降低测试误差的非常成功的方法[1,3],但是这对于已经要花很多天来训练的大规模神经网络来说显得太耗费时间了。但是,有一种非常有效的模型结合的方法,训练时间只需要原先的两倍。最新研究的技术,叫做“dropout”[10],它将每一个隐藏神经元的输出以50%的概率设为0。这些以这种方式被“踢出”的神经元不会参加前向传递,也不会加入反向传播。因此每次有输入时,神经网络采样一个不同的结构,但是所有这些结构都共享权值。这个技术降低了神经元之间复杂的联合适应性,因为一个神经元不是依赖于另一个特定的神经元的存在的。因此迫使要学到在连接其他神经元的多个不同随机子集的时候更鲁棒性的特征。在测试时,本文使用所有的神经元,但对其输出都乘以了0.5,对采用多指数dropout网络生成的预测分布的几何平均数来说这是一个合理的近似。

本文在图2中的前两个全连接层使用dropout。如果不采用dropout,本文的网络将会出现大量的过拟合。Dropout大致地使达到收敛的迭代次数增加了一倍。


5 学习细节( Details of learning)

本文使用随机梯度下降来训练模型,同时设置batch size大小为128,0.9倍动量以及0.0005的权值衰减。我们发现这个很小的权值衰减对模型的学习很重要。换句话说,这里的权值衰减不只是一个正则化矩阵:它降低了模型的训练错误率。权重 ω ω 更新规则是

这里写图片描述

这里 i i 是迭代索引,v是动量变量, ε ε 是学习速率, <Lω>Di < ∂ L ∂ ω > D i 是在点 ωi ω i ,目标对 ω ω 求得的导数的第 i i 个batch:Di的均值。

本文对每一层的权值使用均值为0、标准差为0.01的高斯分布进行初始化。对第二层、第四层、第五层卷积层以及全连接的隐藏层使用常数1初始化神经元偏置项。这个初始化通过给ReLUs提供正输入加快了学习的初始阶段。本文对剩余的层使用常数0初始化神经元偏置项。

本文对所有层使用相同的学习速率,这个由在整个学习过程中手动地调整得到。我们采用启发式算法:当验证错误率停止降低就将当前学习速率除以10。本文的学习速率初始值设为0.01,在终止之前减小了三次。本文训练该网络对120万的图像训练集大约进行了90个周期,使用了两个NVIDIA GTX 580 3GB GPU,花费了5到6天的时间。

这里写图片描述
图3 第一层卷积层对224x224x3的输入图像使用96个大小为11x11x3的卷积核学习得到的特征图。上面的48个卷积核在GPU1上学习,下面的48个卷积核在GPU2上学习。详见6.1节


6 结果(Results)

本文的在ILSVRC-2010上的结果见表1。本文网络的测试集top-1和top-5的错误率分别为37.5%和17.0%。在ILSVRC-2010比赛中最好的结果是47.1%和28.2%,采用的方法是对六个基于不同特征训练得到的稀疏编码模型的预测结果求平均数[2],此后最好的结果是45.7%和25.7%,采用的方法是对基于从两种密集采样特征计算得到的Fisher向量(FVs),训练得到两个分类器,所得的预测结果求平均数[24]。

我们也以我们的模型参加了ILSVRC-2012比赛,表2中是我们的结果。由于ILSVRC-2012测试集标签不是公开的,我们不能报告我们尝试的所有模型的测试错误率。在本段接下来的部分,我们交换着使用验证错误率和测试错误率因为根据我们的经验,他们不会有超过0.1%的不同(见表2)。本文中所描述的CNN的top-5错误率是18.2%。五个相似的CNN的平均预测结果的错误率是16.4%。在最后一个池化层上增加第六个卷积层,使用整个ImageNet Fall 2011的数据(15M图像,22000种类别)作为分类数据预训练得到的一个CNN,再经过微调,用ILSVRC-2012对该CNN进行测试得到的错误率为16.6%。对上述的五个在整个Fall 2011数据集上预训练过的CNN,得到的预测求平均得到的错误率结果为15.3%。当时第二的队伍得到的错误率为26.2%,使用的方法是对基于从多种密集采样特征计算得到的FVs,训练得到多个分类器的预测值求平均[7]。

这里写图片描述
表1 基于ILSVRC-2010测试集的结果对比。斜体字是其他方法获得的最好结果

最后,我们也汇报了我们的基于包含10184钟类别890万张图像的Fall 2009的错误率。对于该数据集我们遵从文献中的约定:一半为训练集一半为测试集。由于没有确定的测试集,我们的分割必然与前面作者使用的不一样,但是这并不会明显地影响结果。我们在该数据集上得到top-1和top-5错误率分别为67.4%和40.9%,这个结果是由在上述网络的最后一个池化层加了第六层卷积层所得到的。之前在这个数据集上最好的结果是78.1%和60.9%[19]。

这里写图片描述
表2 基于ILSVRC-2012的验证集和测试集的错误率比较。斜体字是其他方法取得的最好结果。带星号*的模型预先用整个ImageNet 2011 Fall数据集训练过。详见第6节。

6.1 定性评估(Qualitative Evaluations)

图3表示由网络的两个数据连接层学习到的卷积核。该网络已经学习到了各种各样的具有频率、方向选择性的核以及多种着色斑块。注意到两个GPU展现出的特殊化,这是3.5节描述的限制连接的结果。GPU1上的核大部分颜色不可知,而GPU2上的核大部分有颜色。这种特殊化每一次运行时都会发生,并且独立于任何特定随机权值初始化(模除GPU的重编号)。图4的左边我们通过计算8幅测试图像的top-5预测结果定性地评估了网络学习到了什么。注意到即使偏离中心的目标,例如左上方的小虫,也可以被网络识别。大多数top-5标签都显得很合理。例如,只有别的种类的猫被似是而非贴上豹子的标签。在一些情况下(窗格、樱桃)会存在对照片的意图的判断的含糊不清。

这里写图片描述
图4 (左)8幅ILSVRC-2010测试图像和五个根据本文模型得到的最可能的标签。每一幅图像下方写着正确的标签,正确标签的可能性大小也用红色条表示了出来(如果其恰巧在前5个)。(右)第一列是五幅ILSVRC-2010测试图像。剩余列表示6幅训练图像,这些训练图像在最后一层隐藏层得到的特征向量与测试图像的特征向量有最小的欧式距离。

另一种探讨网络的视觉知识的方法就是考虑最终图像在最后4096维隐藏层产生的特征激活度。如果两幅图像产生的特征激活向量的欧氏距离很小,我们就可以说神经网络的更高层认为它们是相似的(根据了特征激活向量的欧式距离,这种测度跟视觉感官上的相似度是不同的)。图4显示了根据这种测度下的五幅测试集图像和六幅跟他们最相似的训练集图像。注意到在像素水平,第二列中检索到的训练图像一般地不会和第一列的查询图像相近。例如,检索到的狗和大象以多种姿势出现。我们在补充材料中展示更多测试图像的结果。

使用欧氏距离计算4096维、实值向量之间的相似度效率较低,但是可以通过训练一个自动编码器来将这些向量压缩为短的二进制编码而提高效率。 这个相比将自动编码器直接应用到原始像素上,是一个更加好的图像检索方法[14],前者没有利用图像的标签,因此会倾向于检索到有相似边界模式的图像,而不论他们语义上是否相似。


7 讨论(Discussion)

本文的结果表明一个大规模深度卷积神经网络在具有高度挑战性的数据集上仅用监督学习就能够获得破纪录的好结果。值得注意的是如果一个卷积层被移除则本文的网络性能会降低。例如,移除任一个中间层,网络的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 http://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.


论文解读

AlexNet网络流程分析

论文中输入是从256x256中裁了224x224像素,这样特征图大小为(224-11)/4+1=54,论文进行了补边,最后特征图大小为55*55,Caffe示例中的AlexNet做了修改,crop出的图像大小是227*227,这样后面的卷积层就不用补边了。

这里写图片描述

AlexNet网络结构需要注意的一个地方:因为第三层卷积层核第二层所有的特征图相连,第三层卷积层核的大小为什么是3x3x256而不是3x3x128。

ReLU

Sigmoid 是常用的非线性的激活函数,它能够把输入的连续实值“压缩”到0和1之间。特别的,如果是非常大的负数,那么输出就是0;如果是非常大的正数,输出就是1.

这里写图片描述

但是当输入非常大或者非常小的时候,从函数图像中可以看出这些神经元的梯度是接近于0的。如果你的初始值很大的话,梯度在反向传播的时候因为需要乘上一个sigmoid 的导数,所以会使得梯度越来越小,这会导致网络变的很难学习。

Alex用ReLU代替了Sigmoid,发现使用 ReLU 得到的SGD的收敛速度会比 sigmoid/tanh 快很多。

ReLU的有效性体现在两个方面:
1. 克服梯度消失的问题
2. 提高训练速度
而这两个方面是相辅相成的,因为克服了梯度消失问题,所以训练才会快。

Local Responce Normalization

本质上,这个层也是为了防止激活函数的饱和的,提高训练速度。
不过作者说,从试验结果看,LRN操作可以提高网络的泛化能力,将错误率降低了大约1个百分点。

dropout

它将每一个隐藏神经元的输出以50%的概率设为0。以这种方式“dropped out”的神经元既不参与前向传播,也不参与反向传播。每次做完dropout,相当于从原始的网络中找到一个更瘦的网络,有了dropout之后,可以将一个大网络看作多个小网络的组合,dropout能够有效地防止过拟合

这里写图片描述

值得注意的是Batch Norm的出现,很大程度上替代了LRN和dropout,现代网络结构中,已经很少采用LRN和dropout了,VGGNet中的LRN并没有提高性能,所以VGGNet并没有采用LRN,而ResNet中由于在每个卷积层后面添加了Batch Norm层,所以也没有采用dropout。


结束语

作为促进CNN的里程碑式的论文,AlexNet是每一个学习CNN的人必须的论文,同时我们也应该意识到,作为当下最热门的研究领域,这个领域每年都会有新技术出现,2012年的AlexNet中有些技术现在看来已经快要过时了,所以,我们不能抱残守缺,需要与时俱进,时刻保持学习的心态,才能够不断提高自己的实力,不被时代所淘汰。

2017-5-8 00:28:58


非常感谢您的阅读,如果您觉得这篇文章对您有帮助,欢迎扫码进行赞赏。
这里写图片描述

相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页