热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

经典论文研读:ImageNetClassificationwithDeepConvolutionalNeuralNetworks

一、阅读笔记Alex的这篇经典论文提出了一下几点重要创新:ReLU激活函数Relu可以加速训练过程,性能损失很小。深卷积神经网络与ReLUs训练的

在这里插入图片描述

一、阅读笔记

Alex 的这篇经典论文提出了一下几点重要创新:

ReLU 激活函数

Relu可以加速训练过程,性能损失很小。深卷积神经网络与ReLUs训练的速度比与tanhtanhtanh单位相当的神经网络快几倍。所以,AlexNet中所有的层都采用ReLU作为激活函数。

局部响应归一化

每层的输出,做归一化处理。原文用下面的公式实现归一化:
在这里插入图片描述
这个有些不好理解,我举个简单例子,假设通道数N=10,n=3,k=0,α=1,β=0.5N=10,n=3,k=0,\alpha=1,\beta=0.5N=10,n=3,k=0,α=1,β=0.5,则有,
bx,yi=ax,yi/(ax,yi−1)2+(ax,yi)2+(ax,yi+1)2b_{x,y}^i=a_{x,y}^i/ \sqrt{(a_{x,y}^{i-1})^2+(a_{x,y}^i)^2+(a_{x,y}^{i+1})^2} bx,yi=ax,yi/(ax,yi1)2+(ax,yi)2+(ax,yi+1)2


原公式用min、max函数确保分母中通道的下标合法。

作者认为,局部响应归一化使得相邻通道互相抑制,模仿了人脑的类似结构。本论文表明,该机制有助于提升训练效果。

重叠池

如果我们设置s=z,我们将获得CNNs中常用的传统本地池。如果我们设置s

数据增强

提供了利用一直样本变形生成新样本的方法,从而使得训练效果提升。

dropout

这个新发现的技术叫做“Dropout”,它会以50%的概率将隐含层的神经元输出置为0。以这种方法被置0的神经元不参与网络的前馈和反向传播。因此,每次给网络提供了输入后,神经网络都会采用一个不同的结构,但是这些结构都共享权重。这种技术减少了神经元的复杂适应性,因为神经元无法依赖于其他特定的神经元而存在。因此,它被迫学习更强大更鲁棒的功能,使得这些神经元可以与其他神经元的许多不同的随机子集结合使用。在测试时,我们试着使用了所有的神经元,并将它们的输出乘以0.5。这与采用大量dropout的网络产生的预测结果分布的几何均值近似。

我们在图2中的前两个全连接层上使用了dropout。没有dropout,我们的网络会出现严重的过拟合。Dropout大概会使达到收敛的迭代次数翻倍。

二、原文摘译

摘要

我们训练了一个大型的、深卷积的神经网络,将ImageNet LSVRC-2010比赛中120万幅高分辨率图像分为1000个不同的类别。在测试数据上,我们获得了37.5%和17.0%的前1和前5错误率,这比以前的最新技术要好得多。该神经网络拥有6000万个参数和65万个神经元,由五个卷积层组成,其中一些卷积层之后是max池层,三个完全连接层最后是1000路softmax。为了加快训练速度,我们使用了非饱和神经元和非常有效的卷积运算的GPU实现。为了减少全连通层中的过度拟合,我们采用了最近发展起来的称为“脱落”的正则化方法,该方法被证明是非常有效的。我们还在ILSVRC-2012比赛中加入了该模型的一个变体,并获得了15.3%的前五名测试错误率,而第二名的测试错误率为26.2%。

1. 简介

目前的目标识别方法主要采用机器学习方法。为了提高它们的性能&#xff0c;我们可以收集更大的数据集&#xff0c;学习更强大的模型&#xff0c;并使用更好的技术来防止过度拟合。直到最近&#xff0c;标记图像的数据集还相对较小&#xff0c;大约是上万幅图像&#xff08;例如&#xff0c;NORB[16]、Caltech-101/256[8,9]和CIFAR-10/100[12]&#xff09;。使用这种大小的数据集可以很好地解决简单的识别任务&#xff0c;特别是当它们通过保留标签的转换进行扩充时。例如&#xff0c;MNIST数字识别任务的当前最佳错误率&#xff08;<0.3%&#xff09;接近人类性能[4]。但现实环境中的物体表现出相当大的可变性&#xff0c;因此要学会识别它们&#xff0c;就必须使用更大的训练集。事实上&#xff0c;小图像数据集的缺点已经得到了广泛的认可&#xff08;例如Pinto等人。[21]&#xff09;&#xff0c;但最近才有可能将标记的数据集与数以百万计的图像合并。新的更大的数据集包括LabelMe[23]和ImageNet[6]&#xff0c;前者由几十万个完全分割的图像组成&#xff0c;后者由22000多个类别的1500多万个标记的高分辨率图像组成。

为了从数以百万计的图像中了解成千上万的对象&#xff0c;我们需要一个具有很大学习能力的模型。然而&#xff0c;对象识别任务的巨大复杂性意味着&#xff0c;即使是像ImageNet这样大的数据集也无法描述这个问题&#xff0c;因此我们的模型也应该有大量的先验知识来补偿我们没有的所有数据。卷积神经网络&#xff08;CNNs&#xff09;构成了这样一类模型[16&#xff0c;11&#xff0c;13&#xff0c;18&#xff0c;15&#xff0c;22&#xff0c;26]。它们的能力可以通过改变深度和广度来控制&#xff0c;而且它们还对图像的性质&#xff08;即统计的平稳性和像素依赖的局部性&#xff09;做出了强有力且基本正确的假设。因此&#xff0c;与具有相似大小层的标准前馈神经网络相比&#xff0c;CNN具有更少的连接和参数&#xff0c;因此它们更易于训练&#xff0c;而理论上它们的最佳性能可能只差一点点。

尽管CNN具有吸引人的特性&#xff0c;尽管其本地体系结构相对高效&#xff0c;但它们在大规模应用于高分辨率图像时仍然昂贵得令人望而却步。幸运的是&#xff0c;当前的GPU与高度优化的2D卷积实现相结合&#xff0c;强大到足以促进感兴趣的大型CNN的训练&#xff0c;而最近的数据集&#xff08;如ImageNet&#xff09;包含了足够的标记示例&#xff0c;可以在不严重过度拟合的情况下训练此类模型。

本文的具体贡献如下&#xff1a;我们在ILSVRC-2010和ILSVRC-2012比赛中使用的ImageNet子集上训练了迄今为止最大的卷积神经网络之一[2]&#xff0c;并在这些数据集上取得了迄今为止最好的结果。我们编写了一个高度优化的GPU实现2D卷积和训练卷积神经网络所固有的所有其他操作&#xff0c;我们将公开提供1。我们的网络包含了一些新的和不寻常的特性&#xff0c;这些特性提高了它的性能并减少了它的训练时间&#xff0c;这些特性在第3节中有详细说明。我们的网络规模使得过度拟合成为一个重大问题&#xff0c;即使有120万个标记的训练示例&#xff0c;因此我们使用了几种有效的技术来防止过度拟合&#xff0c;如第4节所述。我们的最终网络包含五个卷积层和三个完全连接层&#xff0c;这个深度似乎很重要&#xff1a;我们发现删除任何卷积层&#xff08;每个卷积层包含的参数不超过模型参数的1%&#xff09;都会导致性能低下。

最后&#xff0c;网络的大小主要受到当前GPU上可用内存量和我们愿意容忍的训练时间的限制。我们的网络需要5到6天的时间来训练两个GTX580和3GB内存的GPU。我们所有的实验都表明&#xff0c;只要等待更快的GPU和更大的数据集可用&#xff0c;我们的结果就可以得到改善。

2. 数据集

ImageNet是一个包含1500多万个标记的高分辨率图像的数据集&#xff0c;属于大约22000个类别。这些图片是从网上收集的&#xff0c;并由人类贴标员使用Amazon的机械土耳其人群体采购工具进行标记。从2010年开始&#xff0c;作为帕斯卡视觉物体挑战赛的一部分&#xff0c;每年举办一次名为ImageNet大型视觉识别挑战赛&#xff08;ILSVRC&#xff09;的比赛。ILSVRC使用ImageNet的一个子集&#xff0c;在1000个类别中的每个类别中大约有1000个图像。总共大约有120万张训练图像、5万张验证图像和15万张测试图像。

ILSVRC-2010是ILSVRC的唯一一个可用测试集标签的版本&#xff0c;因此这是我们执行大多数实验的版本。由于我们也在ILSVRC-2012竞争中输入了我们的模型&#xff0c;因此在第6节中&#xff0c;我们也报告了这个版本的数据集的结果&#xff0c;对于这个版本的数据集&#xff0c;测试集标签是不可用的。在ImageNet上&#xff0c;通常报告两个错误率&#xff1a;top-1和top-5&#xff0c;其中top-5错误率是测试图像的一部分&#xff0c;正确的标签不在模型认为最可能的五个标签中。
ImageNet由可变分辨率的图像组成&#xff0c;而我们的系统需要恒定的输入维度。因此&#xff0c;我们将图像采样到256×256的固定分辨率。给定一幅矩形图像&#xff0c;我们首先对图像进行重新缩放&#xff0c;使其较短的边长度为256&#xff0c;然后从结果图像中裁剪出中心256×256块。我们没有以任何其他方式预处理图像&#xff0c;除了从每个像素减去训练集上的平均活动。因此&#xff0c;我们训练我们的网络的&#xff08;中心&#xff09;原始RGB值的像素。

3. 架构

我们的网络架构如图2所示。它包含八个学习层-五个卷积层和三个完全连接层。下面&#xff0c;我们将描述我们的网络架构的一些新颖或不寻常的特性。第3.1-3.4节根据我们对其重要性的估计进行排序&#xff0c;以最重要的为准。

3.1 ReLU非线性

将神经元的输出f建模为其输入xxx函数的标准方法是f(x)&#61;tanh(x)f(x)&#61;tanh(x)f(x)&#61;tanh(x)f(x)&#61;(1&#43;e−x)−1f(x)&#61;(1&#43;e^{-x})^{-1}f(x)&#61;(1&#43;ex)1。对于梯度下降的训练时间&#xff0c;这些饱和非线性比非饱和非线性f(x)&#61;max(0,x)f(x)&#61;max(0,x)f(x)&#61;max(0,x)慢得多。继Nair和Hinton[20]之后&#xff0c;我们将具有这种非线性的神经元称为整流线性单元&#xff08;ReLUs&#xff09;。深卷积神经网络与ReLUs训练的速度比与tanhtanhtanh单位相当的神经网络快几倍。这在图1中演示&#xff0c;图1显示了对于特定的四层卷积网络&#xff0c;在CIFAR-10数据集上达到25%训练误差所需的迭代次数。这张图显示&#xff0c;如果我们使用传统的饱和神经元模型&#xff0c;我们就不可能用这么大的神经网络来做这项工作。

我们并不是第一个在CNNs中考虑传统神经元模型的替代方案。例如&#xff0c;Jarrett等人。[11] 声称非线性f(x)&#61;∣tanh(x)∣f(x)&#61;|tanh(x)|f(x)&#61;tanh(x)在Caltech-101数据集上的对比或恶意化类型以及局部平均池中特别有效。然而&#xff0c;在这个数据集上&#xff0c;首要的问题是防止过度拟合&#xff0c;因此他们观察到的效果不同于我们使用ReLUs时报告的加速拟合训练集的能力。快速学习对在大数据集上训练的大模型的性能有很大影响。

在这里插入图片描述
图1:ReLUs&#xff08;实线&#xff09;的四层卷积神经网络在CIFAR-10上达到25%的训练错误率&#xff0c;比tanh神经元&#xff08;虚线&#xff09;的等效网络快6倍。每个网络的学习率是独立选择的&#xff0c;以使训练尽可能快。没有采用任何形式的正规化。这里所展示的效应的大小随网络结构的不同而不同&#xff0c;但是具有ReLUs的网络比具有饱和神经元的网络学习速度快几倍。

3.2 多GPU培训

一个GTX580GPU只有3GB的内存&#xff0c;这限制了可以在它上训练的网络的最大大小。事实证明&#xff0c;120万个训练实例足以训练出一个GPU无法容纳的网络。因此&#xff0c;我们将网络分布在两个gpu上。当前的GPU特别适合于跨GPU并行化&#xff0c;因为它们能够直接读写彼此的内存&#xff0c;而不必经过主机内存。我们采用的并行化方案实际上是将一半的内核&#xff08;或神经元&#xff09;放在每个GPU上&#xff0c;还有一个额外的技巧&#xff1a;GPU只在特定的层上通信。这意味着&#xff0c;例如&#xff0c;第3层的内核从第2层的所有内核映射中获取输入。然而&#xff0c;第4层的内核只接受来自第3层的内核映射的输入&#xff0c;这些映射位于同一个GPU上。选择连接模式是交叉验证的一个问题&#xff0c;但这允许我们精确地调整通信量&#xff0c;直到它是计算量的可接受部分。
由此产生的结构与Cire¸san等人使用的“柱状”CNN有点相似。[5] &#xff0c;只是我们的列不是独立的&#xff08;参见图2&#xff09;。与在一个GPU上训练的每个卷积层有一半核的网络相比&#xff0c;该方案将前1和前5错误率分别降低了1.7%和1.2%。两个GPU网的训练时间比一个GPU网稍微短一些。

3.3 局部响应归一化

ReLUs的理想特性是不需要输入规范化来防止它们饱和。如果至少有一些训练实例对ReLU产生了积极的输入&#xff0c;学习将在该神经元中发生。然而&#xff0c;我们仍然发现下面的局部规范化方案有助于推广。用aix&#xff0c;y表示用核i计算的神经元活动
&#xff08;x&#xff0c;y&#xff09;然后应用ReLU非线性&#xff0c;响应规范化活动bix&#xff0c;y由表达式
在这里插入图片描述

给出&#xff0c;其中总和在相同空间位置的n个“相邻”核映射上运行&#xff0c;n是层中的核总数。核映射的顺序当然是任意的&#xff0c;在训练开始之前就已经确定了。这种反应规范化实现了一种侧抑制的形式&#xff0c;这种侧抑制的灵感来源于真实神经元中发现的类型&#xff0c;在使用不同核计算的神经元输出之间产生了对大活动的竞争。常数k、n、α和β是超参数&#xff0c;其值由验证集确定&#xff1b;我们使用k&#61;2、n&#61;5、α&#61;10-4和β&#61;0.75。在某些层中应用ReLU非线性后&#xff0c;我们应用了该标准化&#xff08;见第3.5节&#xff09;。
该方案与Jarrett等人的局部对比度规范化方案有一些相似之处。[11] &#xff0c;但我们的方法更准确地称为“亮度标准化”&#xff0c;因为我们不减去平均活度。响应规范化将前1名和前5名的错误率分别降低了1.4%和1.2%。我们也在CIFAR-10数据集上验证了该方案的有效性&#xff1a;四层CNN在没有标准化的情况下达到13%的测试错误率&#xff0c;在标准化3的情况下达到11%。

3.4 重叠池

CNN中的池层总结了同一核映射中相邻神经元群的输出。传统上&#xff0c;由相邻池单元汇总的邻域不会重叠&#xff08;例如[17、11、4]&#xff09;。更准确地说&#xff0c;池层可以被认为是由间隔s个像素的池单元组成的网格&#xff0c;每个单元汇总以池单元的位置为中心的z×z大小的邻域。如果我们设置s&#61;z&#xff0c;我们将获得CNNs中常用的传统本地池。如果我们设置s

3.5 总体架构

现在我们准备好描述我们的CNN的整体架构。如图2所示&#xff0c;网络包含八层权重&#xff1b;前五层是卷积的&#xff0c;其余三层是完全连接的。最后一个完全连接的层的输出被馈送到1000路softmax&#xff0c;该softmax在1000个类标签上产生分布。我们的网络最大化了多项式logistic回归目标&#xff0c;相当于最大化了预测分布下正确标签的对数概率的跨训练案例的平均值。

第二、第四和第五卷积层的内核只与前一层中位于同一GPU上的内核映射相连接&#xff08;见图2&#xff09;。第三卷积层的核与第二层的所有核映射相连。全连接层的神经元与前一层的所有神经元相连。响应规范化层跟随第一和第二卷积层。第3.4节所述的最大池层遵循响应规范化层和第五卷积层。将ReLU非线性应用于每个卷积层和全连接层的输出。

在这里插入图片描述
图2&#xff1a;我们的CNN体系结构的图解&#xff0c;明确显示了两个GPU之间的职责划分。一个GPU运行图形顶部的层部件&#xff0c;另一个运行底部的层部件。GPU只在某些层进行通信。网络的输入是150528维&#xff0c;网络剩余层中的神经元数量由253440–186624–64896–64896–43264–4096–4096–1000给出。

第一卷积层过滤224×224×3的输入图像&#xff0c;96个核大小为11×11×3&#xff0c;步长为4像素&#xff08;这是核映射中相邻神经元的感受野中心之间的距离&#xff09;。第二卷积层将第一卷积层的&#xff08;响应归一化和池化&#xff09;输出作为输入&#xff0c;并用大小为5×5×48的256个核对其进行滤波。第三、第四和第五卷积层彼此连接&#xff0c;而没有任何中间的池或规范化层。第三卷积层有384个大小为3×3×256的内核连接到第二卷积层的&#xff08;标准化的、合用的&#xff09;输出。第四卷积层有384个3×3×192的核&#xff0c;第五卷积层有256个3×3×192的核。全连接层各有4096个神经元。

4. 减少过度拟合

我们的神经网络结构有6000万个参数。虽然ILSVRC的1000个类使每个训练示例对从图像到标签的映射施加10位约束&#xff0c;但这不足以在不进行大量过度拟合的情况下学习如此多的参数。下面&#xff0c;我们将描述两种主要的方法来对抗过度拟合。

4.1 数据扩充

减少图像数据过度拟合的最简单和最常见的方法是使用保留标签的转换&#xff08;例如&#xff0c;[25&#xff0c;4&#xff0c;5]&#xff09;人工放大数据集。我们采用了两种不同的数据增强方式&#xff0c;这两种方式都允许用很少的计算量从原始图像中生成转换图像&#xff0c;因此不需要将转换图像存储在磁盘上。在我们的实现中&#xff0c;转换后的图像是在CPU上用Python代码生成的&#xff0c;而GPU正在对前一批图像进行训练。因此&#xff0c;这些数据增强方案实际上不需要计算。

数据增强的第一种形式包括生成图像平移和水平反射。我们通过从256×256图像中随机提取224×224个面片&#xff08;及其水平反射&#xff09;并在这些提取的面片上训练我们的网络来实现这一点4。这使我们的训练集的规模增加了2048倍&#xff0c;尽管由此产生的训练示例当然是高度相互依赖的。如果没有这个方案&#xff0c;我们的网络将遭受严重的过度拟合&#xff0c;这将迫使我们使用更小的网络。在测试时&#xff0c;网络通过提取5个224×224的面片&#xff08;四个角面片和中心面片&#xff09;以及它们的水平反射&#xff08;因此总共10个面片&#xff09;进行预测&#xff0c;并将网络的softmax层对10个面片的预测进行平均。

第二种形式的数据增强包括改变训练图像中RGB通道的强度。具体来说&#xff0c;我们在整个ImageNet训练集中对RGB像素值集执行PCA。在每个训练图像中&#xff0c;我们将找到的主成分的倍数相加&#xff0c;其大小与对应的特征值乘以平均值为零且标准差为0.1的高斯随机变量成正比。因此对每个RGB图像像素Ixy&#61;[IxyR,IxyG,IxyB]I_{xy}&#61;[I_{xy}^R,I_{xy}^G,I_{xy}^B]Ixy&#61;[IxyR,IxyG,IxyB]我们添加以下数量&#xff1a;
[p1,p2,p3][α1λ1,α2λ2,α3λ3]T[\bm{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

其中pi\bm{p_i}piλi\lambda_iλi分别是RGB像素值的3×3协方差矩阵的特征向量和特征值&#xff0c;αi\alpha_iαi是上述随机变量。对于特定训练图像的所有像素&#xff0c;每个αi\alpha_iαi仅绘制一次&#xff0c;直到该图像再次用于训练&#xff0c;此时将重新绘制。该方案近似地捕捉了自然图像的一个重要性质&#xff0c;即对象的身份对光照强度和颜色的变化是不变的。该方案将前1位错误率降低了1%以上。

4.2 Dropout

结合许多不同模型的预测结果是减少测试错误率的一种非常成功的方法[1,3]&#xff0c;但对于已经花费数天时间训练的大型神经网络来说&#xff0c;它似乎成本太高了。然而&#xff0c;有一种非常有效的模型组合方法&#xff0c;在训练期间&#xff0c;只需要消耗1/2的参数。这个新发现的技术叫做“Dropout”[10]&#xff0c;它会以50%的概率将隐含层的神经元输出置为0。以这种方法被置0的神经元不参与网络的前馈和反向传播。因此&#xff0c;每次给网络提供了输入后&#xff0c;神经网络都会采用一个不同的结构&#xff0c;但是这些结构都共享权重。这种技术减少了神经元的复杂适应性&#xff0c;因为神经元无法依赖于其他特定的神经元而存在。因此&#xff0c;它被迫学习更强大更鲁棒的功能&#xff0c;使得这些神经元可以与其他神经元的许多不同的随机子集结合使用。在测试时&#xff0c;我们试着使用了所有的神经元&#xff0c;并将它们的输出乘以0.5。这与采用大量dropout的网络产生的预测结果分布的几何均值近似。

我们在图2中的前两个全连接层上使用了dropout。没有dropout&#xff0c;我们的网络会出现严重的过拟合。Dropout大概会使达到收敛的迭代次数翻倍。

5. 学习细节

我们使用随机梯度下降训练我们的模型&#xff0c;批量大小为128例&#xff0c;动量为0.9&#xff0c;权重衰减为0.0005。我们发现&#xff0c;这种少量的重量衰减对模型的学习很重要。换句话说&#xff0c;这里的权重衰减不仅仅是一个正则化器&#xff1a;它减少了模型的训练误差。权重w的更新规则是
在这里插入图片描述
其中i是迭代索引&#xff0c;v是动量变量&#xff0c;
在这里插入图片描述
是学习率&#xff0c;并且第i批目标导数相对于w的平均值&#xff0c;在wi处计算。

我们用标准差0.01从零均值高斯分布初始化每一层的权重。我们用常数1初始化第二、第四和第五卷积层以及完全连接的隐藏层中的神经元偏差。这种初始化通过向ReLUs提供积极的输入来加速学习的早期阶段。我们用常数0初始化剩余层的神经元偏差。

我们对所有层使用相同的学习率&#xff0c;在整个训练过程中我们手动调整。我们采用的启发式方法是&#xff0c;当验证错误率不再随当前学习率提高而提高时&#xff0c;将学习率除以10。在终止前&#xff0c;学习率初始化为0.01&#xff0c;降低了三倍。我们通过一组120万张图片对网络进行了大约90个周期的训练&#xff0c;在两台NVIDIA gtx580 3GB GPU上训练了5到6天。

6. 结果

我们关于ILSVRC-2010的结果总结在表1中。我们的网络达到了37.5%和17.0%5的前1和前5测试集错误率。在ILSVRC-2010竞赛中&#xff0c;最佳性能分别为47.1%和28.2%&#xff0c;其方法是对六个基于不同特征训练的稀疏编码模型的预测进行平均[2]&#xff0c;从那时起&#xff0c;最好的公布结果是45.7%和25.7%&#xff0c;方法是平均两个分类因子的预测&#xff0c;这两个分类因子是根据两种密集采样特征计算的Fisher向量&#xff08;FVs&#xff09;训练的[24]。

在这里插入图片描述
在这里插入图片描述
我们还在ILSVRC-2012比赛中输入了我们的模型&#xff0c;并在表2中报告了我们的结果。由于稀疏编码[2]47.1%28.2%ILSVRC-2012测试集标签不公开&#xff0c;SIFT&#43;FVs[24]45.7%25.7%我们无法报告CNN 37.5%17.0%尝试的所有模型的测试错误率。在本段的其余部分中&#xff0c;我们交替使用验证和测试错误率&#xff0c;因为根据我们的经验&#xff0c;它们之间的差异不超过0.1%&#xff08;见表2&#xff09;。本文所描述的CNN的前5位错误率为18.2%。对五个相似cnn的预测进行平均&#xff0c;误差率为16.4%。训练一个CNN&#xff0c;在最后一个池层上增加一个第六个进化层&#xff0c;对2011年秋季发布的整个ImageNet进行分类&#xff08;15M个图像&#xff0c;22K个类别&#xff09;&#xff0c;然后在ILSVRC-2012上对其进行“微调”&#xff0c;错误率为16.6%。将2011年秋季重新租赁的两个CNN与上述五个CNN的预测值进行平均&#xff0c;误差率为15.3%。第二个最佳con-test条目的错误率为26.2%&#xff0c;其方法是对根据不同类型的密集采样特征计算的FVs训练的多个分类器的预测进行平均[7]。

最后&#xff0c;我们还报告了我们在2009年秋季版本的magnet上的错误率&#xff0c;该版本包含10184个类别SIFT&#43;FVs[7]-26.2%和890万张图像。在这个1 CNN 40.7%18.2%的数据集上&#xff0c;我们遵循文献中使用一半图像进行训练和一半CNN39.0%16.6%进行测试的惯例5 CNN 38.1%16.4%16.4%。由于没有es-7cnns36.7%15.4%15.3%的测试集&#xff0c;我们的分裂需要与以前的作者使用的分裂有很大的不同&#xff0c;但这不会对结果产生明显的影响。在这个数据集上&#xff0c;我们的前1和前5错误率分别为67.4%和40.9%&#xff0c;通过上述网络实现&#xff0c;但是在最后一个池层上增加了第6个卷积层。在这个数据集上发表的最佳结果是78.1%和60.9%[19]。

6.1 定性评价

图3显示了由网络的两个数据连接层学习的卷积核。该网络已经学习了各种频率和方向选择核&#xff0c;以及各种颜色的斑点。注意两个gpu所表现出的专门化&#xff0c;这是第3.5节描述的受限连接的结果。GPU 1上的内核主要是颜色不可知的&#xff0c;而GPU 2上的内核主要是颜色特定的。这种专门化在每次运行期间发生&#xff0c;并且独立于任何特定的随机权重初始化&#xff08;将gpu的重新编号模块化&#xff09;。

在这里插入图片描述

在这里插入图片描述

在图4的左面板中&#xff0c;我们通过计算8张测试图像上的前5个预测&#xff0c;定性地评估网络所学到的知识。请注意&#xff0c;即使是偏离中心的对象&#xff08;例如左上角的斜接&#xff09;也可以被网络识别。排名前五的大多数标签看起来都很合理。例如&#xff0c;只有其他类型的猫才被认为是豹的合理标签。在某些情况下&#xff08;格栅&#xff0c;樱桃色&#xff09;&#xff0c;照片的焦点确实模棱两可。

另一种探索网络视觉知识的方法是考虑图像在最后4096维隐藏层所引起的特征激活。如果两幅图像用一个小的欧几里德分离产生特征激活向量&#xff0c;我们可以说神经网络的高层认为它们是相似的。图4显示了来自测试集的5个图像和来自训练集的6个图像&#xff0c;根据这个度量&#xff0c;它们与每个图像最相似。注意&#xff0c;在像素级&#xff0c;检索到的训练图像通常在L2中不接近第一列中的查询图像。例如&#xff0c;找回的狗和大象以各种姿势出现。我们在补充材料中提供了更多测试图像的结果。

利用两个4096维实值向量之间的欧几里德距离计算相似度效率不高&#xff0c;但通过训练自动编码器将这些向量压缩为短二进制码可以提高相似度。这将产生比对原始像素应用自动编码器更好的图像检索方法[14]&#xff0c;后者不使用图像标签&#xff0c;因此具有检索具有相似边缘模式的图像的趋势&#xff0c;无论它们在语义上是否相似。

7. 讨论

我们的结果表明&#xff0c;一个大的、深卷积的神经网络能够使用纯监督学习在一个高挑战性的数据集上获得破纪录的结果。值得注意的是&#xff0c;如果去掉一个卷积层&#xff0c;我们的网络性能就会下降。例如&#xff0c;删除任何中间层都会导致网络的最高性能损失约2%。所以深度对我们的成果非常重要。

为了简化我们的实验&#xff0c;我们没有使用任何无监督的预训练&#xff0c;即使我们期望它会有帮助&#xff0c;特别是如果我们获得足够的计算能力来显著增加网络的大小&#xff0c;而不获得相应的增加标记数据的数量。到目前为止&#xff0c;我们的结果已经有所改善&#xff0c;因为我们已经使我们的网络更大&#xff0c;训练时间更长&#xff0c;但我们仍然有许多数量级去匹配人类视觉系统的下时间路径。最后&#xff0c;我们希望在视频序列上使用非常大和深度的卷积网络&#xff0c;其中时间结构提供非常有用的信息&#xff0c;这些信息在静态图像中丢失或不太明显。


推荐阅读
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了在Python中使用zlib模块进行字符串的压缩与解压缩的方法,并探讨了其在内存优化方面的应用。通过压缩存储URL等长字符串,可以大大降低内存消耗,虽然处理时间会增加,但是整体效果显著。同时,给出了参考链接,供进一步学习和应用。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • Opencv提供了几种分类器,例程里通过字符识别来进行说明的1、支持向量机(SVM):给定训练样本,支持向量机建立一个超平面作为决策平面,使得正例和反例之间的隔离边缘被最大化。函数原型:训练原型cv ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • plt python 画直线_机器学习干货,一步一步通过Python实现梯度下降的学习
    GradientDescent-梯度下降梯度下降法(英语:Gradientdescent)是一个一阶最优化算法,通常也称为最速下降法。要使用梯度下降法找 ... [详细]
  • 安装Tensorflow-GPU文档第一步:通过Anaconda安装python从这个链接https:www.anaconda.comdownload#window ... [详细]
  • 2017亚马逊人工智能奖公布:他们的AI有什么不同?
    事实上,在我们周围,“人工智能”让一切都变得更“智能”极具讽刺意味。随着人类与机器智能之间的界限变得模糊,我们的世界正在变成一个机器 ... [详细]
author-avatar
牛奶香橙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有