CNN论文解读

论文解读

论文:ImageNet Classification with Deep Convolutional Neural Networks

论文连接: 点击打开链接,百度网盘:点击打开链接

翻译如下:

摘要:

         我们训练了一个大型的深层卷积神经网络来对120万个进行分类,ImageNet LSVRC-2010比赛中的高分辨率图像分为1000个不同类别。在测试数据上,我们获得了37.5%的前1和前5的错误率,和17.0%,这比以前的技术水平要好得多。该神经网络有6000万个参数和65万个神经元五个卷积层,其中一些是最大池层,和三个完全连接的层,最终1000路softmax。为了使训练更快,我们使用非饱和神经元和非常高效的GPU实现卷积运算。减少完全连接的过度配合我们采用了最近开发的正则化方法,称为“辍学”这被证明是非常有效的。我们也进入了这个模型的变体ILSVRC-2012比赛并取得15.3%的前五名测试失误率,而进入第二好成绩的则为26.2%。

1介绍

        目前的物体识别方法对机器学习方法的使用非常重要。为了证明他们的表现,我们可以收集更大的数据集,学习更强大的模型,并使用下注技术来防止过度拟合。直到最近,标记图像的数据集相对较少很小 - 数以万计的图像(例如,NORB [16],Caltech-101/256 和CIFAR-10/100)。简单的识别任务可以很好地解决这个尺寸的数据集,特别是如果它们增加了标签保留转换。例如,目前MNIST数字识别任务的最佳错误率(<0.3%)接近人的表现。但在现实环境中的物体表现出相当大的变化性,所以要学会认识它们需要使用更大的训练集。事实上,小图像数据集的缺点已经得到了广泛的认可,但最近才有可能在数百万张图像中收集标记的数据集。新的更大的数据集包括LabelMe,其中由数十万个完全分割的图像组成,ImageNet 由其组成超过1,500万个超过22,000个类别的高分辨率图像。要从数百万图像中了解数千个对象,我们需要一个具有大量学习的模型容量。然而,对象识别任务的巨大复杂性意味着即使是像ImageNet那样大的数据集也不能指定这个概率,所以我们的模型也应该有很多以弥补我们没有的所有数据。卷积神经网络构成了这样一种模型。他们的能力可以通过改变他们的深度和广度来控制,并且他们也做出强而且大多是正确的假设关于图像的性质。因此,与具有相似大小的层的标准前馈神经网络相比,CNN具有连接和参数少得多,所以他们更容易训练,而他们的理论最好性能可能只会稍差。

        尽管CNN具有吸引人的特质,尽管其当地建筑的效率相对较高,他们仍然昂贵地大规模应用于高分辨率图像。幸运的是,目前的GPU与高度优化的2D卷积实现搭配使用,功能强大足以促进有趣的大型CNN的培训,以及最近的数据集,如ImageNet

包含足够的标记示例来训练这些模型而不会出现严重的过度拟合本文的具体贡献如下:我们训练了一个最大的卷积神经网络在ILSVRC-2010和ILSVRC-2012中使用的ImageNet子集比赛,并取得迄今为止有史以来最好的结果报告这些数据集。我们写了一个高度优化的GPU实现2D卷积和其他所有固有的操作训练卷积神经网络,我们公开可用1。我们的网络包含一些新的和不同寻常的功能可以提高其性能并减少训练时间,这在第3节中有详细说明。我们的网络规模甚至过度拟合了一个重大问题有120万个标记的训练实例,所以我们使用了几种有效的预防技术过拟合,这在第4节中描述。​​我们的最终网络包含五个卷积和三个完全连接的层,这个深度似乎很重要:我们发现删除任何卷积层导致表现不佳。最终,网络的规模主要受限于当前GPU上可用的内存量以及我们愿意容忍的训练时间的数量。我们的网络需要五个并在6天内训练两台GTX 580 3GB GPU。我们所有的实验都表明我们的结果可以简单地通过等待更快的GPU和更大的数据集变得可用来改进。

2数据集

ImageNet是超过1500万个标记的高分辨率图像的数据集,大约有22,000个类别。图像从网上收集,并由人类贴标机使用Amazon的Mechanical Turk群众采购工具进行标记。从2010年开始,作为Pascal Visual Object的一部分挑战赛,年度竞赛称为ImageNet大规模视觉识别挑战赛(ILSVRC)已举行。 ILSVRC使用ImageNet的一个子集,每个子​​集大约有1000个图像1000个类别。总共有大约120万个训练图像,50,000个验证图像,以及150,000个测试图像。ILSVRC-2010是测试集标签可用的ILSVRC的唯一版本,所以这是我们进行大部分实验的版本。因为我们也进入了我们的模型在ILSVRC-2012比赛中,我们在第6部分报告了这一版数据集的结果那么,哪些测试集标签不可用。在ImageNet上,习惯上报告两种错误率:top-1和top-5,其中前5的错误率是正确标签的测试图像的分数不在该模型最可能考虑的五个标签之中。ImageNet由可变分辨率的图像组成,而我们的系统需要恒定的输入尺寸。因此,我们将图像下采样到256×256的固定分辨率矩形图像,我们首先重新缩放图像,使短边长度为256,然后从结果图像中裁剪出中央256×256的补丁。我们没有预先处理图像以任何其他方式,除了从每个像素减去训练集上的平均活动。所以我们在像素的(中心)原始RGB值上训练了我们的网络。

3结构

图2总结了我们网络的体系结构。它包含八个学习层 - 五个卷积和三个完全连接。下面,我们描述一些小说或不寻常的东西我们网络架构的特点。 3.1-3.4节根据我们的估计进行排序他们的重要性,首先是最重要的。

3.1 ReLU非线性

图1:四层卷积神经网络

具有ReLUs(实线)的网络达到25%训练CIFAR-10的错误率提高了六倍比与tanh神经元等效的网络(虚线)。每个网络的学习率都是独立选择的,以尽可能快地进行训练。没有正规化任何一种都被雇佣了。的大小这里演示的效果因网络而异体系结构,但使用ReLUs的网络一致学习的速度要快几倍饱和神经元。将神经元的输出f建模为标准方法的标准方法其输入x的函数是f(x)= tanh(x)或f(x)=(1 + e-x)-1。在训练时间方面具有梯度下降,这些饱和非线性比非饱和非线性慢得多f(x)= max(0; x)。在Nair和Hinton之后,我们将具有这种非线性的神经元称为整流线性单位(ReLUs)。深卷积神经网络与ReLU一起训练的速度比他们的快几倍与tanh单位相等。这是在演示图1显示了在CIFAR-10上需要的迭代次数达到25%的训练误差数据集用于特定的四层卷积网络。这个情节表明我们不会能够用这种大型神经网络进行实验这项工作,如果我们使用传统的饱和神经元楷模。我们并不是第一个在CNN中考虑传统神经元模型的替代方案。例如,Jarrett等人。 [11]声称非线性f(x)= jtanh(x)j特别适合他们的对比类型,也没有正式化,接下来是当地的平均水平Caltech-101数据集。然而,在这个数据集中,主要关心的是防止过度拟合,所以效果他们观察到的不同于加速能够适应我们在使用ReLU时所报告的培训集。加快学习对学生有很大的影响训练大型数据集的大型模型的性能。

3.2在多个GPU上进行培训
单个GTX 580 GPU只有3GB的内存,这限制了网络的最大尺寸可以对其进行培训。事实证明,120万训练样例足以训练网络

它们太大而不适合一个GPU。因此,我们将网络分布在两个GPU上。目前的GPU特别适合跨GPU并行化,因为它们可以读取和写入直接彼此的内存,而不需要通过主机内存。并行化我们所使用的方案基本上将每个GPU上的一半内核(或神经元)放在一个GPU上其他技巧:GPU仅在特定层进行通信。这意味着,例如,第3层的内核从第2层的所有内核映射中获取输入。但是,第4层的内核需要输入只能从驻留在同一GPU上的第3层的那些内核映射中获取。选择模式连通性是交叉验证的一个问题,但这可以让我们精确调整数量沟通,直到它成为计算量的可接受部分。由此产生的架构有点类似于Cire¸san采用的“柱状”CNN等人。 [5],除了我们的列不是独立的(见图2)。这个计划减少了我们的前1名前5名的错误率分别为1.7%和1.2%,而网络的错误率则为一半在一个GPU上训练的每个卷积层中的内核。双GPU网络的时间稍短比单GPU2网络训练。

3.3本地响应标准化

ReLU具有所需的属性,它们不需要输入规范化来防止它们从饱和。如果至少有一些培训实例为ReLU提供了积极的意见,那么学习将会如此发生在那个神经元。但是,我们仍然发现下面的地方标准化计划有助于概括。 ai x表示通过在位置处应用核i而计算的神经元的活动(x; y),然后应用ReLU非线性,响应归一化的活动bi x; y由下式给出表达方式双

x; y = ai x; y = 0k +αmin(j = max(0 NX-1; i; i- + n = n = 2)2)(aj x; y)

其中总和在相同空间位置处的n个“相邻”核映射上运行,并且N是总和图层中的内核数量。内核映射的顺序当然是任意的和确定的训练开始前。这种响应标准化实现了横向抑制的一种形式灵感来源于真实神经元中的类型,为神经元之间的大型活动创造竞争
输出使用不同的内核计算。常数k; N; α和β是其超参数值是使用验证集确定的;我们使用k = 2,n = 5,α= 10-4和β= 0:75。我们

在某些图层中应用ReLU非线性后应用此规范化。该方案与Jarrett等人的局部对比归一化方案有某些相似之处。但我们的将被更准确地称为“亮度标准化”,因为我们不会减去平均活动。响应正常化将我们的前1和前5的错误率分别降低1.4%和1.2%分别。我们还验证了该方案在CIFAR-10数据集上的有效性:四层CNN在没有归一化的情况下实现了13%的测试错误率,在归一化的情况下达到了11%3。

3.4重叠池

CNN中的汇聚层汇总相同内核中相邻神经元组的输出地图。传统上,由相邻汇集单元汇总的邻域不重叠。更确切地说,一个池化层可以被认为是由一个池化网格组成单位间隔s个像素,每个单位总结以该位置为中心的大小为z×z的邻域的联合单位。如果我们设置s = z,我们就可以获得传统的本地共享池在CNNs。如果我们设置s <z,我们获得重叠池。这是我们在整个我们使用的网络,其中s = 2和z = 3。该方案将前1和前5的错误率降低0.4%与非重叠方案s = 2相比分别为0.3%; z = 2,产生效尺寸的输出。我们通常在训练期间观察具有重叠的模型集中发现它稍微难以过度装备。

3.5总体架构

现在我们准备好描述CNN的整体架构。如图2所示,网络包含八个重量层;前五个是卷积,其余三个完全连接。最后的完全连接层的输出被馈送到产生的1000路softmax分布在1000个类别标签上。我们的网络最大化了多项逻辑回归客观,这相当于使对数概率的训练案例的平均值最大化预测分布下的正确标签。第二,第四和第五卷积层的内核只与那些内核相连映射在位于同一GPU上的前一层。第三个核心卷积层连接到第二层中的所有内核映射。全连接层中的神经元连接到前一层中的所有神经元。响应规范化图层遵循第一和第二卷积层。最大汇集层,这一部分描述的那种

3.4,遵循响应标准化层以及第五卷积层。 ReLU

非线性应用于每个卷积和完全连接层的输出。第一卷积层用尺寸为11×11×3的96个内核对224×224×3输入图像进行滤波步幅为4个像素(这是相邻接收场中心之间的距离图2:我们有线电视新闻网体系结构的一个例证,明确显示责任的划分两个GPU之间。一个GPU运行图形顶部的图层部分,另一个运行图层部分在底部。 GPU仅在特定层进行通信。网络的输入是150,528维,并且

网络剩余层中的神经元数量由253,440-186,624-64,896-64,896-43264-4096-4096-1000。核心图中的神经元)。第二个卷积层将(响应归一化的)作为输入并汇集)第一卷积层的输出并用256个大小为5×5×48的内核对其进行过滤。第三,第四和第五卷积层彼此连接而没有任何介入汇集或标准化层。第三卷积层具有384个大小为3×3×的内核256连接到第二卷积层的(归一化,汇集)输出。第四个卷积层有384个大小为3×3×192的内核,第五个卷积层有256个大小为3×3×192的内核。完全连接的层各有4096个神经元。

4减少过度配合
我们的神经网络架构拥有6000万个参数。尽管ILSVRC的1000个类使每个训练样例对从图像到标签的映射施加10比特的约束结果不足以学习如此多的参数而没有显着的过度拟合。下面,我们描述我们打击过度拟合的两种主要方式。
4.1数据增强

减少图像数据过度拟合的最简单和最常用的方法是人为放大该数据集使用标签保留转换。我们采用两种不同的形式的数据增强,这两者都允许从原始图像生成变换后的图像图像的计算量非常小,所以转换后的图像不需要存储在磁盘上。在我们的实现中,转换后的图像是在CPU上的Python代码中生成的,而GPU正在训练上一批图像。所以这些数据增强方案实际上是,计算自由。据增强的第一种形式包括生成图像转换和水平反射。我们通过从中提取随机224×224块(及其水平反射)256×256图像,并在这些提取的补丁上训练我们的网络4。这增加了我们的大小训练集由2048倍决定,尽管由此产生的训练样例当然是高度相互依赖的。如果没有这个方案,我们的网络会遭受实质性的过度配合,而这种情况本来就会发生迫使我们使用更小的网络。在测试时间,网络通过提取进行预测五个224×224的补丁(四个角补丁和中心补丁)以及他们的水平反射(因此共有十个补丁),并对网络的softmax进行的预测进行平均层上的十个补丁。数据增强的第二种形式包括改变RGB通道的强度训练图像。具体来说,我们在整个RGB像素值集上执行PCAImageNet训练集。对于每个训练图像,我们添加多个找到的主要组件,大小与相应的特征值成比例,乘以一个随机变量具有平均零和标准偏差0.1的高斯。因此对每个RGB图像像素Ixy =[Ixy R; Ixy G; Ixy B] T我们增加以下数量:[P1; P2; P3] [α1λ1; α2λ2; α3λ3] T ...其中pi和λi是RGB像素的3×3协方差矩阵的第i个特征向量和特征值值,αi分别是前述的随机变量。每个αi只被绘制一次对于特定训练图像的所有像素,直到该图像再次用于训练,在此处点它重新绘制。该方案大致捕捉了自然图像的重要属性,即对象身份对照度的强度和颜色的变化是不变的。这个计划将前1的错误率降低1%以上。

4.2辍学
结合许多不同模型的预测是减少测试错误的非常成功的方法,但对于已经需要几天的大型神经网络而言,它似乎太昂贵了培训。但是,有一个非常有效的模型组合版本,只需花费大约一个训练期间两个因素。最近引入的技术称为“辍学”设置为以0.5的概率归零每个隐藏的神经元的输出。神经元是“退出”这种方式不会助长前锋,也不会参加回合传播。所以每次提交输入时,神经网络都会采样不同的体系结构,但是所有这些架构都具有相同的权重这种技术减少了神经元的复杂适应,因为神经元不能依赖特定其他神经元的存在。因此,它被迫学习更强大的功能,这些功能可以与许多不同的随机子集结合使用其他神经元。在测试时间,我们使用所有的神经元,但它们的输出乘以0.5,这是一个合理地近似以得到由...产生的预测分布的几何平均数

指数多的退出网络。我们在图2的前两个完全连接的层中使用了丢失。没有丢包,我们的网络例如习惯性地过度适应。辍学率大约是收敛所需的迭代次数的两倍。图3:96个大小的卷积核11×11×3由第一卷积学习层上的224×224×3输入图像。该在GPU 1上学习前48个内核最底层的48个内核是在GPU上学习的详情请参阅6.1节。

5学习细节

我们使用随机梯度下降训练我们的模型批量大小为128个例子,动量为0.9,并且重量衰减为0.0005。我们发现这一小部分的体重衰减对模型学习很重要。在换句话说,这里的体重衰减不仅仅是一个正规化者:它减少了模型的训练错误。更新规则体重w是vi + 1:= 0:9·vi - 0:0005·? ·wi - ? ·?@w @L wi?Diwi + 1:= wi + vi + 1其中i是迭代指数,v是动量变量,?是学习率,D @ w @ L wiEDi是相对于w的目标衍生物的第i批次Di的平均值,在无线网络。我们用标准de的零均值高斯分布初始化各层的权重比值0.01。我们初始化了第二,第四和第五卷积层中的神经元偏差,以及在完全连接的隐藏层中,常数为1.这种初始化会加速通过向ReLU提供积极的投入来学习的早期阶段。我们初始化神经元以恒定的0偏向剩余的层。我们对所有图层使用相同的学习率,我们在整个培训过程中手动进行了调整。我们遵循的启发式是在验证错误时将学习速率除以10利率目前的学习率停止改善。学习率初始化为0.01和在终止前减少三次。我们通过网络训练了大约90个周期的网络训练集120万张图片,这两张图片在两台NVIDIA GTX 580 3GB GPU上花费了五到六天时间。

6结果

表1总结了我们在ILSVRC-2010上的结果。我们的网络达到了前1名和前5名测试集错误率为37.5%和17.0%5。在ILSVRC-2010年的比赛分别为47.1%和28.2%,其中一种方法是对所产生的预测进行平均从6个用不同特征训练的稀疏编码模型[2]开始,从那时起,最好的酒吧结果是45.7%和25.7%,其中一种方法是对从Fisher矢量(FV)训练的两个分类器的预测进行平均,两种密采样的特征[24]。模特Top-1 Top-5稀疏编码[2] 47.1%28.2%SIFT + FVs [24] 45.7%25.7%CNN 37.5%17.0%表1:ILSVRC-2010测试集。斜体是最好的结果被别人取得。我们也在ILSVRC-2012竞标中进入了我们的模型,并在表2中报告了我们的结果ILSVRC-2012测试集标签不公开,我们无法报告所有模型的测试错误率我们尝试了。在本段的其余部分中,我们使用验证和测试错误率可交换使用,因为根据我们的经验,它们相差不超过0.1%(见表2)。本文描述的CNN实现了前5位错误率为18.2%。平均预测五个类似CNN的错误率为16.4%。培训一个CNN,在最后一个池层上增加一个额外的第六个卷积层,对整个ImageNet2011秋季发布进行分类(15M图像,22K类别),然后在ILSVRC-2012上“微调”它会给出错误率16.6%。对整个2011年秋季预先训练的两个CNN的预测与上述五个CNN进行平均,得出错误率为15.3%。通过平均对从不同类型的密集采样特征计算出的FVs进行训练的多个分类器的预测值,第二好的检验条目达到了26.2%的误差率[7]。模型Top-1(val)Top-5(val)Top-5(测试)SIFT + FVs [7] - - 26.2%1 CNN 40.7%18.2% - 5 CNN 38.1%16.4%16.4%1 CNN * 39.0%16.6% - 7美国有线新闻网* 36.7%15.4%15.3%表2:ILSVRC-2012验证和错误率的比较测试集。斜体是其他人取得的最好结果。带有星号*是“预先训练好的”,对整个ImageNet 2011秋季进行分类发布。详情请参阅第6节。最后,我们也报告我们的错误2009年秋季版本的价格ImageNet拥有10,184个类别和890万张图片。在这上面数据集,我们遵循约定在使用一半的文献中培训的图像和一半供测试用。由于没有建立测试集,我们的拆分必须与所使用的拆分不同由以前的作者,但这是不会显着影响结果。我们的前1和前5的错误率在这个数据集上是67.4%和40.9%,通过上面描述的网络获得,但是具有附加的第六卷积层最后一个图层。该数据集的最佳公布结果是78.1%和60.9%[19]。

6.1定性评估

图3显示了网络的两个数据连接层学习的卷积核。该网络学习了各种频率和方向选择内核,以及各种色彩斑点。请注意两个GPU所展示的专业化,这是第3.5节中描述的受限连接的结果。 GPU 1上的内核主要是颜色不可知的,而内核on GPU 2在很大程度上是颜色特定的。这种专业化发生在每一次运行中,并且是独立于任何特定的随机权重初始化(以GPU的重新编号为模)。图4 :(左)八个ILSVRC-2010测试图像和我们模型最可能考虑的五个标签。正确的标签写在每张图像下,并且还显示了分配给正确标签的概率与一个红色酒吧(如果它碰巧在前五)。 (右)第一列有5个ILSVRC-2010测试图像。该剩下的列显示了六个训练图像,它们在最后一个隐藏层中产生特征向量测试图像的特征向量的最小欧几里得距离。在图4的左侧面板中,我们通过计算网络来定性评估网络已经学到了什么对8个测试图像进​​行前5个预测。请注意,即使是偏心的物体,例如螨虫左上角,可以被网络识别。大多数前五名的标签显得合理。例如,只有其他类型的猫被认为是豹的合理标签。在某些情况下(格栅,樱桃)对照片的预期重点存在真正的模糊性。探索网络视觉知识的另一种方法是考虑诱导的特征激活通过最后的图像,4096维隐藏层。如果两张图像产生特征激活具有较小的欧几里得分离的向量,我们可以说神经网络的水平较高认为它们是相似的。图4显示了来自测试集的五幅图像以及六幅图像根据这一措施,他们每个人的训练集最相似。注意到在像素级别时,检索到的训练图像通常在L2中不接近第一个查询图像柱。例如,检索到的狗和大象出现在各种姿势中。我们介绍在辅助材料中获得更多测试图像的结果。通过使用两个4096维实数值向量之间的欧几里得距离来计算相似性效率不高,但通过训练自动编码器来压缩这些向量缩短二进制代码。与应用自动编码器到原始像素[14]相比,这应该会产生更好的图像检索方法[14],它不使用图像标签,因此具有趋势检索具有类似边缘图案的图像,而不管它们是否在语义上相似。

7讨论
我们的研究结果表明,一个大型的深层卷积神经网络能够在纯粹的监督式学习的情况下,在高度挑战性的数据集上实现创纪录的结果。值得注意的是如果单个卷积层被删除,我们的网络性能就会下降。例如,去除任何中间层会导致1的性能损失约2%网络。所以深度对于实现我们的结果真的很重要。了简化我们的实验,即使我们期望,我们也没有使用任何无监督的预训练这将有助于,特别是如果我们获得足够的计算能力来显着增加网络的大小没有获得标记数据量的相应增加。从而远远的,我们的结果已经改善,因为我们已经使我们的网络更大,训练时间更长,但我们依然如此为了匹配人类的地下时间路径,有许多数量级要去
视觉系统。最终,我们希望在视频上使用非常大而深的卷积网时序结构提供的信息缺失或少得多在静态图像中很明显。







猜你喜欢

转载自blog.csdn.net/nineship/article/details/80697441
今日推荐