ALexNet论文阅读

提示:本文为博主阅读AlexNet论文原文后自行翻译与轻度理解,并非机器翻译,好处是没有某些令人难以理解的措辞和不知所云的表述,坏处是由于作者水平有限,有些翻译可能不很精准,请看官见谅!如有兴趣,可自行查看原文。欢迎各位看官批评指正和讨论。


摘要

本文训练了一个大型的深度卷积神经网络,目的是将ImageNet LSVRC-2010数据集中的1,200,000多张高分辨率的图像中的对象实例分成1000多个类别。在测试集上,该模型达到了在当时最先进的检测效果(top-1错误率37.5%,top-5错误率17%)。AlexNet的神经网络有60,000,000个参数和650,000个神经元,包含了5个卷基层(其中一些之后连接了最大值池化层)以及3个全连接层,最后是一个1000维的softmax层。为了加快训练速度,使用了不饱和神经元和非常高效的GPU完成了卷积操作。为了减轻全连接层的过拟合,本文采用了一种最近(2012年)刚刚出现的正则方法——dropout,被证明很高效。本文使用这个模型还参加了许多ILSVRC-2012中的别的比赛,取得了top-5 15.3%的错误率,相比之下第二名为26.2%


1 介绍

当前,机器学习方法在对象识别领域是有效的。为了提高模型性能,可以加大数据集规模,学习到更有效的模型或者使用一些技巧避免过拟合。到目前为止,待标注的数据集规模非常小——也不过几万幅图像。在这种规模的数据集上面,简单的识别任务是很好完成的,尤其是当数据集经过标签保留变换的数据增强的之后。比如当前MNIST手写数字识别任务的错误率已经小于0.3%,这都足以达到人眼识别的水平。但是在现实世界中的对象有着很强的可变性,所以要很好的识别他们需要增大数据集的规模。诚然,小规模数据集的缺点早已经被广泛知晓,但是收集数以百万计的大规模标注数据集也是近期才有实现的可能的。新的更大型的数据集包括LabelMe(它包含了数十万幅被完全切割的图像)和ImageNet(它包含了超过22,000个类别的超过15,000,000幅带标注的高分辨率图像)。
为了从数以百万幅图像中学习到数以千计的对象特征,我们需要一个具备强大学习能力的模型。然而,对象识别任务的极大的复杂性意味着这种问题即使用像ImageNet一样大规模的数据集也不能完全解决(模型的泛化能力不能完全依赖于数据集本身),所以我们的模型还需要大量的先验知识来弥补我们们有的数据。卷积神经网络(CNNs)就构成了一个这样的模型。它们的可以通过控制深度和广度来控制其(学习和预测)能力,它们就图像本身做出鲁棒的和几乎完全正确的预测(称作统计的稳定性和像素依赖的局部性)。因此,对比相同规模的标准前馈神经网络,CNNs的连接和参数更少所以训练起来更简单,而其理论的最佳性能仅比标准前馈网络差一点。
尽管CNNs那富有吸引力的特质和其局部架构那相当的效率,但它应用在大规模的高分辨率图像仍然需要消耗很大资源。所幸现在的GPU实现了高度优化的2D卷积功能,这足以促进大规模的CNNs的训练。最近的ImageNet数据集包含了充足的标注来训练这样的模型也并没有出现严重的过拟合。
本文主要贡献如下:在ILSVRC-2010和ILSVRC-2012 ImageNet子集上训练了一个大型的卷积神经网络,并取得了目前为止在该数据集上公开出来的最好结果。编写了高度优化GPU的2D卷积实现和其他训练卷积神经网络的操作并将其开源。本网络包含了许多新的不寻常的特征以提高其性能和缩短训练时间,细节将会在本文第三部分阐述。即便使用了1,200,000幅标注图像,本网络的规模也使得过拟合会成为一个很严重的问题,因此本文使用了一些有效的技术来防止过拟合,细节将会在第四部分阐述。最终的网络模型由5个卷基层和3个全连接层构成,网络深度(不损失性能的情况下当然是越浅越好)看起来很重要:我们移除任何一层卷基层(每层包含的参数量不超过模型总参数的1%)都会导致模型性能下降。
最后,网络规模主要受限于GPU的内存容量和有限的训练时间。本网络在两块3GB的GTX580 GPU上训练了五六天时间。所有的实验结果都表明通过更快的GPU和更大的数据集,本实验结果是还可以提升的。

2 数据集

ImageNet是一个包含大约属于22,000个类别的超过15,000,000幅带标注的高分辨率图像的数据集。这些图像是从网上收集来的并通过亚马逊的Mechanical Turk平台通过人工标注。从2010年起,作为Pascal视觉挑战赛的一部分,每年都会举办ImageNet大型视觉识别挑战赛(ILSVRC)。ILSVRC使用ImageNet的一个子集,1000个类别每个类别大约1000幅图像。总体上约有1,200,000幅训练图像,50,000幅验证图像和150,000幅测试图像。
ILSVRC-2010是ILSVRC唯一能够获得测试集标签的版本,所以本文也采用这个版本进行所有的实验。因为在ILSVRC-2012(不提供测试集标签)上也进行了实验,所以在本文第六部分同样也介绍了在此版本数据集上的结果。在ImageNet中通常描述两种错误率:top-1和top-5,top-5错误率是模型认为测试图像(预测值)不在5个最可能的标签之中的概率。
ImageNet包含了不同尺寸的图像,但本模型要求输入固定尺寸的图像。因此本实验将图像降采样成为 256 × \times × 256 尺寸。拿到一幅矩形图像,将其短边调整为256然后从中心截取 256 × \times × 256 个像素点。本文除了将训练集图像中的每个像素减去了平均活性之外,没有对图像进行任何其他操作。因此,本实验在原始的RGB像素值上训练我们的网络。

3 模型结构

本文网络结构在图2中概述。其包含了8个可以学习的网络层——5个卷基层和3个全连接层。下面将介绍网络结构中一些新颖的特征。3.1-3.4部分是按照本文评估的他们的重要性排序的,最重要的放在了首位。

3.1 ReLU非线性函数

将神经元的输出 f f f 建模为输入 x x 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的说法,我们将这种非线性神经元命名为修正线性单元(ReLUs)。使用ReLUs的深度卷积神经网络训练速度要比使用等价的tanh单元更快。图1中显示的使用特定的四层卷积网络在CIFAR-10数据集上训练直到误差下降到25%所需要的训练轮数就可以证明这一点。这幅图像表明,如果依然使用传统的饱和神经元模型将不能够在如此大型的卷积神经网络上做实验。
在这里插入图片描述图1: 一个使用了ReLUs(实线)的四层卷积神经网络到达25%错误率比使用tanh的同等网络(虚线)速度快6倍。每个网络都独立地选择了能使得各自网络尽快学习速度的数值。没有使用任何正则化方法。已经证实影响的大小随着网络结构的变化而变化,但是使用ReLUs的网络的学习速度都要比等价的网络使用其他饱和神经元的网络快。

本文不是首先想到替换CNN中传统神经元的。例如,Jarrett等人提出的非线性函数 f ( x ) = ∣ t a n h ( x ) ∣ f(x)=|tanh(x)| f(x)=tanh(x) 与其对比归一化和局部均值池化一起在Caltech-101数据集上效果很好。然而在本实验使用的数据集上首要考虑的是防止过拟合的问题,因此他们的着眼点不同于本实验的使用ReLUs对模型训练速度进行提升的方法。更快速的学习对于大型模型在大规模数据集上的训练有着很大的影响。

3.2 在多个GPU上训练

单个GTX 580的GPU只有3GB内存,这限制了能在其上训练的网络模型的最大尺寸。事实表明1,200,000幅图像训练网络足矣,但是在单个GPU上无法训练。因此本实验将网络分放在2个GPU上。现在的GPU非常适合夸GPU并行计算,因为他们可以直接对彼此进行存储区域读写操作而不需要通过主机内存。在并行结构下本实验基本上每个GPU放一半的核(或神经元),这里还有一个技巧:只在某些特定的层上进行GPU通信。这个意思是,比如第三层的神经元会将所有第二层神经元的输出作为自己的输入,而第四层的神经元只会将在相同GPU上面的第三层的输出作为输入。选择连接模式是一个交叉验证的问题,但是这可以准确的调整(GPU之间)通信数量直到达到一个可以接受的计算量。
除了列不是独立的之外(见图2),本文的最终模型有些相似于Ciresan等人提出的“columnar”CNN。和每一层都拿出一半的核来放到一个GPU训练相比,这种结构分别将top-1和top-5错误率降低了1.7%和1.2%。双GPU网络比单GPU网络稍微减少了训练时间。

注:单GPU网络在最后一个卷积层的核数量与双GPU网络是一样的。这是因为几乎所有的网络参数都集中在以最后一个卷积层的输出为输入的第一个全连接层上。因此使得两个网络具有大致相同的参数量,并不需要将最后一个卷积层的规模减半(其后的全连接层也不需要)。所以这种对比是更偏好于单GPU网络的,因为其规模比双GPU网络的一半更大。

3.3 局部响应归一化

ReLUs具有可以无需要求输入归一化来防止饱和这样的令人满意的特性。如果至少一些样本对ReLU产生了正输入,那么此时神经元将会进行学习(该样本的一些特性)。然而本文仍然发现接下来的局部归一化方法有助于模型的泛化性能。 a x , y i a^i_{x,y} ax,yi 表示神经元激活,通过在 ( x , y ) (x,y) (x,y)位置的核 i i i以及ReLU非线性函数计算出来。响应归一化激活 b x , y i b^i_{x,y} bx,yi 由下式给定:
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 j ) 2 ) β b^i_{x,y}=a^i_{x,y}/\big(k+\alpha\sum\limits^{min(N-1,i+n/2)}\limits_{j=max(0,i-n/2)}(a^j_{x,y})^2\big)^{\beta} bx,yi=ax,yi/(k+αj=max(0,in/2)min(N1,i+n/2)(ax,yj)2)β
式中求和是(特征图中)相同位置处的(每个通道)“相邻的”n个值(平方)的和,N是该层中(卷积)核的总数。当然,核图的顺序是任意的,且是在训练前就确定好的。这种响应归一化的侧向抑制机制是受到了真实神经元的启发,在使用不同(卷积)核计算输出之间产生了对于大激活度的竞争。常数 k , n , α k,n,\alpha k,n,α β \beta β 是利用验证集确定的超参数;本文使用 k = 2 , n = 5 , α = 1 0 − 4 k=2,n=5,\alpha=10^{-4} k=2,n=5,α=104 β = 0.75 \beta=0.75 β=0.75。在某些层的ReLU非线性函数之后应用这种归一化方法(见3.5节)。
这种结构和Jarrett等人提出的局部对比归一化有相似之处。但本文提出的这种方法更确切地应该称为“亮度归一化”,因为本方法并没有减去平均激活度。响应归一化将top-1和top-5错误率分别减少了1.4%和1.2%。本文还在CIFAR-10数据集上验证了这种方案的有效性:一个四层的CNN在没有归一化时测试错误率为13%,而加上归一化之后错误率变为11%。

3.4 重叠池化

在CNN当中池化层是对统一核图(特征图)的相邻神经元组的输出进行汇总整合。传统地,相邻池化单元整合的区域不重叠。更准确地讲,一个池化层可以被理解成是由一组间隔为 s s s个像素的池化单元组成的网格,每个池化单元整合一个尺寸为 z × z z\times z z×z 且以其为中心的邻域。如果令 s = z s=z s=z,则可以得到一个CNN中常用的传统的局部池化。如果另 s < z s<z s<z,则可以得到重叠池化。这就是本实验网络中使用的池化方法,令 s = 2 , z = 3 s=2,z=3 s=2,z=3。与 产生相同输出尺寸的 s = 2 , z = 2 s=2,z=2 s=2,z=2 的这种没有重叠池化的方案相比,本方案分别将 top-1 和 top-5 错误率分别降低了0.4%和0.3%。本实验发现采用重叠池化训练该模型可以稍微缓解过拟合。

3.5 整体构架

现在准备描述本文的卷积神经网络的主体框架。如图2所示,网络包含8个权重层;前5个是卷基层接着的后3个是全连接层。最后一层全连接层的输出送到1000路的softmax来产生1000个类别标签上的分布。本网络最大化多项逻辑回归目标函数,这相当于最大化在预测分布下正确标签的对数几率的训练实例的平均值。
在这里插入图片描述图2: 一幅本文的CNN体系结构图,明确地展示出了两个GPU之间的责任划分。一个GPU运行图中顶部的网络层,而另一个GPU则运行图中底部的网络。GPU仅仅在某些层之间有通信。网络的输入是150,528维,网络剩余层神经元的数量分别是253,400-186,624-64,896-64,896-43,264-4096-4096-1000。

第2,4,5层的卷积层只是连接了存在于相同GPU中的前一层的核图(见图2)。第三个卷积层的核连接了第二个卷积层的所有核图。全连接层的神经元连接了前一层所有的神经元。响应归一化层接在第一和第二个卷积层后面。3.4节中描述的最大池化层接在两个响应归一化层之后,第五个全连接层之后也有。ReLU非线性函数在每个卷积输出和全连接层之后都有。
第一个卷积层使用步长(这是一幅核图中相邻感受野中心的距离)为 4 尺寸为 11 × 11 × 3 11\times11\times3 11×11×3 的 96 个卷积核对输入的 224 × 224 × 3 224\times224\times3 224×224×3 的图像进行卷积。第二个卷积层将第一个卷积层(响应归一化和池化后的)输出作为输入然后用尺寸为 5 × 5 × 48 5\times5\times48 5×5×48 的 256 个核与之卷积。第三、四、五层彼此连接,它们之间没有任何池化层和归一化层。第三个卷积层有384个尺寸为 3 × 3 × 256 3\times3\times256 3×3×256 个卷积核连接着第二个卷积层(归一化和池化之后的)输出。第四个卷积层有384个尺寸为 3 × 3 × 192 3\times3\times192 3×3×192 个卷积核,第五个卷积层有256个尺寸为 3 × 3 × 192 3\times3\times192 3×3×192 个卷积核。每个全连接层都有4096个神经元。

注:由于篇幅所限,本文不能够详尽描述网络细节,但是在代码和参数文件中可以窥其全貌,地址如下:http://code.google.com/p/cuda-convnet/。

4 减轻过拟合

本文的神经网络结构有60,000,000个参数。尽管ILSVRC的1000个类别使得每个训练样例从图像到标签的映射增加了10比特的约束,但这不足以使得模型学习了如此多的参数之后没有显著的过拟合。下面将介绍两种应对过拟合的办法。

4.1 数据增强

在图像数据上减轻过拟合的最简单和最常用的方法就是使用保留标签变换来人为地增大数据集。本文采用了两种不同的数据增强方法,这两种方法都可以通过很小的计算量将原始图像生成变换图像,所以变换图像并不需要存储在磁盘上。在具体实现中,变换图像由在CPU中的Python代码产生而此时GPU正在训练前一批的图像。因此这些数据增强方法实际上并不需要很大的计算量。
第一种数据增强的方法产生图像的平移和水平镜像。本实验从 256 × 256 256\times256 256×256 的原始图像中提取随机的 224 × 224 224\times224 224×224 个像素(及其水平镜像)来训练网络。尽管由此产生的训练样例相互依赖度很高,这也使得训练规模增加了2048倍。如果没有这种方案,将遭受严重的过拟合,从而迫使本实验使用更小规模的网络。在测试时,网络对提取的五个 224 × 224 224\times224 224×224 个像素(四个边角块和一个中心块)以及其水平镜像做预测,然后通过网络的softmax层对这十个像素块的预测结果进行平均。
第二种数据增强的方法包括改变训练图像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^R_{xy},I^G_{xy},I^B_{xy}]^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 分别是RGB像素协方差矩阵的第 i i i 个特征向量和特征值, α i \alpha_i αi 是之前提到的随机值。对于特定训练图像的所有像素,每个 α i \alpha_i αi 都只被提取一次,直到该图像训练完成,其才被重新赋值。该方案近似地捕捉到了自然图像的一个重要属性,可以称之为——在强度和颜色亮度改变时对象特征的不变性。这种方案使得top-1错误率减小了1%。

4.2 Dropout

联合许多不同模型的预测结果是减小测试错误的一个比较成功的方法。但是对于已经花费数天时间训练的大型神经网络来说,这种方法显得代价太大。但是有一个很高效的模型结合方法只需要在训练的时候耗费两倍的成本。近期提出的一种方法,被称为“dropout”,其将每一个隐层神经元以0.5的概率置零(也可以说被丢掉)。以这种方式“被丢掉”的神经元对于前向传播和反向传播都不起作用。所以每次有图像输入的时候,神经网络都有一个不同的网络结构,但是这些网络结构都共享权重。这种方法削弱了神经元之间复杂的相互适应,因为一个神经元不能够依赖于其他特定的神经元存在。因此,它迫使网络学习了更加鲁棒的特征,这在和其余神经元的子集结合的过程中是很有帮助的。在测试阶段,本实验使用了所有的神经元但都将其乘以0.5,这是对指数级dropout网络产生的预测分布的几何平均值的合理近似。
本实验在图2中前两个全连接层中使用了dropout。没有dropout,本网络表现出了严重的过拟合。Dropout大致使得收敛所需要的迭代次数翻倍。

5 学习细节

本实验使用随机梯度下降法训练模型,批数量为128,动量设为0.9,权值衰减为0.0005。本文发现这个较小的权重衰减系数对于模型学习非常重要。换言之,这里的权重衰减不仅仅是一个正则化器,它还能减小模型的错误率。权重 w w w 的更新规则如下:
v i + 1 : = 0.9 ⋅ v 1 − 0.0005 ⋅ ϵ ⋅ w i − ϵ ⋅ < ∂ L ∂ w ∣ w i > D i v_{i+1}:=0.9\cdot v_1-0.0005\cdot \epsilon \cdot w_i-\epsilon \cdot \big< \frac{\partial L}{\partial w}|_{w_i} \big>_{D_i} vi+1:=0.9v10.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 \big< \frac{\partial L}{\partial w}|_{w_i} \big>_{D_i} wLwiDi是第 i i i批目标函数关于 w w w w i w_i wi处导数的平均值。
本实验用标准差为0.01的零均值高斯随机变量初始化各层权重。用常量1初始化第二、四、五层卷积层和所有全连接隐藏层的偏置值。这种初始化通过像ReLU提供正输入来加速早期的学习过程。初始化其余层的神经元偏置为常数0。
本实验对于所有层使用相同的学习率,并在训练时手动调整。遵循着在当前学习率下每当测试错误率不再变化时将学习率除以10的规则。学习率初始化值为0.01,从始至终学习率减小了3次。在两个NVIDIA GTX 580 3GB的GPU上使用1,200,000张图像对模型花费了五六天时间进行了大约90轮的训练。

6 结果

本实验在ILSVRC-2010上的结果总结在了表1之中。本网络在测试集的top-1和top-5错误率达到了37.5%和17%。ILSVRC-2010比赛的最好结果达到了47.1%和28.2%,其方法是六种针对不同特征进行训练的的稀疏编码模型进行预测的平均值,在那之后公布的最好的实验结果是45.7%和25.7%,其方法是对从两类密集采样特征计算得到的 Fisher Vectors(FVs)进行训练的两个分类器的预测值的平均值。

表1:在ILSVRC-2010测试集上不同实验结果的对比。斜体字 是当前其他实验最好的结果。

ModelTop-1Top-5
Sparse coding47.1%28.2%
SIFT + FVs45.7%25.7%
CNN37.5%17.0%

本文也参加了ILSVRC-2012的比赛并在表2中汇报了结果。因为ILSVRC-2012测试集标签不是公开的,所以本文无法汇报尝试过的所有模型的测试错误率。在本节的其余部分验证和测试错误率交替使用,因为根据经验二者相差不会超过0.1%(见表2)。本文描述的CNN的top-5错误率达到了18.2%。将五个近似的CNN模型预测做平均得到错误率为16.4%。训练一个CNN,在最后一个池化层后增加一个额外的第六个卷积层,对ImageNet 2011秋季发布的数据(15,000,000幅图像,22,000类)进行分类,然后在ILSVRC-2012上“微调”,其错误率为16.6%。在ImageNet 2011年秋季发布版本上预训练的两个CNN的预测结果与上述的五个CNN的预测结果进行平均,得出15.3%的错误率。第二好成绩的错误率为26.2%,其方法是对从不同类型的密集采样特征计算出的FV进行训练的多个分类器的预测值进行平均。

表2:在ILSVRC-2012验证集和测试集上不同实验结果的对比。斜体字 是当前其他实验最好的结果。标注*的模型是与训练好的对ImageNet 2011秋季发布的版本的数据集进行分类。细节见第六章。

ModelTop-1(val)Top-5(val)Top-5(test)
SIFT+FVs26.2%
1 CNN40.7%18.2%
5 CNNs38.1%16.4%16.4%
1 CNN*39.0%16.6%
7 CNNs*36.7%15.4%15.3%

最后,再介绍一下本实验在ImageNet 2009年秋季版本的10,184个类别的8,900,000幅图像上的错误率。在这个数据集上,本文遵从文献中的惯例,一半图像用于训练,另外一半用于测试。由于没有测试集,本实验对于数据集的分割方式和之前研究者的必然不同,但是这不会显著影响实验结果。在此数据集上,使用上面描述的网络——在最后的池化层后添加额外的第六层卷积层,得到top-1和top-5错误率分别是67.4%和40.9%。这个数据集公布出的最佳结果是78.1%和60.9%。

6.1 定性评价

图三显示了由网络的两个数据连接层学习的卷积核。网络已经学习到了大量的频率选择性和方向选择性的核,以及许多的色彩斑点。要注意到两个GPU显示出的独特性,这是3.5节描述的(两个GPU之间)连接受限的结果。GPU 1 上面的核很大程度上与颜色无关,而GPU 2 上面的核大多是颜色敏感的。这种特殊性发生在每一轮的训练当中,并且独立于任何特定的随机权重初始化(以GPU的重新编号为模版)。

在这里插入图片描述图3:第一个卷积层在 224 × 224 × 3 224\times224\times3 224×224×3 的图像上学习到的 96 个 11 × 11 × 3 11\times11\times3 11×11×3 的卷积核。上面的48个核是在第一个GPU上学习到的,下面的48个核是在第二个GPU上学习到的。细节见6.1节。

图4左半部分显示出本文通过在8幅图像上计算其top-5预测来定性地评估网络学习到了什么。注意到偏移图像中心的对象,比如左上角位置的螨虫图像就能够被网络识别出来。大部分的top-5标签看起来都很合理。例如,只有其他种类的猫科类动物被认为是斑豹的合理标签。在某些情况下(保险杠,樱桃),对于图像预期的注意力位置区域都有歧义。

在这里插入图片描述图4:(左)八幅ILSVRC-2010的测试图像和五个本模型认为最可能的五个标签。正确标签下载每幅图像的下方,正确标签的概率被显示为红色条也显示了出来(如果其存在的话)。(右)第一列是五幅ILSVRC-2010的测试图像。其余六列显示了六幅训练图像,其在最后一层隐藏层中的特征向量与测试图像的特征向量具有最小的欧氏距离。
探测网络的视觉知识的另一种方法是考虑由图像在最后一层(4096维的隐藏层)引起的特征激活。如果两幅图像产生的特征激活向量具有较小的欧式距离,则可以理解为更高阶的神经网络认为它们是相似的。图4显示了来自测试集的五幅图像以及训练集中根据这一标准,与测试图像的每一幅最相似的六幅图像。请注意,在像素级别,检索到的(在第二列)训练图像与第一列中的查询图像一般不会相似。例如,检索到的狗和大象出现各种不同的姿势。本文在补充材料中提供更多测试图像的结果。
使用两个4096维实值向量之间的欧式距离来计算相似性效率并不高,但是通过训练一个自动编码器将这些矢量压缩为短二进制代码,可以变得高效。这比在原始图像上编码能够更好的恢复图像,其不利用图像标签,因此有可能检索具有类似的边缘模式的图像而无论其是否在语义上类似。

7 讨论

本实验表明,在一个非常具有挑战性的数据集上使用简单的监督学习,大型深度卷积神经网络能够取得前所未有的结果。值得注意的是,如果任意一层卷积层被删除,本实验的网络性能就会下降。例如,移除任何中间层会导致网络的top-1错误率上升2%。所以网络深度对于实现本实验的结果至关重要。
为了简化实验,并没有使用任何无监督的预训练,即使本文期望其会有所帮助,特别是在获得足够的计算能力来显著增加网络的规模,同时不需要相应地增加标记数据的数量的情况下。到目前为止,实验结果结果也已经有所改善,因为网络模型规模更大了,训练时间更长了,然而为了匹配人类视觉系统的时空路径,仍然有许多尚未达到的目标。最终,本文希望在视频序列中使用非常大规模且深度的卷积神经网络,其中时空结构提供非常有用的信息,这些信息在静态图像中或者缺失或者不太明显。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值