AlexNet 论文拜读:ImageNet Classification with Deep Convolutional Neural Networks

AlexNet原文链接:http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf

0 摘要

我们训练了一个大型的深度卷积神经网络,将 ImageNet LSVRC-2010 竞赛中的120万张高分辨率图像分类到1000个不同的类中。在测试数据上,我们获得了前1名和前5名的错误率,分别为 37.5 % 37.5\% 37.5% 17.0 % 17.0\% 17.0%,大大优于之前的水平。该神经网络有6000万个参数和65万个神经元,由5个卷积层和3个全连接层组成,其中一些卷积层后面是 max-pooling 层,最后是1000-way softmax层。为了使训练更快,我们使用了非饱和神经元和一个非常高效的GPU实现卷积运算。为了减少全连通层的过拟合,我们采用了一种最近开发的正则化方法,称为"dropout",它被证明是非常有效的。我们还在 ILSVRC-2012 比赛中输入了该模型的一个变体,并获得了 15.3 % 15.3\% 15.3%的前5名测试错误率,相比之下,第二名获得了 26.2 % 26.2\% 26.2%的错误率。

1 介绍

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

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

尽管CNNs的质量很吸引人,尽管它们的本地架构相对高效,但在高分辨率图像上大规模应用它们的成本仍然高得令人望而却步。幸运的是,目前的gpu与高度优化的2D卷积实现相结合,已经足够强大,可以方便地训练有趣的大型CNNs,而且最近的数据集(如ImageNet)包含了足够多的标记示例,可以训练这样的模型,而不会出现严重的过拟合问题。

本文的具体贡献如下:我们对在 ILSVRC-2010 和 ILSVRC-2012 比赛[2]中使用的 ImageNet 的子集进行了迄今为止最大的卷积神经网络之一的训练,并取得了迄今为止在这些数据集上报道过的最好的结果。我们编写了一个高度优化的GPU实现的2D卷积和所有其他操作的固有训练卷积神经网络,并公开提供http://code.google.com/p/cuda-convnet/。我们的网络包含许多新的和不寻常的特性,这些特性提高了它的性能并减少了它的训练时间,这些特性在第3节中详细介绍。我们的网络的规模使得过度拟合成为一个重要的问题,即使有120万个标记的训练示例,所以我们使用了一些有效的技术来防止过度拟合,这些技术将在第4节中描述。我们最终的网络包含5个卷积层和3个全连接层,这个深度似乎很重要:我们发现去掉任何卷积层(每个卷积层包含的model s参数不超过 1 % 1\% 1%)都会导致性能下降。

最后,网络的大小主要受到当前 GPUs 上可用内存的大小和我们愿意忍受的训练时间的大小的限制。我们的网络需要5到6天的时间在两个GTX 580 3GB GPUs 上进行培训。我们所有的实验都表明,只要等待更快的 GPUs 和更大的数据集可用,我们的结果就可以得到改善。

2 数据集

ImageNet 是一个包含超过1500万张高分辨率图像的数据库,属于大约22000个类别。这些图片是从网上收集的,并由人类贴标签者使用亚马逊的土耳其机械众包工具进行标记。从2010年开始,作为Pascal视觉对象挑战赛的一部分,每年都会举办一场名为ImageNet大型视觉识别挑战赛(ILSVRC)的竞赛。ILSVRC使用ImageNet的一个子集,每个类别大约有1000张图片。总共大约有120万张训练图像、5万张验证图像和15万张测试图像。

ILSVRC-2010是测试集标签可用的唯一ILSVRC版本,因此这是我们进行大多数实验的版本。因为我们也在ILSVRC-2012竞赛中加入了我们的模型,所以在第6节中,我们也报告了这个版本的数据集的结果,这个版本的测试集标签是不可用的。在ImageNet上,通常报告两个错误率:top 1 和 top 5,其中top 5错误率是测试图像的一部分,其中正确的标签不在模型认为最可能的五个标签中。

ImageNet由可变分辨率的图像组成,而我们的系统需要一个恒定的输入维数。因此,我们将图像采样到一个固定的分辨率256 x 256。给定一个矩形图像,我们首先重新调整图像,使其短边长度为256,然后从生成的图像中裁剪出中心的256 x 256块。我们没有以任何其他方式对图像进行预处理,除了从每个像素减去训练集上的平均活动。所以我们训练我们的网络在像素的原始RGB值(居中)。

3 架构

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

3.1 ReLU 非线性

将神经元的输出 f f f 作为其输入x的函数进行建模的标准方法是 f ( x ) = t a n h ( x ) f(x) = tanh(x) f(x)=tanh(x) f ( x ) = ( 1 + e − x ) − 1 f(x)=(1+e^{-x})^{-1} f(x)=(1+ex)1。在梯度下降训练时间方面,这些饱和非线性比非饱和非线性 f ( x ) = m a x ( 0 , x ) f(x) = max(0,x) f(x)=max(0,x);在Nair和Hinton[20]之后,我们将具有这种非线性的神经元称为 Rectified Linear Units(ReLUs)。使用ReLUs的深度卷积神经网络的训练速度比使用tanh单元的训练速度快几倍。Figure 1 展示了在一个特定的四层卷积网络中,在CIFAR-10数据集上达到 25 % 25\% 25% 的训练误差所需的迭代次数。这张图表明,如果我们使用传统的饱和神经元模型,我们就无法用这么大的神经网络进行实验。

图1:使用ReLUs(实线)的四层卷积神经网络在CIFAR-10上达到25%的训练错误率,比使用tanh神经元(虚线)的同等网络快六倍。每个网络的学习率都是独立选择的,以使训练尽可能快。没有任何形式的正规化。这里演示的效果的大小随网络结构的不同而不同,但是使用ReLUs的网络始终比使用饱和神经元的网络学习速度快几倍。

我们不是第一个在CNNs中考虑替代传统神经元模型的人。例如,Jarrett et al.[11]声称非线性 f ( x ) = ∣ t a n h ( x ) ∣ f(x) = |tanh(x)| f(x)=tanh(x) 特别适用于他们在Caltech-101数据集上的对比归一化以及随后的局部平均池化。然而,在这个数据集上,主要关注的是防止过度拟合,因此他们观察到的效果与我们在使用ReLUs时报告的加速适应训练集的能力不同。快速学习对在大型数据集上训练的大型模型的性能有很大的影响。

3.2 多个GPUs上训练

一个单独的GTX 580 GPU只有3GB的内存,这限制了可以在其上训练的网络的最大大小。事实证明,120万个训练样本就足以训练出一个GPU无法容纳的庞大网络。因此,我们将网络分布在两个GPU上。当前的GPU特别适合于跨GPU并行,因为它们可以直接读写彼此的内存,而不需要经过主机内存。我们采用的并行方案实际上是将一半的内核(或神经元)放在每个GPU上,还有一个额外的技巧:GPU只在特定的层中通信。这意味着,例如,第3层的内核从第2层的所有内核映射中获取输入。然而,第4层的内核只从位于同一GPU的第3层内核映射中获取输入。选择连接模式对于交叉验证来说是一个问题,但是这允许我们精确地调整通信量,直到它是计算量中可接受的一部分。

合成体系结构有点类似于Ciresan et al. 的"columnar" CNN。[5],除了我们的列不独立(参见Figure 2)。该方案减少了我们(和前5错误率 1.7 % 1.7\% 1.7% 1.2 % 1.2\% 1.2%,分别比净一半的内核在每个卷积层对准一个GPU。双GPU网络的训练时间比单GPU网络略短。(一个GPU网络在最后一层的内核数量与两个GPU网络相同。这是因为大多数网络的参数都在第一个全连接层中,该层以最后一个卷积层作为输入。因此,为了使两个网具有大致相同的参数数量,我们没有将最终卷积层的大小减半(也没有将随后的全连接层的大小减半)。因此,这种比较偏向于单GPU网络,因为它比双GPU网络的一半大。)

3.3 局部响应归一化

ReLUs有一个理想的特性,即不需要对输入进行归一化,以防止其饱和。如果至少有一些训练的例子对ReLU产生了积极的输入,学习就会发生在那个神经元上。但是,我们仍然发现以下局部归一化方案有助于泛化。用 a x , y i a_{x,y}^i ax,yi表示将内核 i i i 应用于 ( x , y ) (x,y) (x,y);然后应用ReLU非线性,响应归一化的活动bi x;y由表达式给出
b x , y i = a x , y i / ( k + α ∑ j = m a x ( 0 , i − n / 2 ) m i n ( N − 1 , i + n / 2 ) ( a x , y i ) 2 ) b_{x,y}^i=a_{x,y}^i/(k+\alpha\sum_{j=max(0,i-n/2)}^{min(N-1,i+n/2)}(a_{x,y}^i)^2) bx,yi=ax,yi/(k+αj=max(0,in/2)min(N1,i+n/2)(ax,yi)2)
^-^markdown输入公式还是不太熟练,但慢慢在进步了 ^-^

其中,和在相同的空间位置上运行在 n n n 个"相邻"的内核映射上, N N N 是该层中内核的总数。内核映射的顺序当然是任意的,在训练开始之前就已经确定了。这种反应归一化实现了一种形式的横向抑制,其灵感来自于真实神经元的类型,在使用不同核计算的神经元输出之间创造了对大型活动的竞争。常数 k , n , α k,n,\alpha k,n,α β β β超参数决心通过一组验证的值;我们使用 k = 2 , n = 5 , α = 1 0 4 , β = 0.75 k = 2,n = 5,α= 10^4,β= 0.75 k=2,n=5,α=104,β=0.75。在对某些层应用ReLU非线性之后,我们应用了这种归一化(参见3.5节)。

这个方案与Jarrett et al.[11]的局部对比归一化方案有一些相似之处,但是我们的方案更准确地称为亮度归一化,因为我们没有减去平均活动。响应规范化使我们的前1名和前5名错误率分别降低了 1.4 % 1.4\% 1.4% 1.2 % 1.2\% 1.2%。我们还在CIFAR-10数据集上验证了该方案的有效性:一个四层CNN在不进行归一化的情况下测试错误率为 13 % 13\% 13%,在进行归一化的情况下测试错误率为 11 % 11\% 11%。(由于空间限制,我们无法详细描述这个网络,但它是由以下代码和参数文件指定的:http://code.google.com/p/cuda-convnet/。)

3.4 重叠池化

CNNs中的池化层总结了同一内核映射中相邻神经元组的输出。传统上,相邻的共用单元汇总的邻区不重叠(如[17,11,4])。更准确地说,一个池化层可以被认为是由一个间隔为 s s s 像素的池化单元网格组成,每个网格汇总一个大小为 z × z z × z z×z 的以池化单元位置为中心的邻域。如果我们设 s = z s = z s=z,我们可以得到CNNs中常用的传统局部池化。如果我们设置 s < z s < z s<z,我们得到重叠池化。这是我们在整个网络中使用的, s = 2 s = 2 s=2 z = 3 z = 3 z=3。与生成等效维度的输出的不重叠方案 s = 2 , z = 2 s = 2,z=2 s=2,z=2相比,该方案将top-1和top-5的错误率分别降低了#0.4%$和 0.3 % 0.3\% 0.3%。我们通常在训练过程中观察到,具有重叠池化的模型发现过度拟合稍微困难一些。

3.5 整体架构

现在我们准备描述CNN的整体架构。如Figure 2所示,该网络包含8个带有权重的层,前5个是卷积的,其余3个是完全连接的。最后一个全连接层的输出被馈送到一个1000-way 的softmax,产生一个超过1000个类标签的分布。我们的网络最大化了多项式逻辑回归目标,这等价于最大化了预测分布下正确标签的对数概率的训练情形的平均值。

第二层、第四层和第五层卷积层的内核只连接到前一层驻留在同一GPU上的内核映射(参见Figure 2)。第三个卷积层的内核连接到第二层的所有内核映射。在完全连接层的神经元连接到前一层的所有神经元。响应归一化层在第一和第二卷积层之后。最大池化层(如3.4节所述)既遵循响应归一化层,也遵循第五个卷积层。每个卷积和全连接层的输出都采用 ReLU 非线性。

第一卷积层对大小为 11 × 11 × 3 11×11×3 11×11×3、步幅为4个像素的96个内核的 224 × 224 × 3 224×224×3 224×224×3输入图像进行滤波(这是在内核映射中相邻神经元的感受野中心之间的距离。)第二卷积层将第一卷积层的输出(响应归一化和池化)作为输入,用大小为 5 × 5 × 48 5×5×48 5×5×48的256个内核进行过滤。第三、第四和第五个卷积层相互连接,而不需要任何池化或归一化层。第三个卷积层有384个大小为 3 × 3 × 256 3×3×256 3×3×256的内核连接到第二个卷积层的输出(归一化、合并)。第4个卷积层有384个大小为 3 × 3 × 192 3×3×192 3×3×192的内核,第5个卷积层有256个大小为 3 × 3 × 192 3×3×192 3×3×192的内核。全连接层各有4096个神经元。

4 减少过拟合

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

4.1 数据增强

减少图像数据过拟合的最简单和最常见的方法是使用保存标签的转换(例如,[25,4,5])来人为地扩大数据集。我们采用了两种不同的数据增强形式,这两种方法都允许从原始图像生成转换后的图像,并且只需要很少的计算,因此转换后的图像不需要存储在磁盘上。在我们的实现中,转换后的图像是用Python代码在CPU上生成的,而GPU则在前一批图像上进行训练。因此,这些数据扩充方案实际上是无需计算的。

数据增强的第一种形式包括生成图像平移和水平反射。我们从256 x 256 图像中随机抽取224 x 224个补丁(及其水平反射),并在这些补丁上训练我们的网络(这就是为什么Figure 2中的输入图像是224×224×3维的原因)。这将我们的训练集的大小增加了2048倍,尽管由此产生的训练示例当然是高度相互依赖的。如果没有这个方案,我们的网络将遭受严重的过拟合,这将迫使我们使用更小的网络。在测试时,网络通过提取5个224 x 224个补丁(四个角补丁和中心补丁)及其水平反射(总共10个补丁),并对网络的 softmax 层在这10个补丁上的预测进行平均,从而做出预测。

数据增强的第二种形式是改变训练图像中RGB通道的强度。具体来说,我们在整个ImageNet训练集中对RGB像素值集执行PCA。对于每个训练图像,我们将找到的主成分的倍数加上与相应的特征值成比例的大小乘以一个随机变量从一个均值为零,标准差为0.1的高斯分布中得出。因此,对每个RGB图像像素 I x y = [ I x y R , I x y G , I x y B ] T I_{xy}=[I_{xy}^R,I_{xy}^G,I_{xy}^B]^T Ixy=[IxyR,IxyG,IxyB]T 我们添加以下量:
[ p 1 , p 2 , p 3 ] [ α 1 λ 1 , α 2 λ 2 , α 3 λ 3 ] T [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
这里的 p i p_i pi λ i \lambda_i λi分别是第 i i i个特征向量和RGB像素值的3×3协方差矩阵的特征值,并且 α i \alpha_i αi是前面提到的随机变量,每一个 α i \alpha_i αi只对特定训练图像的所有像素绘制一次,直到该图像再次用于训练为止,此时将重新绘制该图像。该方案近似地捕获了自然图像的一个重要属性,即对象标识不随光照强度和颜色的变化而变化。该方案将最高错误率降低了 1 % 1\% 1%以上。

4.2 Dropout

结合许多不同模型的预测是一种非常成功的减少测试错误的方法[1,3],但是对于已经需要几天训练的大型神经网络来说,它似乎太昂贵了。然而,有一个非常有效的模型组合版本,在训练期间只需要花费大约两倍的成本。最近介绍的技术称为“dropout”[10],它将每个隐藏神经元的输出设置为0,输出的概率为0.5。以这种方式丢弃的神经元不参与正向传递,也不参与反向传播。所以每次输入时,神经网络都会对不同的结构进行采样,但是所有这些结构都共享权重。这种技术减少了神经元之间复杂的协同适应,因为神经元不能依赖于特定的其他神经元的存在。因此,它被迫学习与其他神经元的许多不同随机子集一起使用的更健壮的特征。在测试时,我们使用所有的神经元,但将它们的输出乘以0.5,这是一个合理的近似值,接近于取由指数多的dropout网络产生的预测分布的几何平均值。

我们在Figure 2的前两个完全连接的层中使用了dropout。没有dropout,我们的网络显示出大量的过拟合。Dropout大致是收敛所需迭代次数的两倍。

5 学习的细节

我们使用随机梯度下降训练我们的模型,批量大小为128,动量为0.9,重量衰减为0.0005。我们发现,这一小部分重量衰减对模型的学习很重要。换句话说,这里的重量衰减不仅仅是一个正则化器:它减少了模型的训练误差。权重 w w w的更新规则是:
v i + 1 : = 0.9 ⋅ v i − 0.0005 ⋅ ϵ ⋅ w i − ϵ ⋅ ⟨ ∂ L ∂ w ∣ w i ⟩ D i v_{i+1}:=0.9·v_i-0.0005·\epsilon·w_i-\epsilon·\langle\frac {\partial L}{\partial w}|_{w_i}\rangle_{D_i} vi+1:=0.9vi0.0005ϵwiϵwLwiDi
w i + 1 : = w i + v i + 1 w_{i+1}:=w_i+v_{i+1} wi+1:=wi+vi+1
这里的 i i i是迭代索引值, v v v是动态变量, ϵ \epsilon ϵ是学习率, ⟨ ∂ L ∂ w ∣ w i ⟩ D i \langle\frac {\partial L}{\partial w}|_{w_i}\rangle_{D_i} wLwiDi是目标函数对 w w w求导的第 i i i D i D_i Di的平均值,在 w i w_i wi处的取值。

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

我们对所有层使用相同的学习率,并在整个培训过程中手动调整。我们遵循的启发式方法是将学习率除以10,当验证错误率停止随当前学习率改善时。初始化学习率为0.01,终止前降低3次。我们在两台NVIDIA GTX 580 3GB GPUs 上对120万张图像进行了大约90个周期的训练,这需要5到6天的时间。

6 结果

我们在ILSVRC-2010上的研究结果如Table 1所示。我们的网络达到了测试集的前1名和前5名,错误率分别为 37.5 % 37.5\% 37.5% 17.0 % 17.0\% 17.0%(如第4.1节所述,在没有对十个补丁的预测进行平均的情况下,错误率分别为 39.0 % 39.0\% 39.0% 18.3 % 18.3\% 18.3%)。ILSVRC - 2010期间取得最佳性能竞争是 47.1 % 47.1\% 47.1% 28.2 % 28.2\% 28.2%,采用的方法是对6个训练在不同特征[2]上的稀疏编码模型的预测结果进行平均,从那以后发表的最好的一个方法的结果是 45.7 % 45.7\% 45.7% 25.7 % 25.7\% 25.7%,从两类密集采样特征计算出训练在费舍尔向量(FVs)上的两个分类器的预测的平均值[24]。

我们还在ILSVRC-2012竞赛中输入了我们的模型,并在Table 2中报告了我们的结果。由于ILSVRC-2012测试集标签不可公开获取,我们无法报告我们尝试的所有型号的测试错误率。在本段的其余部分,我们交替使用验证和测试错误率,因为根据我们的经验,它们的差异不超过 0.1 % 0.1\% 0.1%(见Table 2)。本文所描述的CNN的前5名错误率为 18.2 % 18.2\% 18.2%。对5个类似CNNs的预测进行平均,错误率为 16.4 % 16.4\% 16.4%。训练一个CNN,在最后的池化层上增加了额外的第六层卷积层,对整个ImageNet 2011年秋季发行版(1500万张图片,22K类)进行分类,然后在ilsvvc -2012上对其进行"微调",错误率为 16.6 % 16.6\% 16.6%。在2011年秋季发布的整个版本中,预先训练了两个CNNs和前面提到的五个CNNs,对它们的预测进行平均,得出的误差率为 15.3 % 15.3\% 15.3%。第二好的参赛作品的错误率达到了 26.2 % 26.2\% 26.2%,其方法是对几个在FVs上训练的分类器的预测进行平均,这些分类器是从不同类型的密集采样特征[7]中计算出来的。

最后,我们还报告了2009年秋季版的ImageNet的错误率,包括10184个类别和890万张图像。在这个数据集上,我们遵循文献中使用一半图像进行训练和一半图像进行测试的惯例。由于没有建立测试集,我们的分割必然不同于以前的作者使用的分割,但这并不会显著影响结果。在这个数据集上,我们的前1和前5级错误率分别为 67.4 % 67.4\% 67.4% 40.9 % 40.9\% 40.9%,这是通过前面描述的网络实现的,但是在最后一个池化层上增加了第6个卷积层。在这个数据集上发布的最佳结果是 78.1 % 78.1\% 78.1% 60.9 % 60.9\% 60.9%[19]。

6.1 定性评估

Figure 3显示了网络的两个数据连接层学习到的卷积内核。该网络已经学会了各种频率和定向选择内核,以及各种颜色的斑点。请注意两个GPUs显示的专门化,这是第3.5节中描述的限制连接性的结果。GPU 1 上的内核很大程度上是颜色无关的,而GPU 2上的内核很大程度上是颜色专有的。这种专门化发生在每次运行期间,并且独立于任何特定的随机权重初始化(模块化GPUs的重新编号)。

在Figure 4的左侧面板中,我们通过计算8张测试图像的前5个预测,定性地评估了网络所获得的信息。请注意,即使是偏离中心的对象,比如左上角的螨,也可以被网络识别。排名前五的大多数品牌似乎都很合理。例如,只有其他类型的猫被认为是豹的合理标签。在某些情况下(格栅,樱桃),有真正的模糊的预期焦点的照片。

Figure4:(左)8张ILSVRC-2010测试图像和我们的模型认为最可能的5个标签。每个图像下都写有正确的标签,分配给正确标签的概率也用红色条显示(如果它恰好在前5个)。(右)第一列中有5张ILSVRC-2010测试图像。其余的列显示了在最后一个隐层生成特征向量的6个训练图像,它们与测试图像的特征向量的欧氏距离最小。

另一种探索网络视觉知识的方法是考虑最后一个4096维隐层图像的特征激活。如果两幅图像产生的特征激活向量具有小的欧氏分离,我们可以说神经网络的高层认为它们是相似的。Figure 4显示了来自测试集的5张图像,以及来自训练集的6张图像,根据这个度量,它们是最相似的。注意,在像素级别上,检索到的训练图像在L2中通常不接近第一列中的查询图像。例如,检索到的狗和大象以各种姿势出现。我们在补充材料中展示了更多的测试图像的结果。

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

7 讨论

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

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

References

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZPILOTE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值