深度网络:
1)特点:
1.将一个端到端的多层模型中的低/中/高级特征以及分类器整合起来
2.模型的深度至关重要
2)问题:
1.梯度消失/梯度爆炸:这从一开始便阻碍了模型的收敛,归一初始化和BN在很大程度上解决了这一问题
2.退化:随着网络深度的增加,准确率达到饱和然后迅速退化
shortcut:
1)定义:跳过一个或者多个层
2)作用:使得层能根据其输入来学习残差函数,残差函数通常只有很小的响应
3)优点:优化更简单,准确率更高,泛化能力强,收敛速度快,能够轻易的由增加层来提高准确率,没有增加额外的参数和计算复杂度
4)结构:
1.y=F(x,{Wi})+x.
2.y=F(x,{Wi})+Wsx
Ws仅用于解决维度不匹配的问题
5)深度瓶颈结构:1×1 的层主要负责减少和恢复维度,以减小3×3的层输入和输出的维度
6)实验:
1.2015年ILSVRC分类任务上的第一名,集成模型在ImageNet测试集上的错误率仅为 3.57
文章目录
Abstract
越深的神经网络训练起来越困难。我们提出了一个残差学习框架来简化网络的训练,这些网络比以前使用的网络要深得多。我们重新组织了层,使得层能根据其输入来学习残差函数而非原始函数。本文全面地证明了,这些残差网络的优化更简单,也能从更深的层来获得更高的准确率。本文在ImageNet数据集上使用了一个152层深的网络来评估我们的残差网络,它比VGG网络[41]深8倍,但是复杂度较低。这些残差网络的一个集成模型在ImageNet测试集上的错误率仅为 3.57%。这个结果在2015年的ILSVRC分类任务上获得了第一名的成绩。我们也在CIFAR-10上对100/1000层的残差网络进行了分析。
在很多视觉识别任务中,表征的深度非常重要。仅仅由于我们的深度表征,我们在COCO对象检测数据集上获得了28%的相对改进。 深度残差网络是我们参加ILSVRC & COCO 2015 竞赛上所使用模型的基础,并且我们在ImageNet检测,ImageNet定位,COCO检测以及COCO分割上均获得了第一名的成绩。
(http://image-net.org/challenges/LSVRC/2015/
http://mscoco.org/dataset/#detections-challenge2015.)
1. Introduction
深度卷积神经网络[22, 21]在图像分类领域取得了一系列的突破 [21,50, 40]。 深度网络很好的将一个端到端的多层模型中的低/中/高级特征[50]以及分类器整合起来,特征的等级可以通过堆叠层的数量(深度)来丰富。最近有结果[41, 44]显示,模型的深度至关重要,因此ImageNet竞赛[36]的优胜模型[41, 44, 13, 16]都利用了“非常深”的模型——16 层 到30层 。许多其它的优秀视觉识别任务[8, 12, 7, 32, 27]都得益于非常深的模型。
在深度的重要性的驱使下,出现了一个新的问题:训练一个更好的网络是否和堆叠更多的层一样简单呢?回答这一问题的障碍便是困扰人们很久的梯度消失/梯度爆炸[1, 9],这从一开始便阻碍了模型的收敛。归一初始化[23, 9, 37, 13]和中间归一化[16]在很大程度上解决了这一问题,它使得数十层的网络在反向传播的随机梯度下降(SGD)上能够收敛。
当深层网络能够收敛时,一个退化问题又出现了:随着网络深度的增加,准确率达到饱和(这是不足为奇的)然后迅速退化。意外的是,这种退化并不是由过拟合造成的,并且在一个合理的深度模型中增加更多的层却导致了更高的错误率,如[11, 42]所描述,我们的实验也证明了这点。Fig.1展示了一个典型的例子。
Fig.1 20层和56层的“plain”网络在CIFAR-10上的训练错误率(左)和测试错误率(右)。越深的网络在训练和测试上都具有越高的错误率。Fig展示了ImageNet中的相似情况
退化的出现(训练准确率)表明了并非所有的系统都是很容易优化的。让我们来比较一个浅层的框架和它的深层版本。对于更深的模型,这有一种通过构建的解决方案:添加的层是恒等映射,其他层是从学习的较浅的模型中复制的。这个构建的解决方案表明,一个更深的模型不应当产生比它的浅层版本更高的训练错误率。实验表明,我们目前无法找到与之相似或者更好的方案(至少现在不能)。
本文中,我们提出了一种深度残差学习框架来解决这个退化问题。我们明确的让这些层来拟合残差映射,而不是让每一个堆叠的层直接来拟合所需的底层映射。假设所需的底层映射为 H(x),我们让堆叠的非线性层来拟合另一个映射: F(x)=H(x)−x。 因此原来的映射转化为: F(x)+x。我们推断残差映射比原始映射更容易优化。在极端的情况下,如果某个恒等映射是最优的,那么将残差置零要比通过一堆非线性层来适应一个恒等映射容易得多。
公式 F(x)+x 可以通过前馈神经网络的“短路连接”来实现(Fig.2)。短路[2, 34, 49]连接就是跳过一个或者多个层。在我们的例子中,短路连接只是简单的执行恒等映射,再将它们的输出和堆叠层的输出叠加在一起(Fig.2)。恒等的短路连接并不增加额外的参数和计算复杂度。完整的网络仍然能通过端到端的SGD反向传播进行训练,并且能够简单的通过公共库(例如,Caffe[19])来实现而无需修改求解器(solvers)。
我们在ImageNet数据集[36]上进行了综合性的实验来展示这个退化问题并评估了我们提出的方法。我们展示了: 1) 我们极深的残差网络是很容易优化的,但是对应的“plain”网络(堆叠层)在深度增加时却出现了更高的错误率; 2) 我们的深度残差网络能够轻易的由增加层来提高准确率,并且结果也大大优于以前的网络。
CIFAR-10[20]数据集上也出现了类似的现象,这表明了我们提出的方法的优化难度和效果并不仅仅是对于一个特定数据集而言的。我们在这个数据集上成功的提出了超过100层的训练模型,并探索了超过1000层的模型。
在ImageNet分类数据集[36]上,极深的残差网络获得了优异的成绩。我们的152层的残差网络是目前ImageNet上最深的网络,并且复杂度比VGG[41]网络更低。在ImageNet测试集上,我们集成模型的top-5错误率仅为3.57%,并赢得了ILSVRC 2015分类竞赛的第一名。这个极深的表征在其他识别任务上同样也具有非常好的泛化性能,这让我们在ILSVRC & COCO 2015 竞赛中的ImageNet检测、ImageNet定位、COCO检测以及COCO分割上均获得了第一名的成绩。这证明了残差学习法则的通用性,因此我们将把它应用到其他视觉甚至非视觉问题上。
2. Related Work
Residual Representations:
在图像识别中,VLAD[18]是残差向量对应于字典进行编码的一种表达形征,Fisher Vector[30]可以看做是VLAD 的一个概率版本[18]。对于图像检索和分类[4, 48]它们都是强力的浅层表征。对于向量量化,残差向量编码比原始向量编码更加有效。
在低级视觉和计算机图形学中,为了求解偏微分方程(PDEs),通常使用Multigrid法[3]将系统重新表达成多尺度的子问题来解决,每一个子问题就是解决粗细尺度之间的残差问题。Multigrid的另外一种方式是分层基预处理[45, 46],它依赖于代表着两个尺度之间残差向量的变量。实验证明[3, 45, 46],这些求解器比其他标准求解器收敛的更快,标准求解器没有利用残差特性。这些方法表明了一个好的重新表征或者预处理能够简化优化问题。
Shortcut Connections:
短路连接[2, 34, 49]已经经过了很长的一段实践和理论研究过程。训练多层感知器(MLPs)的一个早期实践就是添加一个连接输入和输出[34, 49]的线性层。在[44, 24]中,将一些中间层直接与辅助分类器相连接以处理梯度消失/爆炸问题。文献[39,38,31,47]提出了通过短路连接接来调整层响应、梯度和传播误差的方法。在[44]中,“inception”层由一个短路分支和几个更深的分支组成。
在我们的工作中,“highway networks”[42, 43]将shortcut连接与门控函数[15]结合起来。这些门是数据相关并且有额外参数,而我们的恒等shortcuts是无参数的。当一个shortcut的门是“closed”(接近于0)时,highway网络中的层就不表示残差函数。相反的是,我们的模型总是学习残差函数;我们的恒等shortcuts从不关闭,在学习额外的残差函数时,所有的信息都会经过。此外,highway网络并不能通过增加层的深度(例如, 超过100层)来提高准确率。
3. Deep Residual Learning
3.1 Residual Learning
我们将H(x)看作一个由部分堆叠的层(并不一定是全部的网络)来拟合的底层映射,其中x是这些层中第一层的输入。假设多个非线性层能够逼近复杂的函数(这是一个开放性问题,见[28]),那么这些层能也够逼近复杂的残差函数,如H(x)−x (假设输入和输出的维度相同)。所以我们明确的让这些层来估计一个残差函数:F(x)=H(x)−x 而不是H(x)。因此原始函数变成了:F(x)+x。尽管这两个形式应该都能够逼近所需的函数(正如假设),但是学习的难易程度并不相同。
这个重新表达受启发于退化问题这一反常的现象(Fig.1,左)。正如我们在introduction中讨论的,如果增加的层能以恒等映射来构建,一个更深模型的训练错误率至少不会比对应的浅层模型的更大。退化问题表明,对于求解器来说通过多个非线性层来估计恒等映射是存在困难的。而伴随着残差学习的重新表达,如果恒等映射是最优的,那么求解器驱使多个非线性层的权重趋向于零来逼近恒等映射。
在实际情况下,恒等映射不太可能是最优的,但是我们的重新表达对于这个问题的预处理是有帮助的。如果最优函数更趋近于恒等映射而不是0映射,那么对于求解器来说寻找关于恒等映射的扰动比学习一个新的函数要容易的多。我们通过实验(Fig.7)表明,学习到的残差函数通常只有很小的响应,说明了恒等映射提供了合理的预处理。
3.2 Identity Mapping by Shortcuts
我们在少量堆叠层上采取残差学习算法。一个构建块如Fig.2所示。
本文中的构建块定义如下(Eq.1):
y=F(x,{Wi})+x.
其中x和y分别表示该层层的输入和输出。函数F(x,{Wi})代表着学到的残差映射。Fig.2中的例子包含两层,F=W2σ(W1x),其中σ代表ReLU[29],为了简化省略了偏置项。F+x操作由一个shortcut连接和元素级的加法来表示。在加法之后我们再执行另一个非线性操作(如σ(y),见Fig.2。
Eq.1中的shortcut连接没有增加额外的参数和计算复杂度。这不但是一个很有吸引力实践,而且在对“plain”网络和“residual”网络进行比较时也是非常重要的。我们可以在参数、深度、宽度以及计算成本都相同的基础上对两个网络进行公平的比较(元素级加法可以忽略不计)。
在Eq.1中,x和F的维度必须相同。如果不相同(例如, 当改变了输入/输出的通道数量),我们可以通过shortcut连接执行一个线性映射Ws 来匹配两者的维度(Eq.2):
y=F(x,{Wi})+Wsx.
在Eq.1中同样可以使用方阵Ws。但我们的实验表明,恒等映射已足够解决退化问题,并且是经济适用的,因此Ws仅用于解决维度不匹配的问题。
残差函数F的形势是灵活可变的。本文实验中涉及到的函数F是两层或者三层的(Fig.5),当然更多层也是可行的。但是如果F只含有一层,Eq.1则类似于线性函数:y=W1x+x,这就没什么优势可言。
我们还注意到,尽管为了简单起见,上面的表示法是关于全连接层的,但是它们同样适用于卷积层。函数F(x,{Wi})可以表示多个卷积层,元素级的加法在两个特征图之间的逐通道执行。
3.3 Network Architectures
我们在多个plain网络和residual网络上进行了测试,并都观测到了一致的现象。为了提供可供讨论的实例,接下来我们将描述ImageNet上的两个模型描述。
Plain网络:
我们的plain网络结构(Fig.3,中)主要受VGG[41]网络 (Fig.3,左)的启发。卷积层主要为3×3的滤波器,并遵循以下两点:(i) 输出特征尺寸相同的层含有相同数量的滤波器;(ii) 如果特征尺寸减半,则滤波器的数量增加一倍来保证每层的时间复杂度相同。我们直接通过stride为2的卷积层来进行下采样。在网络的最后是一个全局的平均池化层和一个1000 类的softmax全连接层。加权层的层数为34,如Fig.3(中)所示。
值得注意的是,我们的模型比VGG网络41的滤波器更少、计算复杂度更低。我们34层的基础结构含有36亿个FLOPs(乘-加),而这仅仅只是VGG-19 (196亿个FLOPs)的18%。
Fig3. ImageNet的网络架构示例。左:参考VGG-19型号41。中:34个参数层的普通网络(36亿FLOPs)。右:34个参数层的残差网络(36亿FLOPs)。虚线捷径增加维度。表1显示了更多的细节和其他变体。
Table 1 对应于ImageNet的结构框架。括号中为构建块的参数(同样见Fig.5),数个构建块进行堆叠。下采样由stride为2的conv3_1、conv4_1和conv5_1 来实现。
残差网络:
在以上plain网络的基础上,我们插入shortcut连接(Fig.3,右),将网络变成对应的残差版本。如果输入和输出的维度相同时,可以直接使用恒等shortcuts (Eq.1)(Fig.3中的实线部分)。当维度增加时(Fig.3中的虚线部分),考虑两个选项:(A) shortcut仍然使用恒等映射,在增加的维度上使用0来填充,这样做不会增加额外的参数;(B) 使用Eq.2的映射shortcut来使维度保持一致(通过1*1的卷积)。对于这两个选项,当shortcut跨越两种尺寸的特征图时,均使用stride为2的卷积。
3.4 Implementation
针对ImageNet的网络实现遵循了[21, 41]的实践。调整图像的大小使它的短边长度为随机[256,480]中的随机采样来进行尺度增强[41]。 从一张图像或者它的水平翻转图像中随机采样一个224×224的crop,减去像素均值。图像使用标准的颜色增强[21]。我们在每一个卷积层之后,激活层之前均使用batch normalization(BN)[16]。我们根据[13]来初始化权值然后从零开始训练plain/residual网络。我们使用随机梯度下降法,mini-batch的尺寸为256。学习率从0.1开始,每当错误率平稳时将学习率除以10,整个模型进行60×10^4次迭代训练。我们将权值衰减设置为0.0001,动量为0.9。根据[16],我们并没有使用Dropout[14],。
在测试中,为了进行比较,我们采取标准的10-crop测试[21]。为了达到最佳的结果,我们使用如[41, 13]中的全卷积形式,并在多个尺度的结果上取平均分(调整图像的大小使它的短边长度在{224,256,384,480,640}中)。
4. 实验
4.1 ImageNet Classification
本文在1000类的ImageNet2012数据集[36]上对我们的方法进行评估。训练集包含128万张图像,验证集包含5万张图像。我们通过服务器在10万张测试图像上进行测试。我们评估了top-1和top-5 的错误率。
Plain Networks:
我们首先评估了18层和34层的plain网络。34层的网络如图Fig.3(中)所示。18层的结构很相似,具体细节参见Table 1。
Table 2中展示的结果表明了34层的plain网络比18层的plain网络具有更高的验证错误率。为了揭示产生这种现象的原因,在Fig.4(左)中我们比较了整个训练过程中的训练及验证错误率。从结果中我们观测到了明显的退化问题——在整个训练过程中34层的plain网络具有更高的训练错误率,即使18层plain网络的解空间为34层解空间的一个子空间。
我们认为这种优化困难不太可能是由梯度消失所造成的。因为这些plain网络的训练使用了BN,这能保证前向传递的信号是具有非零方差的。我们同样验证了在反向传递阶段的梯度由于BN而具有良好的范式,所以在前向和反向阶段的信号不会存在消失的问题。事实上,34层的plain网络仍然具有不错的准确率(Table 3),这表明了求解器在某种程度上也是有效的。我们推测,深层的plain网络的收敛率是指数衰减的,这可能会影响训练错误率的降低。(我们也进行了三倍的迭代,但效果不佳)我们将在以后的工作中研究这种优化困难的原因。
Residual Networks:
接下来我们对18层和34层的残差网络ResNets进行评估。如Fig.3 (右)所示,ResNets的基本框架和plain网络的基本相同,只是在每一对3×3的滤波器上增加了一个shortcut连接;在第一个比较中,所有的shortcuts都是恒等映射,并且使用0对增加的维度进行填充(选项 A)。因此与plain网络相比没有增加额外的参数。
我们从Table 2和Fig.4中主要观测到以下三点:
第一,与plain网络相反,34层的ResNet比18层ResNet的结果更好(2.8%)。更重要的是,34 层的ResNet在训练集和验证集上均展现出了更低的错误率。这表明了这种设置可以很好的解决退化问题,并且我们可以由增加的深度来提高准确率。
第二,与对应的plain网络相比,34层的ResNet的top-1验证错误率降低了3.5% (Table 2),这得益于训练错误率的降低(Fig.4 右 vs 左)。这也验证了在极深的网络中残差学习的有效性。
最后,我们同样注意到,18层的plain网络和残差网络的准确率很接近 (Table 2),但是18层的ResNet 的收敛速度要快得多。(Fig.4 右 vs 左)。如果网络“不是特别深” (如18层),现有的SGD能够很好的对plain网络进行求解,在这种情况下,ResNet通过在早期提供更快的收敛速度来简化优化。
Identity vs. Projection 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,我们使用了三个叠加层而不是两个(Fig.5)。 这三层分别是1×1、3×3 和1×1 的卷积,1×1 的层主要负责减少然后增加(恢复)维度,使得3×3的层输入和输出的维度减小。Fig.5展示了一个例子,这两种设计具有相似的时间复杂度。
无参数的恒等shortcuts对于瓶颈结构尤为重要。如果使用映射shortcuts来替代Fig.5(右)中的恒等shortcuts,时间复杂度和模型尺寸都会翻倍,因为shortcut连接了两个高维端,所以恒等shortcuts对于瓶颈设计是更加有效的。
50-layers ResNet: 我们将34层网络中2层的模块替换成3层的瓶颈模块,整个模型也就变成了50层的ResNet (Table 1)。对于增加的维度我们使用选项B来处理。整个模型含有38亿个FLOPs。
101-layer and 152-layer 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)。
Comparisons with State-of-the-art Methods:
在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数据集[20]上进行了更多的研究。我们在训练集上进行训练,在测试集上进行验证。我们关注的是验证极深模型的效果,而不是追求最好的结果,因此我们只使用如下的简单框架。
Plain网络和残差网络的框架如 Fig.3(中/右)所示。网络的输入是32×32的减掉像素均值的图像。第一层是3×3的卷积层。然后我们使用6n个3×3的卷积层的堆叠,卷积层对应的特征图有三种:{32,16,8},每一种卷积层的数量为2n 个,对应的滤波器数量分别为{16,32,64}。使用strde为2的卷积层进行下采样。在网络的最后是一个全局的平均pooling层和一个10类的softmax全连接层。一共有6n+2个堆叠的权重层。具体的结构见下表:
使用shortcut连接3×3的卷积层对(共有 3n个shortcuts)。在这个数据集上我们所有的模型都使用恒等shortcuts(A),因此我们的残差模型和对应的plain模型具有相同的深度、宽度和参数量。
我们设权重衰减为0.0001,动量为0.9,采用了[13]中的权重初始化以及BN[16],但是不使用Dropout,mini-batch的大小为128,模型在2块GPU 上进行训练。学习率初始为0.1,在第32000和48000次迭代后分别将其除以10,总的迭代次数为64000,这是由45000/5000的训练集/验证集分配所决定的。我们在训练阶段遵循[24]中的数据增强法则:在图像的每条边填充4个像素,然后在填充后的图像或者它的水平翻转图像上随机采样一个32×32 的crop。在测试阶段,我们只使用原始32×32的图像进行评估。
我们比较了n={3,5,7,9},也就是20、32、44以及56层的网络。Fig.6(左) 展示了plain网络的结果。对于深度plain网络,随着层数的加深,训练错误率也变大。这个现象与在ImageNet(Fig.4, 左)和MNIST[42]上的结果很相似,表明了优化上的难度确实是一个很重要的问题。
Fig.6(中)展示了ResNets的效果。与ImageNet(Fig.4, 右)中类似,我们的ResNets能够很好的克服优化难题,并且随着深度加深,准确率也得到了提升。
我们进一步探索了n=18,也就是110层的ResNet。在这里,我们发现0.1的初始学习率有点太大而不能很好的收敛。所以我们刚开始使用0.01的学习率,当训练错误率在80%以下(大约400次迭代)之后,再将学习率调回0.1继续训练。剩余的学习和之前的一致。110层的ResNets很好的收敛了 (Fig.6, 中)。它与其他的深层窄模型,如FitNet[35]和Highway[42] (Table 6)相比,参数更少,然而却达到了最好的结果 (6.43%, Table 6)。
Analysis of Layer Responses:
Fig.7展示了层响应的标准方差(std)。 响应是每一个3×3卷积层的BN之后、非线性层(ReLU/addition)之前的输出。对于ResNets,这个分析结果也揭示了残差函数的响应强度。Fig.7表明了ResNets的响应比它对应的plain网络的响应要小。这些结果也验证了我们的基本动机(Sec3.1),即残差函数比非残差函数更接近于0。从Fig.7中ResNet-20、56和110的结果,我们也注意到,越深的ResNet的响应幅度越小。当使用的层越多,ResNets中单个层对信号的改变越少。
Exploring Over 1000 layers:
我们探索了一个超过1000层的极其深的模型。我们设置n=200,也就是1202层的网络模型,按照上述进行训练。我们的方法展示了对10^3层的模型并不难优化,并且达到了<0.1%的训练错误率(Fig.6, 右),它的测试错误率也相当低(7.93%, Table 6)。
但是在这样一个极其深的模型上,仍然存在很多未解决问题。1202层模型的测试结果比110层的结果要差,尽管它们的训练错误率差不多。我们认为这是过拟合导致的。这样一个1202层的模型对于小的数据集来说太大了(19.4M)。[10, 25, 24, 35]在这个数据集上应用了强大的正则化方法,如maxout[10]或者 dropout[14],才获得了最好的结果。在本文中,我们并没有使用maxout/dropout,只是简单的通过设计深层窄模型来进行正则化,而不是将重点放在优化上。但是通过强大的正则化或许能够提高实验结果,我们会在以后进行研究。
4.3 Object Detection on PASCAL and MS COCO
我们的方法在其它识别任务上展现出了很好的泛化能力。Table7和8展示了在PASCAL VOC 2007[5]和2012以及 COCO[26]上的目标检测结果。我们使用Faster R-CNN[32]作为检测方法。在这里,我们关注的是用ResNet-101替换VGG-16[41]所带来的的提升。使用不同网络进行检测的实现是一样的(见附录),所以检测结果仅得益于更好的网络。最值得注意的是,在COCO数据集上,我们在COCO的标准指标(mAP@[.5, .95])上比先前的结果增加了6.0%,这相当于28%的相对提升。而这完全得益于所学到的表征。
基于深度残差网络,我们在ILSVRC & COCO 2015竞赛的ImageNet检测、ImageNet定位、COCO检测以及COCO分割上获得了第一名。详见附录。