热门标签 | 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;这些信息在静态图像中丢失或不太明显。


推荐阅读
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 英特尔推出第三代至强可扩展处理器及傲腾持久内存,AI性能显著提升
    英特尔在数据创新峰会上发布了第三代至强可扩展处理器和第二代傲腾持久内存,全面增强AI能力和系统性能。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 【图像分类实战】利用DenseNet在PyTorch中实现秃头识别
    本文详细介绍了如何使用DenseNet模型在PyTorch框架下实现秃头识别。首先,文章概述了项目所需的库和全局参数设置。接着,对图像进行预处理并读取数据集。随后,构建并配置DenseNet模型,设置训练和验证流程。最后,通过测试阶段验证模型性能,并提供了完整的代码实现。本文不仅涵盖了技术细节,还提供了实用的操作指南,适合初学者和有经验的研究人员参考。 ... [详细]
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 计算机学报精选论文概览(2020-2022)
    本文汇总了2020年至2022年间《计算机学报》上发表的若干重要论文,旨在为即将投稿的研究者提供参考。 ... [详细]
  • 机器学习(ML)三之多层感知机
    深度学习主要关注多层模型,现在以多层感知机(multilayerperceptron,MLP)为例,介绍多层神经网络的概念。隐藏层多层感知机在单层神经网络的基础上引入了一到多个隐藏 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • LeetCode 实战:寻找三数之和为零的组合
    给定一个包含 n 个整数的数组,判断该数组中是否存在三个元素 a、b、c,使得 a + b + c = 0。找出所有满足条件且不重复的三元组。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 目录预备知识导包构建数据集神经网络结构训练测试精度可视化计算模型精度损失可视化输出网络结构信息训练神经网络定义参数载入数据载入神经网络结构、损失及优化训练及测试损失、精度可视化qu ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 中国学者实现 CNN 全程可视化,详尽展示每次卷积、ReLU 和池化过程 ... [详细]
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社区 版权所有