AlexNet-ImageNet Classification with Deep Convolutional Neural Networks 笔记

AlexNet-ImageNet Classification with Deep Convolutional Neural Networks

基于深度卷积神经网络的图像网络分类

  

目录

摘要

1.引言

2.数据集

3.架构

3.1ReLU Nonlinearity (非线性)

3.2在多个图形处理器(GPU)上训练

3.3局部响应标准化

3.4重叠池

3.5整体架构分析

4 Reducing Overfitting减少过拟合

4.1数据增强

4.2Dropout(丢失)

5.学习细节

6.结果

6.1Qualitative Evaluations (定性评估)

7.讨论


摘要

    该神经网络有6000万个参数和650000个神经元,由5个卷积层,其中一些层后面跟着最大池化层,和三个全连接层,还有排在最后的1000-way的softmax层组成。

    为了使训练更快,本文使用了非饱和神经元和一个非常有效的GPU关于卷积运算的工具。

    为了减少全连接层中的过拟合,我们采用了一种最新开发的正则化方法,称为“dropout”,该方法被证明非常有效。

1.引言

当前的目标识别方法主要使用机器学习方法。

继续提高其性能的方法:收集更大的数据集,学习更强大的模型,并使用更好的技术来防止过度拟合。

超大标记数据集:

    LabelMe :它由数十万个完全分割的图像组成。ImageNet :它由超过22000个类别中的超过1500万个带标签的高分辨率图像组成。

CNN的性质:与层次规模相同的标准前馈神经网络相比,卷积神经网络(CNN)具有更少的连接关系和参数,因此更容易训练,而在理论上最佳的性能可能只是稍微差一点。

本文贡献:在ILSVRC-2010和ILSVRC-2012竞赛中使用的ImageNet子集上训练了迄今为止最大的卷积神经网络之一:AlexNet,并在这些数据集上获得了迄今为止报道的最佳结果。编写了一个高度优化的GPU二维卷积工具,以及训练卷积神经网络中固有的所有其他操作。

    该网络特征:提高了网络性能并减少其训练时间;

    缺点:规模大(有120万个带标签的训练样本)使得过拟合成为一个显著的问题。

最终的网络包含五个卷积层和三个全连接层。网络的规模主要受到当前GPU可用内存量和我们愿意容忍的训练时间的限制。

训练结果的改善方法:使用更快的GPU和更大的数据集。

2.数据集

    ImageNet是一个由1500多万张标记的高分辨率图像组成的数据集,这些图像分属于大概22000个类别。由人手工标记。在ImageNet上通常报告两个错误率:前1名和前5名。ILSVRC-2010是ILSVRC的唯一一个测试集标签可用的版本,测试集标签不可用,也是本文完成大部分实验的版本。

ImageNet由可变分辨率的图像组成,而我们的系统需要恒定的输入维数。因此,我们将图像降采样到256 × 256的固定分辨率。给定一个矩形图像。在像素的原始RGB值上训练我们的网络。

3.架构

  AlexNet 架构包含八个学习层——五个卷积层和三个全连接层(见下图2)。

3.1ReLU Nonlinearity (非线性)

    将神经元输出 f 作为其输入x的函数,对其建模的标准方法是   :f(x) = tanh(x) 或 f(x)=(1+e x)1。饱和非线性比不饱和非线性f(x) = max(0,x)的梯度下降的训练时间慢得多。

    具有这种不饱和非线性的神经元称为整流线性单元(ReLU)。训练带有ReLU的深度卷积神经网络比带tanh单元的同类网络训练速度快好几倍。

上图表明:在CIFAR-10上,带有ReLU(实线)的四层卷积神经网络达到25%的训练错误率,比带有tanh神经元的等效网络(虚线)快六倍。每个网络的学习速率都是独立选择的,以便于使训练尽可能快。没有采用任何形式的正规化。横轴为:迭代次数。

3.2在多个图形处理器(GPU)上训练

    单个GTX 580图形处理器只有3GB的内存,这限制了可以在其上训练的网络的最大规模。 事 实证明,120万个训练样本才足以训练网络,网络太大了不适合在一个GPU上训练。因此将网络分布在两个GPU上。  

    采用的并行化方案(将网络分布在两个GPU上)本质是在每个GPU上放置一半核(神经元)。额外的技巧:GPU间的通讯只在某些层进行。例如,第3层的核需要从第2层中所有核映射输入。然而,第4层的核只需要从第3层中位于同一GPU的那些核映射输入。选择连接模式是一个交叉验证的问题,但是这让我们可以精确地调整通信量,直到它的计算量在可接受的部分。与在一个GPU上训练的每个卷积层有一半核的网络比较 ,前1和前5的错误率都降低了;双GPU网络的训练时间比单GPU网略少。

    在最终的卷积层中,一个GPU网络实际上具有与两个GPU网络相同数量的内核。这是因为网络的大部分参数都在第一个全连接层,它以最后一个卷积层的输出作为输入。因此,为了使两个网络具有大致相同数量的参数,没有将最终卷积层(以及随后的全连接层)的大小减半。

3.3局部响应标准化

    ReLUs具有理想的特性:即不需要输入标准化来防止它们饱和。

:响应标准化活动;常数k、n、α和β是超参数,其值由验证集确定,我们使用k = 2,n = 5,α= 104,β = 0.75。 其中总和在相同空间位置的N个“相邻”内核映射上运行,并且N是该层中内核的总数。 a表示点(x,y)处通过应用核 计算出的神经元激活度。受到在真实神经元中发现的类型启发,这种响应归一化实现了一种侧向抑制,在使用不同核计算神经元输出的过程中创造对大激活度的竞争。

    方案:亮度归一化: 响应标准化将我们的前1名和前5名错误率分别降低了1.4%和1.2%。我们还在CIFAR-10数据集上验证了该方案的有效性:一个四层CNN在没有归一化的情况下实现了13%的测试错误率,在归一化的情况下实现了11%的测试错误率3。

3.4重叠池

    CNNs中的池化层总结了同一核图中相邻神经元组的输出。传统上,通过邻接pooling单元总结的邻近关系不重叠。一个池化层的组成:由间隔为s个像素的池化单元网格组成,每个网格总结了以池化单元位置为中心的大小为z × z的邻域。

    如果设置s = z,可以获得CNN中常用的传统本地池(非重叠)。

    如果设置s < z,我们得到重叠池。

与产生等效尺寸输出的非重叠方案s = 2,z = 2相比,网络中使用:s = 2,z = 3的方案将前1和前5的误差率分别降低了0.4%和0.3%。

3.5整体架构分析

网络包含八个带权学习层;前五个是卷积层,其余三个是全连接层。

    最后一个全连接层的输出被馈送到1000-way的softmax层,该softmax层在1000个类别标签上产生分布。网络最大化逻辑回归目标,这相当于最大化预测分布下正确标签的对数概率平均值。

    第二、第四和第五卷积层的核只与前一层中驻留在同一GPU上的内核映射相连。第三卷积层的核连接到第二层中的所有核映射上。

    全连接层中的神经元与前一层中的所有神经元相连。 响应标准化层跟在第一个和第二个卷积层后面。最大池化层根在响应标准化层和第五个卷积层之后。

    ReLU非线性应用于每个卷积层和全连接层的输出。

    卷积层1:利用96个大小为11×11×3,步长为4个像素的卷积核对大小为224×224×3的输入图像进行滤波。

    卷积层2:将卷积层1的(响应标准化和池化)输出作为自身的输入,并用大小为5 × 5 × 48的256个核对其进行滤波。第三、第四和第五卷积层相互连接,中间没有任何的池化或标准化层操作。

    卷积层3:有384个大小为3×3×256的核被连接到第二卷积层的(标准化的、池化的)输出。

    卷积层4:有384个大小为3×3×192的核,

    卷积层5:有256个大小为3×3×192的核。

    全连接层各有4096个神经元。

图2:CNN体系结构示意图,明确显示了两个GPU之间的职责划分。一个GPU运行图顶部的层次部分,而另一个运行图底部的层次部分。GPU之间仅在某些层互相通信。

4 Reducing Overfitting减少过拟合

主要用以下两种主要的方法来对抗过度训练。

4.1数据增强

    减少图像数据过度拟合的最简单和最常见的方法是使用标签保留转换,人工地扩大数据集。

第一种形式包括生成图像平移和水平反射。

    训练:通过从256×256的图像中随机提取224×224的补片(以及它们的水平反射)并在这些提取的补片上训练我们的网络来做到这一点,如果没有这个方案,网络会遭受严重的过拟合。

    测试:网络通过提取五个224 × 224的碎片(四个角碎片和中心碎片)以及它们的水平反射(因此总共有十个碎片)进行预测,并对网络的softmax层在十个碎片上进行的预测进行平均。

第二种形式的数据增强包括改变训练图像中的RGB通道的强度。

    在整个ImageNet训练集中对RGB像素值集执行PCA。

??/

4.2Dropout(丢失)

结合许多不同模型的预测是减少测试误差的非常成功的方法,也可用来控制全连接层的模型复杂度。

    将每个隐藏神经元的输出设置为零,概率为0.5。以这种方式“dropout”的神经元不利于前向传播,也不参与反向传播。所以每次输入出现时,神经网络都会对不同的架构进行采样,所有这些架构之间都共享权重。这项技术减少了神经元复杂的共同适应,因为一个神经元不能依赖于特定的其他神经元的存在。测试时,将所有神经元的输出乘以0.5,可以得到由指数级dropoout网络产生的预测分布的几何平均值。 在上图2的前两个全连接层中使用dropout。如果没有dropout,我们的网络会表现出大量的过拟合。dropout 使收敛所需的迭代次数大致增加了一倍。

5.学习细节

    使用随机梯度下降法(SSD)和一批大小为128、动力为0.9、权重衰减为0.0005的样例来训练该网络。少量的权重衰减对模型学习很重要,它减少了模型的训练误差。  

 其中 i 是迭代指数,v 是动量变量,E是学习率。

是第一批目标相对于w的导数的平均值,在wi进行评估。

    从标准偏差为0.01的零均值高斯分布中初始化每一层的权重。用常数1初始化了第二、第四和第五卷积层以及全连接隐藏层中的神经元偏置,该初始化通过提供带正输入的ReLU来加速学习的初级阶段。用常数0初始化剩余层中的神经元偏置。对所有层使用相同的学习速率。

    当验证错误率不再随着当前的学习率而提高时,将学习率除以10。学习率初始化为0.01,在终止前降低三次。

6.结果

    在ILSVRC-2010测试集上的结果总结在下表1中。该网络实现了37.5%和17.0%的前1名和前5名测试集错误率。ILSVRC2010竞赛中取得的最佳表现是47.1%和28.2%,它采用的方法是对在不同特征上训练的六个sparse-coding(稀疏编码)模型产生的预测进行平均。此后公布的最佳结果是45.7%和25.7%,采用的方法是对在从两种密集采样特征计算的费希尔向量(FV)上训练的两个分类器的预测进行平均。

 

    下表2是在ILSVRC-2012比赛中验证和测试集的错误率比较。斜体字是由他人取得的最好结果。带星号*的模型是经过“预训练”以对整个ImageNet 2011年秋季发布的图像集进行分类的。

1.本文描述的CNN实现了18.2%的top-5错误率。

2.对五个相似的CNN的预测进行平均,误差率为16.4%。

3.训练一个CNN,在最后一个池化层上增加第六个卷积层,

4.用上述五种CNN和2011年秋季发布的两种CNN结合进行预测,得到的平均误差率为15.3%。

    比赛中的第二名实现了26.2%的误差率,用的方法是从不同类密集采样的特征中计算FV,用FV训练几个分类器,再对这几个分类器的预测求平均值。

    最后,还报告了ImageNet 2009年秋季版本的错误率,该版本有10184个类别和890万个图像。在此数据集上遵循文献中的惯例,一半图像用于训练,另一半用于测试。由于没有确定的测试集,我们的划分必然不同于以前作者使用的划分,但这不会明显地影响结果。

6.1Qualitative Evaluations (定性评估)

     图3显示了网络的两个数据连接层学习到的卷积核。该网络已经学习到各种各样的频率和方向选择核,以及各种彩色斑点。

GPU1上的内核在很大程度上与颜色无关,而GPU2上的内核大多数颜色明确。这种特殊化发生在每次运行期间,并且独立于任何特定的随机权重初始化。

(左)8个ILSVRC-2010测试图像和我们的模型认为最有可能的五个标签。正确的标签写在每个图像下面,分配给正确标签的概率也用红条显示(如果恰好在前5位)。

(右)第一列是五张ILSVRC-2010测试图。剩余的列显示了六个训练图像,它们在最后一个隐藏层中产生特征向量,与测试图像的特征向量具有最小的欧几里德距离。

    图4显示了来自测试集的五个图像和来自训练集的六个图像,在图4的左面板中,我们通过计算八幅测试图像上的前五个预测,定性地评估网络学到了什么。即使是偏离中心的物体,如左上角的螨虫,也可以被网络识别。前5名的标签大部分看起来都很合理。

    探索网络视觉知识的另一种方法是考虑由最后一个4096维隐藏层的图像引起的特征激活。如果两幅图像产生的特征激活向量具有较小的欧几里德间距,可以说神经网络的更高级别认为它们是相似的。

7.讨论

    使用纯监督学习,大型深度卷积神经网络能够在极具挑战性的数据集上获得破记录的结果。重要的是,本文介绍的网络如果去掉一个卷积层,网络性能便会下降。

删除任何中间层都会导致网络前1名的性能损失约2%。因此,深度对于实现结果非常重要。

    为了简化实验,没有使用任何无监督的预训练,我们可以获得足够的计算能力来显著增加网络的大小,而不会带来标记数据量的相应增加。到目前为止,实验结果有所改善,因为我们扩大了我们的网络,训练了它更长的时间,但仍然有许多数量级的工作要做,以匹配人类视觉系统的inferotemporal路径。

AlexNet与LeNet的网络结构相似,但AlexNet使用了更多的卷积层和更大的参数空间来拟合大规模数据集ImageNet。它是浅层神经网络和深度神经网络的分界线。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值