Deep Residual Learning for Image Recogntion-----关于图像识别深度残差网络

论文地址:Deep Residual Learning for Image Recogntion

摘要

越深的神经网络训练训练起来越困难。本文展示了一个残差学习框架(residual learning framework)能够简化那些比之前更深的训练神经网络。该框架使得输入层来学习残差函数而非原始函数。本文提供了全面的依据说明,这些残差神经网络更易于优化,而且能够通过增加网络深度(depth)提高准确率(accuary)。本文在ImageNet数据集上使用了152layer深的网络来评估我们的残差网络 ,虽然它相当于8倍深的VGG网络,但在本文的框架中仍然具有很低的复杂度。这些残差网络的一个组合模型(ensemble)在ImageNet测试(test)集的错误率仅为3.57%。这个结果在2015年的ILSVRC分类任务上活的第一名。我们在CIFAR-10上对100层和1000层的残差网络也进行了分析。

对于一些视觉识别(visual recognoyion)任务而言,对于深度的表达至关重要。仅仅由于我们我们相当深的表达,便在COCO目标检测数据集上获得了28%的相对提升。深度残差网络是我们参加ILSVRC & COCO 2015 竞赛上所使用模型的基础,并且我们在ImageNet检测、ImageNet定位、COCO检测以及COCO分割上均获得了第一名的成绩。

1.介绍

深度卷积神经网络(deep convolutional neural networks)在图像分类方面有一系列的突破。深度网络自然地将一个端到端(end-to-end)的多层模型(multilayer fashion)中的低/中/高层特征(low/mid/high-level features)和分类器(classifiers)整合到一起,特征的“级别”可以通过堆叠层的数量(深度)来丰富。最近结果显示,模型的深度发挥着至关重要的作用。在具有挑战性的ImageNet数据集上领先的结果都采用了“非常深”的模型,深度从16-30之间。许多其他重要的视觉识别任务也从非常深的模型中得到了极大益处。

在深度重要性的驱使下,出现了一个新问题:训练一个更好的网络是否和堆叠更多的层一样简单呢?回答这个问题的障碍是一个众所周知的问题梯度消失/爆炸(vanishing/exploding gradients),它从一开始就阻碍了收敛(convergence)。然而,这个问题通过标准初始化(normalized initialization)和中间标准化层(intermediate normalization layers)在和大程度上得到了解决,这使得数十层的网络能够通过反向传播(backpropagation)的随机梯度下降(stochastic gradient descentSGD)开始收敛。

当深度网络能够收敛时,暴露了一个退化(degradation)问题:随着网络深度的增加,准确率达到饱和(saturated)(这并不奇怪)然后迅速下降。意外的是,这种下降不是由于过拟合(overfitting)引起的,而且在适当的深度模型上添加更多的层会导致更高的训练误差(training error),正如报告那样,并且由我们的实验完全证实。图1展示了一个典型的例子。图一
图1. 20层和56层的“简单”网络在CIFAR-10上的训练误差(左)和测试误差(右)。更深的网络有更高的训练误差和测试误差。ImageNet上的类似现象如图4所示。

退化(训练准确率)表明不是所有的系统都很容易优化。让我们考虑一个较浅的架构(shallower architecture)及其更深层次的对象,为其添加更多的层。存在通过构建得到更深层模型的解决方案:添加的层是恒等映射(identity mapping),其他层是从学习到的较浅模型的拷贝。 这种构造解决方案的存在表明,较深的模型不应该产生比其对应的较浅模型更高的训练误差。但是实验表明,我们目前现有的解决方案无法找到与构建的解决方案相比相对不错或更好的解决方案(或在合理的时间内无法实现)。

在本文中,我们通过引入深度残差学习框架解决了退化(degradation)问题。我们明确地让这些层拟合残差映射(residual mapping),而不是让每一个堆叠的层直接拟合所需的底层映射(underlying mapping)。假设所需的底层映射为 H(x) ,我们让堆叠的非线性层(nonlinear layers )来拟合另一个映射: F ( x ) : = H ( x ) − x F(x) := H(x) − x F(x):=H(x)x。原始的映射重写为 F ( x ) + x F(x) + x F(x)+x。我们假设残差映射比原始的、未参考的映射更容易优化。在极端情况下,如果一个恒等映射是最优的,那么将残差置为零比通过一堆非线性层来拟合恒等映射更容易。

公式 $F (x) + x $可以通过带有“快捷连接(shortcut 连接)”的前向(feedforward)神经网络(图2)来实现。Shortcut连接就是跳过一层或多层。在我们的例子中,shortcut连接仅仅执行恒等映射,然后将它们的输出和堆叠层的输出叠加在一起(Fig.2)。恒等的shortcut连接并不增加额外的参数和计算复杂度。完整的网络仍然可以通过端到端的SGD反向传播进行训练,并且能够通过公共库(common libraries)(例如,Caffe)轻松执行,而无需修改求解器(solvers)。
Figure2
Figure 2. Residual learning: a building block. 残差学习:构建模块

我们在ImageNet上进行了综合实验来显示退化问题并评估我们的方法。我们发现:1)我们极深的残差网络易于优化,但当深度增加时,对应的“简单”网络(简单堆叠层)表现出更高的训练误差;2)我们的深度残差网络可以从大大增加的深度中轻松获得准确性收益,生成的结果实质上比以前的网络更好。
CIFAR-10数据集上也显示出类似的现象,这表明了我们提出的方法的优化的难度和效果并不仅仅是对一个特定的数据集而言的。我们在这个数据集上成功的提出了超过100层的训练模型,并探索了超过1000层的模型。

在ImageNet分类数据集中,我们通过非常深的残差网络获得了很好的结果。我们的152层残差网络是ImageNet上最深的网络,同时还具有比VGG网络更低的复杂性。我们的模型集合在ImageNet测试集上有3.57% top-5的错误率,并在ILSVRC 2015分类比赛中获得了第一名。极深的表示在其它识别任务中也有极好的泛化性能,并带领我们在进一步赢得了第一名:包括ILSVRC & COCO 2015竞赛中的ImageNet检测,ImageNet定位,COCO检测和COCO分割。坚实的证据表明残差学习准则是通用的,并且我们期望它适用于其它的视觉和非视觉问题。

2.相关工作

残差表示。在图像识别中,VLAD是一种通过残差向量(residual vectors)对字典进行编码(encode)的一种表达形式。Fisher 矢量可以表示为VLAD的概率版本。它们都是图像检索和图像分类[4,47]中强大的浅层表示。对于矢量量化,编码残差矢量[17]被证明比编码原始矢量更有效。

在低级视觉和计算机图形学中,为了求解偏微分方程(PDE),广泛使用的Multigrid方法将系统重构为在多个尺度上的子问题(subproblem),其实每个子问题负责较粗尺度和较细尺度之间的残差解。Multigrid的替代方法是分层基预处理(hierarchical basis preconditioning),它依赖于代表着两个尺度之间残差向量的变量。实验证明,实验证明 这些求解器比其他标准求解器的收敛要快得多,却并没有意识到这是该方法的残差特性所致。这些方法表明了一个好的重新表达或者预处理能够简化优化问题。

Shortcut连接

Shortcut连接经过了很长的一段实践和理论研究过程。训练多层感知器( training multi-layer perceptrons MLPs)的一个早期实践就是添加一个连接输入和输出的线性层。在Szegedy2015GoingLee2015deeply中,将一些中间层(intermediate layers)直接连接到辅助分类器(auxiliary classifiers),用于解决梯度消失/爆炸。本论文提出了通过Shortcut连接实现核心层间响应,梯度和传播误差的方法。在 Szegedy2015Going中,一个“inception”层由一个shortcut分支和一些更深的分支组合而成。

与此同时,“highway networks”将shortcut连接与门控函数(gating functions ) 结合起来。这些门是数据相关并且是有额外参数( parameters)的,而我们的恒等shortcuts是无参数的。当一个门的shortcut是“closed”(接近于0)时,highway网络中的层表示非残差函数。相反的,我们的模型总是学习残差函数;我们的恒等shortcuts从不关闭,在学习额外的残差函数时,所有的信息总是通过的。此外,highway网络还没有证实可以由增加层的深度(例如, 超过100层)来提高准确率。

3. 深度残差学习

3.1. 残差学习

我们将 H ( x ) H(x) H(x)看做一个由部分堆叠层(并不一定是全部的网络)来拟合的底层映射,其中x表示这些层中第一层的输入。假定多个非线性层可以可以逐渐的逼近复杂函数,这就等价于假定这些层能够逼近复杂的残差函数,例如, H ( x ) − x H(x) - x H(x)x (假设输入输出维度相同)。我们明确地让这些层来估计一个残差函数: F ( x ) = H ( x ) − x F(x) = H(x) - x F(x)=H(x)x,而不是期望堆叠层近似H(x)。因此原始函数变为 F ( x ) + x F(x) + x F(x)+x。尽管两种形式用该都能逐渐逼近想要的函数(如假设),但学习的难易程度并不相同。

关于退化问题的反常现象激发了这种重构(图一.左)。正如我们在引言中讨论的那样,如果添加层可以被重新构建为恒等映射,更深模型的训练误差应该不大于它对应的更浅(shallower)版本。退化问题表明,求解器通过多个非线性层来近似恒等映射可能有困难。通过残差学习的重构,如果恒等映射是最右的,求解器可以简化地将多个非线性连接的权重推向0来接近恒等映射。

在实际情况下,恒等映射不太可能是最优的,但是我们的重构可能有助于对问题进行预处理。如果最优函数比零映射更接近于恒等映射,则求解器应该更容易找到关于恒等映射的扰动,而不是,将该函数作为新函数去学习。我们通过实验(图7)显示学习的残差函数通常有更小的响应,表明恒等映射提供了合理的预处理。
在这里插入图片描述
图7. 层响应在CIFAR-10上的标准差(std)。这些响应是每个3*3层的输出,在BN层之后非线性之前。上面:以原始顺序显示层。下面:响应按顺序排列。

3.2快捷恒等映射 identify mapping by shortcuts

我们每隔几个堆叠层采用残差学习。一个构建块如 fig.2 所示。本文中的构建块定义如下:
y = F ( x , W i ) + x y = F(x, {Wi}) + x y=F(x,Wi)+x (1)
这里的 x x x y y y 均表示层的输入和输出向量。函数 F ( x , W i ) F(x, {Wi}) F(x,Wi)表示要学习的残差映射。图二中的例子有两层, F = W ₂ σ ( W ₁ x ) F = W₂σ(W₁ x) F=Wσ(Wx)中的 σ σ σ 表示ReLu。为了简化写法忽略了偏置项。 F + x F+ x F+x操作由一个shortcut连接和元素积(element-wise)的加法实现。在加法之后我们采用了第二种非线性(即 σ ( y ) σ(y) σ(y),看图二)。

方程一中的shortcut connection既没有引入外部参数又没有增加计算复杂度。这不仅在实践中有吸引力,而且在简单神经网络和残差网络的比较中也很重要。我们可以在参数、深度、宽度以及计算成本都相同的基础上对两个网络进行公平的比较(除了可以忽略不计的元素积的加法)。

方程一中的 F 和 x 的维度必须是相等的。如果不是这种情况(例如,当改变输入/输出通道时),我们可以通过shortcut connection执行线性映射 Ws来匹配维度:
y = F ( x , W i ) + W s x y = F(x, {Wi}) + Ws x y=F(x,Wi)+Wsx (2)
我们可以使用方程(1)中的方阵(矩阵) W s Ws Ws。但是我们的实验表明,恒等映射已足够解决退化问题,而且是经济合理的,因此 W s Ws Ws只能用来解决维度不匹配的问题。

残差函数 F 的形势是灵活可变的。本文实验中涉及到的函数 F 是两层或者三层的(Fig.5),当然更多层也是可行的。但是如果 F 只含有一层,公式一就和线性函数: y = W 1 x + x y = W ₁ x + x y=W1x+xy=W₁x+x y=W1x+xy=Wx+x 一致,因此并不具有任何优势。
在这里插入图片描述
图5.。ImageNet的深度残差函数 F。左:ResNet-34的构建块(在56×56的特征图上),如图3。右:ResNet-50/101/152的“bottleneck”构建块。
我们还发现上述符号不仅是对于全连接层,对于卷积层也是同样适用的。函数 F ( x , W i ) F(x, {Wi}) F(x,Wi) 可以表示多个卷积层,元素积的加法在两个特征图上逐通道进行。

3.3 网络架构 Network Architectures

我们测试了各种简单/残差网络,并观察到了一致的现象。为了提供讨论的实例,我们描述了ImageNet的两个模型如下。

** 简单网络 Plain Network**

我们的plain网络结构(Fig.3,中)主要受VGG网络 (Fig.3,左)的启发。卷积层主要为3*3的滤波器,并遵循以下两点要求:(i) 输出特征尺寸相同的层含有相同数量的滤波器;(ii)如果特征图尺寸减半,则滤波器数量加倍,以便保持每层的时间复杂度。我们通过步长为2的卷积层直接执行下采样( downsampling)。网络以全局平均池化层和具有softmax的1000维全连接层结束。图3(中间)的加权层总数为34。 在这里插入图片描述
图3. ImageNet的网络架构。左:作为参考的VGG-19模型40。中:具有34个参数层的简单网络(36亿FLOPs)。右:具有34个参数层的残差网络(36亿FLOPs)。带点的快捷连接增加了维度。表1显示了更多细节和其它变种。

在这里插入图片描述

图1. ImageNet架构。构建块显示在括号中(也可看图5),以及构建块的堆叠数量。下采样通过步长为2的conv3_1, conv4_1和conv5_1执行。

值得注意的是我们的模型与VGG网络(图3左)相比,有更少的滤波器和更低的复杂度。我们的34层基准有36亿FLOP(乘加),仅是VGG-19(196亿FLOP)的18%。

残差网络

基于上述的简单网络,我们插入short connection(图3,右),将网络转换为其对应的残差版本。当输入和输出具有相同的维度时,可以直接使用恒等shortcuts(方程1)(图3中的实线shortcuts连接)。当维度增加时(Fig.3中的虚线部分),考虑两个方面:
(A) shortcut仍然使用恒等映射,在增加的维度上使用0来填充,这样做不会增加额外的参数;
(B) 使用公式2的映射shortcut来使维度保持一致(通过1*1的卷积)。
对于这两个方面,当shortcut跨越两种尺寸的特征图时,均使用stride为2的卷积。

3.4 实现 Implementation

针对ImageNet的网络实现遵循了Krizhevsky2012ImageNetSimonyan2014Very。调整图像的大小使它的短边长度随机的从[256,480] [256,480]中采样来增大图像的尺寸。从一张图像或者它的水平翻转图像中随机采样一个224*224的crop,每个像素都减去均值。图像使用标准的颜色增强。我们在每一个卷积层之后,激活层之前均使用批量归一化(BN batch normalization)。我们根据He2014spatial来初始化权值然后从零开始训练所有plain/残差网络。

我们使用的批大小(mini-batch)的尺寸为256的SGD(随机梯度下降)方法。学习率从0.1开始,每当错误率平稳时将学习率除以10,整个模型进行 60∗10^4 次迭代训练。我们将权值衰减设置为0.0001,a 动量为0.9。根据 Ioffe2015Batch,我们并没有使用Dropout。

在测试中,为了进行比较,我们采取标准的10-crop测试。 为了达到最佳的结果,我们使用Simonyan2014VeryHe2014spatial中的全卷积形式,并在多个尺度的结果上取平均分(调整图像的大小使它的短边长度分别为{224,256,384,480,640}{224,256,384,480,640})。

4. 实验

4.1 ImageNet Classification

本文在1000类的ImageNet2012数据集上对我们的方法进行评估。训练集包含128万张图像,验证集包含5万张图像。我们在10万张测试图像上进行测试,并对top-1和top-5 的错误率进行评估。

Plain网络

我们首先评估了18层和34层plain网络。34层plain net如图3(中间)所示。18层plain net是结构很相似。具体细节参见Table1。

Table2的结果显示,较深的34层plain net比较浅的18层plain net具有更高的验证误差。为了找到其中的原因,Fig.4(左)我们比较了在训练过程中它们的训练/验证误差。在结果中我们观测到了明显的退化的问题——在整个训练过程中,虽然18层plain net的解空间(solution space)是34层plain net解空间的子空间(subspace),但34层plain net有更高的训练错误率。
在表2. ImageNet验证集上的Top-1错误率(%,10个裁这里插入图片描述
表2. ImageNet验证集上的Top-1错误率(%,10个裁剪图像测试)。相比于对应的简单网络,这里的ResNet没有额外的参数。图4显示了训练过程。
在这里插入图片描述
Fig.4 在ImageNet上进行训练。细曲线为训练错误率,粗曲线为使用中心crop时的验证错误率。左:18和34层的plain网络。右:18 和34层的ResNets。在这个图中,残差网络和对应的plain网络相比并没有增加额外的参数。
在这里插入图片描述
Table 3 在ImageNet验证集上的错误率 (%, 10-crop testing)。VGG-16是基于我们测试的网络。ResNet-50/101/152使用了选项B——利用映射来匹配增加的维度。

我们认为优化的困难不可能是由梯度消失导致的。这些plain net使用BN训练,这保证了前向传播信号有非零误差。我们同样验证了反向传播的梯度,结果显示其符合BN的正常标准。因此既不是前向信号消失也不是反向信号消失。实际上,34层简单网络仍能取得有竞争力的准确率(表3),这表明在某种程度上来说求解器仍工作。我们推测,深层的plain网络的收敛率是指数衰减的,这可能会影响训练错误率的降低。这种优化困难的原因我们将在以后的工作中进行研究。

残差网络

接下来我们对18层和34层的残差网络ResNets进行评估。如Fig.3 (右)所示,ResNets的基本框架和plain网络的基本相同,除了在每一对3*3的滤波器上添加了一个shortcut连接。在Table 2以及Fig.4(右)的比较中,所有的shortcuts都是恒等映射,并且使用0对增加的维度进行填充(选项 A)。因此他们并没有增加额外的参数。

我们从Table 2和Fig.4中观测到以下三点:

第一,与plain网络相反,34层的ResNet比18层ResNet的结果更优(2.8%)。更重要的是,34 层的ResNet在训练集上展现出了更低的错误率,并且可以泛化到验证集上。这表明这种情况下可以很好的解决退化问题,并且我们可以由增加的深度来提高准确率。

第二,与对应的简单网络相比,由于成功的减少了训练误差,34层ResNet降低了3.5%的top-1错误率。这种比较证实了在极深系统中残差学习的有效性。

最后,我们还注意到18层的简单/残差网络同样地准确(表2),但18层ResNet收敛更快(图4右和左)。当网络“不过度深”时(18层),目前的SGD求解器仍能在简单网络中找到好的解。在这种情况下,ResNet通过在早期提供更快的收敛简便了优化。

恒等Shortcuts vs 映射 Shortcuts

我们已经验证了无参数的恒等shortcuts是有助于训练的。接下来我们研究映射shortcut(Eq.2)。在Table 3中,我们比较了三种选项:
(A) 对增加的维度使用0填充,所有的shortcuts是无参数的(与Table 2 和 Fig.4 (右)相同);
(B) 对增加的维度使用映射shortcuts,其它使用恒等shortcuts;
© 所有的都是映射shortcuts。

Table 3表明了三种选项的模型都比对于的plain模型要好。B略好于A,我们认为这是因为A中的0填充并没有进行残差学习。C略好于B,,我们把这个归结于许多(13)投影shortcuts引入了额外参数。在A、B、C三个结果中细小的差距也表明了映射shortcuts对于解决退化问题并不是必需的。所以我们在本文接下来的内容中,为了减少复杂度和模型尺寸,并不使用选项C的模型。恒等shortcuts因其无额外复杂度而对以下介绍的瓶颈结构尤为重要。

深度瓶颈结构 Deeper Bottleneck Architectures

接下来我们描述ImageNet中我们使用的更深的网络网络。由于关注我们能承受的训练时间,我们将构建块修改为瓶颈设计。对于每个残差函数 F F F,我们使用3层堆叠而不是2层(图5)。三层是1×1,3×3和1×1卷积,11 的层主要负责降维,然后1×1卷积增加(恢复)维度,剩下的33的层来减少输入和输出的维度。Fig.5展示了一个例子,这两种设计具有相似的时间复杂度。

无参数的恒等shortcuts对于瓶颈结构尤为重要。如果使用映射shortcuts来替代Fig.5(右)中的恒等shortcuts,将会发现时间复杂度和模型尺寸都会增加一倍,因为shortcut连接了两个高维端,所以恒等shortcuts对于瓶颈设计是更加有效的。

50层 ResNet

我们将34层网络中2层的模块替换成3层的瓶颈模块,整个模型也就变成了50层的ResNet (Table 1)。对于增加的维度我们使用选项B来处理。整个模型含有38亿个FLOPs(每秒浮点运算次数)。

101层和152层 ResNets

我们使用更多的3层模块来构建101层和152层的ResNets (Table 1)。值得注意的是,虽然层的深度明显增加了,但是152层ResNet的计算复杂度(113亿个FLOPs)仍然比VGG-16(153 亿个FLOPs)和VGG-19(196亿个FLOPs)的小很多。

50/101/152层ResNets比34层ResNet的准确率要高得多(Table 3 和4)。而且我们并没有观测到退化问题。所有的指标都证实了深度带来的好处。 (Table 3 和4)。在这里插入图片描述Fig.5 对于ImageNet的一个更深的残差函数 F F F。左:对于ResNet-34的如Fig.3描述的构建块。右:对于ResNet-50/101/152的“瓶颈”构建块。

与最优秀方法的比较

在Table 4中我们比较了目前最好的单模型结果。我们的34层ResNets取得了非常好的结果,152层的ResNet的单模型top-5验证错误率仅为 4.49%,甚至比先前组合模型的结果还要好 (Table 5)。我们将6个不同深度的ResNets合成一个组合模型(在提交结果时只用到2个152层的模型)。这在测试集上的top-5错误率仅为3.57% (Table 5),这一项在ILSVRC 2015 上获得了第一名的成绩。

4.2 CIFAR-10 and Analysis

我们在包含5万张训练图像和1万张测试图像的10类CIFAR-10数据集上进行了更多的研究。我们在训练集上进行训练,在测试集上进行验证。我们关注的是验证极深模型的效果,而不是追求最好的结果,因此我们只使用简单的框架如下。

Plain网络和残差网络的框架如 Fig.3(中/右)所示。网络输入是32×32的图像,每个像素减去均值。第一层是3×3卷积。然后我们在大小为{32,16,8}的特征图上分别使用了带有3×3卷积的6n个堆叠层,每个特征图大小使用2n层。滤波器数量分别为{16,32,64}。下采样由步长为2的卷积进行。网络以全局平均池化,一个10维全连接层和softmax作为结束。有6n+2个堆叠的加权层。下表总结了这个架构:在这里插入图片描述
使用shortcut连接3*3的卷积层对(共有 3n个shortcuts)。在这个数据集上我们所有的模型都使用恒等shortcuts(选项 A),因此我们的残差模型和对应的plain模型具有相同的深度、宽度和参数量。

权重的衰减设置为0.0001,动量为0.9,采用了He2015Delving中的权值初始化以及BN,但是不使用Dropout,mini-batch的大小为128,模型在2块GPU 上进行训练。mini-batch的大小为128,模型在2块GPU 上进行训练。学习率初始为0.1,在第32000和48000次迭代时将其除以10,总的迭代次数为64000,这是由45000/5000的训练集/验证集分配所决定的。我们在训练阶段遵循Lee2015deeply中的数据增强法则:在图像的每条边填充4个像素,然后在填充后的图像或者它的水平翻转图像上随机采样一个3232 的crop。在测试阶段,我们只使用原始3232的图像进行评估。

我们比较了n={3,5,7,9}n={3,5,7,9},也就是20、32、44以及56层的网络。Fig.6(左) 展示了plain网络的结果。深度plain网络随着层数的加深,训练错误率也变大。这个现象与在ImageNet(Fig.4, 左)和MNIST上的结果很相似,表明了优化上的难度确实是一个很重要的问题。

Fig.6(中)展示了ResNets的效果。与ImageNet(Fig.4, 右)中类似,我们的ResNets能够很好的克服优化难题,并且随着深度加深,准确率也得到了提升。
在这里插入图片描述
Fig.6 CIFAR-10上的训练效果。虚线表示训练错误率,实线表示测试错误率。左:plain网络。plain-110的错误率高达60% 以上,因此并没有展示出来。中:ResNets。右:110层和1202层的ResNets。

我们进一步探索了n=18,也就是110层的ResNet。在这里,我们发现0.1的初始学习率有点太大而不能很好的收敛。所以我们刚开始使用0.01的学习率,当训练错误率在80%以下(大约400次迭代)之后,再将学习率调回0.1继续训练。剩余的学习和之前的一致。110层的ResNets很好的收敛了 (Fig.6, 中)。它与其他的深层窄模型,如FitNet和 Highway (Table 6)相比,具有更少的参数,然而却达到了最好的结果 (6.43%, Table 6)。
在这里插入图片描述
Table 6 CIFAR-10}测试集上的分类错误率。我们对数据进行了增强。如Srivastava2015Training所述,对于ResNet-110,我们运行了5遍,然后展示了“(均值±±方差)最优”的结果。

Analysis of Layer Responses 层响应分析

Fig.7展示了层响应的标准方差(std)。 响应是每一个33卷积层的BN之后、非线性层(ReLU/addition)之前的输出。对于ResNets,这个分析结果也揭示了残差函数的响应强度。Fig.7表明了ResNets的响应比它对应的plain网络的响应要小。这些结果也验证了我们的基本动机(Sec3.1),即残差函数比非残差函数更接近于0。从Fig.7中ResNet-20、56和110的结果,我们也注意到,越深的ResNet的响应幅度越小。当使用更多层是,ResNets中单个层对信号的改变越少。
在这里插入图片描述
Fig.7 在CIFAR-10上层响应的标准方差(std)。响应是每一个3
3卷积层的BN之后、非线性层之前的输出。顶部:层是按照它们原始的顺序。底部:响应按降序排列。

Exploring Over 1000 layers 探索1000多层

我们探索了一个超过1000层的极其深的模型。我们设置n=200,也就是1202层的网络模型,按照上述进行训练。我们的方法对10^3层的模型并不难优化,并且达到了<0.1%的训练错误率(Fig.6, 右),它的测试错误率也相当低(7.93%, Table 6)。

但是在这样一个极其深的模型上,仍然存在很多问题。1202层模型的测试结果比110层的结果要差,虽然两者都具有类似的训练误差。我们认为这是因为过拟合。对于这种小型数据集,1202层网络可能是不必要的大(19.4M)。在这个数据集应用强大的正则化,如maxout[9]或者dropout[13]来获得最佳结果([9,25,24,34])。在本文中,我们不使用maxout/dropout,只是简单地通过设计深且窄的架构简单地进行正则化,而不会分散集中在优化难点上的注意力。但结合更强的正规化可能会改善结果,我们将来会研究。

4.3.在PASCAL和MS COCO上的目标检测

我们的方法对其他识别任务有很好的泛化性能。表7和表8显示了PASCAL VOC 2007和2012[5]以及COCO[26]的目标检测基准结果。
我们使用 F a s t e r R − C N N Faster R-CNN FasterRCNN作为检测方法。在这里,我们比较关注由ResNet-101 替换VGG-16所带来的的提升。使用不同网络进行检测的实现是一样的,所以检测结果只能得益于更好的网络。最值得注意的是,在COCO数据集上,我们在COCO的标准指标(mAP@[.5, .95])上比先前的结果增加了6.0%,这相当于28%的相对提升。而这完全得益于所学到的表达。
在这里插入图片描述
Table 7 在PASCAL VOC 2007/2012测试集上使用Faster R-CNN的目标检测 mAP (%)。

在这里插入图片描述
Table 8 在COCO 验证集上使用Faster R-CNN的目标检测 mAP (%)。

基于深度残差网络,我们在ILSVRC & COCO 2015竞赛的ImageNet检测、ImageNet定位、COCO检测以及COCO分割上获得了第一名。

References

[1] Y.Bengio,P.Simard,andP.Frasconi.Learning long-term dependencies with gradient descent is difficult. IEEE Transactions on Neural Networks, 5(2):157–166, 1994.

[2] C. M. Bishop. Neural networks for pattern recognition. Oxford university press, 1995.

[3] W. L. Briggs, S. F. McCormick, et al. A Multigrid Tutorial. Siam, 2000.

[4] K. Chatfield, V. Lempitsky, A. Vedaldi, and A. Zisserman. The devil is in the details: an evaluation of recent feature encoding methods. In BMVC, 2011.

[5] M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman. The Pascal Visual Object Classes (VOC) Challenge. IJCV, pages 303–338, 2010.

[6] R. Girshick. Fast R-CNN. In ICCV, 2015.

[7] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In
CVPR, 2014.

[8] X. Glorot and Y. Bengio. Understanding the difficulty of training deep feedforward neural networks. In AISTATS, 2010.

[9] I. J. Goodfellow, D. Warde-Farley, M. Mirza, A. Courville, and Y. Bengio. Maxout networks. arXiv:1302.4389, 2013.

[10] K.Heand J.Sun. Convolutional neural networks at constrained time cost. In CVPR, 2015.

[11] K.He, X.Zhang, S.Ren, and J.Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV, 2014.

[12] K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification. In
ICCV, 2015.

[13] G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R. R. Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors. arXiv:1207.0580, 2012.

[14] S. Hochreiter. Untersuchungen zu dynamischen neuronalen netzen. Diploma thesis, TU Munich, 1991.

[15] S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural computation, 9(8):1735–1780, 1997.

[16] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In ICML, 2015.

[17] H.Jegou, M.Douze, and C.Schmid. Product quantization for nearest neighbor search. TPAMI, 33, 2011.

[18] H. Jegou, F. Perronnin, M. Douze, J. Sanchez, P. Perez, and C. Schmid. Aggregating local image descriptors into compact codes.
TPAMI, 2012.

[19] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for
fast feature embedding. arXiv:1408.5093, 2014.

[20] A. Krizhevsky. Learning multiple layers of features from tiny images. Tech Report, 2009.

[21] A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012.

[22] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. Backpropagation applied to hand-written zip code recognition. Neural computation, 1989.

[23] Y.LeCun,L.Bottou,G.B.Orr,and K.-R.Muller. Efficient back prop. In Neural Networks: Tricks of the Trade, pages 9–50. Springer, 1998.

[24] C.-Y. Lee, S. Xie, P. Gallagher, Z. Zhang, and Z. Tu. Deeply-supervised nets. arXiv:1409.5185, 2014.

[25] M. Lin, Q. Chen, and S. Yan. Network in network. arXiv:1312.4400,2013.

[26] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollar, and C. L. Zitnick. Microsoft COCO: Common objects in
context. In ECCV. 2014.

[27] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015.

[28] G. Montufar, R. Pascanu, K. Cho, and Y. Bengio. On the number of linear regions of deep neural networks. In NIPS, 2014.

[29] V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In ICML, 2010.

[30] F. Perronnin and C. Dance. Fisher kernels on visual vocabularies for image categorization. In CVPR, 2007.

[31] T. Raiko, H. Valpola, and Y. LeCun. Deep learning made easier by linear transformations in perceptrons. In AISTATS, 2012.

[32] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015.

[33] B. D. Ripley. Pattern recognition and neural networks. Cambridge university press, 1996.

[34] A. Romero, N. Ballas, S. E. Kahou, A. Chassang, C. Gatta, and Y. Bengio. Fitnets: Hints for thin deep nets. In ICLR, 2015.

[35] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, et al. Imagenet large scale visual recognition challenge. arXiv:1409.0575, 2014.

[36] A. M. Saxe, J. L. McClelland, and S. Ganguli. Exact solutions to the nonlinear dynamics of learning in deep linear neural networks. arXiv:1312.6120, 2013.

[37] N.N.Schraudolph. Accelerated gradient descent by factor-centering decomposition. Technical report, 1998.

[38] N. N. Schraudolph. Centering neural network gradient factors. In Neural Networks: Tricks of the Trade, pages 207–226. Springer, 1998.

[39] P.Sermanet, D.Eigen, X.Zhang, M.Mathieu, R.Fergus, and Y.LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. In ICLR, 2014.

[40] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In ICLR, 2015.

[41] R. K. Srivastava, K. Greff, and J. Schmidhuber. Highway networks. arXiv:1505.00387, 2015.

[42] R. K. Srivastava, K. Greff, and J. Schmidhuber. Training very deep networks. 1507.06228, 2015.

[43] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. In CVPR, 2015.

[44] R. Szeliski. Fast surface interpolation using hierarchical basis functions. TPAMI, 1990.

[45] R. Szeliski. Locally adapted hierarchical basis preconditioning. In SIGGRAPH, 2006.

[46] T. Vatanen, T. Raiko, H. Valpola, and Y. LeCun. Pushing stochastic gradient towards second-order methods–backpropagation learning with transformations in nonlinearities. In Neural Information Processing, 2013.

[47] A. Vedaldi and B. Fulkerson. VLFeat: An open and portable library of computer vision algorithms, 2008.

[48] W. Venables and B. Ripley. Modern applied statistics with s-plus. 1999.

[49] M. D. Zeiler and R. Fergus. Visualizing and understanding convolutional neural networks. In ECCV, 2014.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值