Deep Residual Learning for Image Recognition(翻译)

论文地址

基于深度残差学习的图像识别

摘要

更深入的神经网络是更难去训练的。我们呈现一个残差学习框架来简化那些明显比过去深入的使用神经网络训练。我们通过重新制定层次作为涉及层输入的学习剩余函数,而不是学习未涉及到的功能。我们提供全面的经验证据来证明这些残差神经网络是更加容易得到的,并且可以从增加深度中来获取精确度。在ImageNet数据集中,我们可以通过把深度提高到152层来预估残差神经网络,这虽然比VGG网络深度增强8倍,但仍然存在复杂度低的问题。这些残差神经网络的整体在ImageNet网络的测试中达到3.57%的错误率。这个结果在ILSVRC 2015年分批任务中赢得了第一名。我们也对 CIFAR-10的100层到1000层进行了分析。

对于许多视觉识别任务来说,表示的深度具有绝对的重要性。仅仅由于我们尽可能深入的表示,我们在COCO项目检测数据库中获得了一个28%的相关提升。深度残差网络使我们加入2015年的ILSVRC和COCO竞争的基本条件,在这次竞赛中,我们可以在 ImageNet 检测、 ImageNet 定位、COCO检测和COCO分配这些任务中赢得第一名。

1. 介绍

深度卷积神经网络已经在图像分类方面取得了一系列的突破。深度网络通常整合了在端到端的仿真功能中的低、中、高三个等级的特征和类别,并且这个等级的特征可以通过折叠层的数量来丰富。最近的结果表明,网络路径至关重要,并且促使ImageNet数据集中的先进结果都通过16层到30层的深度探索了非常深的模型。许多其他的视图识别任务也极大的受益于非常深的模型。

受深度的重要性的影响,一个问题产生了:学习更好的网络是否和折叠更多的层次一样简单?回答这个问题的一个障碍就是困扰了很久的消失的/爆炸的梯度问题,这从根源阻碍了变化趋势。可是,这个问题已经极大地被标准初始化和中间初始化解决了,这使得十层网络能够在反向传播中收敛到随机梯度降低。

当更深入的网络开始收敛,一个退化问题暴露出来:随着网络深度增加,精确度会饱和(这似乎并不足为奇),并且之后快速退化。令人意外的是,正如在我们实验中的彻底变化报道中所说,这种退化并不是由于过度适配造成的,并且增加更多的层给一个合适的深度模型会导致更高的训练误差。Fig.1展示一个典型的例子。
在这里插入图片描述
图1. 20层和56层“plain“网络在CIFAR-10的 训练误差(左边)和测试误差(右边)。更深入的网络有着更高的训练误差和测试误差。在Fig.4中的ImageNet也存在相似的现象。

这种退化(关于训练准确度)表明并不是所有的系统都非常容易去优化。让我们考虑一个更浅显的体系结构以及在它的更深入对比上增加更多层次。有一种可以通过构建深度模型的解决方法:增加的层次是恒等映射,其他的层次从浅度学习模型上覆制。这个构建的解决方法的存在表明,一个深度模型不应该生成比浅度内容更高的训练误差。但是实验显示,我们当前的手头上的方案并不能发现和构建解决方案一样好或者更好的方法(或者在目前时间无法做到)。

在本文中,我们通过介绍一个深度残差信息框架来强调了退化问题。我们确切地让这些层次拟合映射,而不是让每一个堆积的层次直接拟合一个底层映射。正式的,采用底层映射作为H(x),我们让堆积非线性层次拟合另一种映射;F(x):=H(x)-x。普遍的映射会重新到F(x)+x。我们假设优化残差映射要比优化普遍的、未涉及到的映射简单的多。确切的说,如果一个恒等映射是可优化的,比起通过非线性层次的堆积来拟合一个恒定映射,推动残差趋于零将更容易实现。
在这里插入图片描述
图二: 残差学习:一个构建单元

函数F(x)+x可以通过带有捷径连接的正反馈神经网络来实现(如图2)。捷径连接[2,34,49]就是那些跳过的一个或多个层次。一般情况下,短期连接仅仅表现为恒定映射,且它们的输出被添加在堆积层的输出中。恒定映射捷径连接既不添加额外的参数r也不增加计算性的复杂度。它的全部工作仍然可以被SGD反向传播训练端到端相连,也可以使用库来简单完成而不用修改方案。

我们呈现对ImageNet的理解性试验来表明退化问题和评估我们的方法。我们展示了以下内容:(1)我们的深度残差网络很容易去优化,但是对比“计划”网络(仅仅指的是堆积层次)当深度增加时出现了更高的训练误差;(2)我们的和深度残差网络可以简单地享受从增加的深度中获得的准确度,产生结果大大好于过去的神经网络。

在CIF-10设置中也出现了相似的现象,说明我们方法的优化难度和影响不仅仅起因于特殊的数据集。我们用超过100层神经网络成功展现了在数据集的训练模型,并用这100层网络中探索了模型。

在ImageNet分类数据集中,我们通过深度残差网络获得了很好地结果。我们的152层残差网络是曾经在ImageNet中曾鲜过的最深的网络,然而它的复杂度仍然低于VGG网络。我们猜测在ImageNet测试设置中上有3.57%的误差,并且在2015奶奶上午ILSVRC分类竞赛中赢得第一名。极端深度的描述在其他识别测试中也有极好的表现,并且也带领我们未来在以下领域赢得第一名:在ILSVRC和2015年COCO竞赛中的ImageNet探测、ImageNet本地、COCO探测和COCO分配。这个强有力的证据表明残差学习准则是普遍的,且我们期望它在其他视觉或者非视觉问题中都是可实现的。

2.相关工作

残差描述 在图像识别中,VLAD是通过基于字典的残差向量来进行编码的,Fisher向量可以被认为是一个VLAD的概率版本。他们两个都是很好的用于图像检索和分类的浅层描述。对于向量量化,残差向量的编码要比编码原始向量更有效。

在低级视觉和计算机图像中,为了解决偏微分方恒问题,广泛应用多重网络方法在系统中构建多领域中的子问题,每一个子问题都负责解决粗粒度和细粒度之间的残差。一个多层的额外选择是用级联预基础[45,46]来处理,它基于表示在两至尺度之间的不同的残差向量。在文献[3,45,46]中显示,这些解决方法比标准的不考虑残差的解决方法更加迅速。这些方法表明一个好的模型或者预处理可以简化优化过程。

捷径连接 基于实践和理论带领的捷径连接已经被研究了相当长时间。早期的关于训练多层感知器网络的实践包括通过在网络的输入层和输出层之间增加一个线性层。在文献[44, 24]中,少量的中间层被直接连接到了附加的分类器来解决梯度消失或梯度爆炸的问题。文献[39, 38, 31, 47]则提出了层响应置中、梯度和传播误差,是采用的捷径的连接。在文献[44]中,一种叫做“开端”层的由捷径分支和少量较深的分支组成。

和我们同期的工作也有一些,文献[42, 43]提出的“高速公路网络”展示了通过门函数的捷径连接。这些门函数是数据相关的且需要进行参数调整,对比而言,我们的恒等捷径是无需调参的。当门捷径“关闭”(趋零)时,高速公路网络中的层表示是非残差函数。相反的,我们通常学习残差函数;我们的恒等捷径从不关闭,因此所有信息总是通过学习残差函数传送。此外,高速公路网络也没有演示出随着网络深度很大程度的加大,准确率会不会也得到提高。

3 深度残差学习

3.1 残差学习

让我们考虑H(x)是一个将通过一些堆叠的网络层(不需要一定是整个网络)进行映射关系的拟合,用x表示对这些层中第一层输入。假设多层非线性层次可以逐渐近似复杂函数的假设等价于它可以渐进的逼近残差函数,即H(x)-x(这里假设输入和输出是相同维度的)。也就是说,与其指望这些堆叠的层能够近似H(x),我们也可以显式的用它们来近似残差函数F(x) := H(x)-x。如此,对应的原函数即为F(x)+x。尽管采用这两种形式都有可能渐进的近似到目标函数(根据上述假设),然而学习的难度可能会存在差异。

这次重构的原因是由于退化问题中的反直觉的现象(图1(左图))。正如我们在引言里言论的,如果能够以恒等映射来构建所增加的层,一个加深模型的训练误差就不会大于它所基于的较浅模型。退化问题
表明在通过多个非线性层次来近似恒定映射时会有困难。通过残差学习重构,如果恒定映射是可优化的,解决可能仅仅是改变多个非线性西鞥次的重量来接近恒定映射。

在实际案例中,恒等映射不大可能一开始就是可优化的,但是我们重新构造的模型可能有助于预处问题。如果优化函数接近于一个恒等映射而不是一个零值映射,求解时可能更容易通过参考一个恒等映射的办法确定扰动,而不是将其作为全新的函数来学习。我们通过实验(图7)展示了完成了学习的残差网络一般响应较小,这表明恒等映射提供了一种合理的预处理方法。

3.2 利用捷径作恒等映射

我们对每一个堆积网络层采用残差学习。一个构造块如图2所示。正式的,在本文中我们将每个构造块定义为:
y=F(x, {Wi })+x      (1)

这里的x和y分别表示网络层次的输入和输出向量。函数F(x, {Wi })表示将被学习到的残差映射。图2所示的例子包含两层,F=W2σ(W1x)中的σ表示ReLU[29]的参数且为了简化符号省略了偏置项。操作F+x是通过捷径连接和逐元素的相加。我们在加法之后所得到的模型采用的是二阶非线性(如图2中的σ(y))。

在公式(1)中的捷径连接并未引入额外的参数或计算复杂度。这不仅便于应用而且在我们对普通和残差网络进行对比时也尤为重要,这样我们可以公平对普通和残差网络在参数数量、深度、宽度和计算代价相同的情况下作比较(除了几乎可以忽略不计的逐元素加法运算)。

在公式(1)中的x和F的维度必须相同,如果不是这样(例如当输入或输出通道改变时),我们可以在捷径连接上作一个线性项目Ws来解决维度问题:
y=F(x, {Wi })+Ws x      (2)

我们同样也可以在公式(1)中使用方块矩阵Ws。然而我们将通过实验展示恒等映射就足以解决退化问题,并且是以一种经济的形式。因此,Ws将仅仅被用来解决维数匹配的问题。

残差函数F的形式是灵活的。本文实验包括了F为两层或三层时的情形(图5)。虽然更多的层次数量也是可行的,而当F仅有一层时,公式(1)将等同于一个线性层,即y=W1x+x,这样一来就没有什么优势可言了。

我们同时指出尽管上述的数学公式为简明起见都是对于全关联层而言的。它们对于卷积层也同样具有可行性,此时的函数F(x, {Wi })将表示多个卷积层,而逐元素的加法运算则是对于各通道中的两个特征图的。

3.3 网络结构

我们测试了多种类型的普通和残差网络,观察到了很一致的现象。为了给讨论提供实证,接下来我们将描述应用于ImageNet数据集的两种模型。

平凡网络。我们的普通基准网络(图3-中图)主要是受VGG网络理论的启发[41] (图3-左图)。卷积层大多为3×3的滤波器并,且遵从下列两条简单的设计规则:(i)对于相应大小的输出特征图尺寸,层中必须含有相同数目的滤波器;(ii)如果特征图尺寸减半时,则需要倍增滤波器数量来保持各层的时间复杂度。我们通过步长为2的卷积层直接进行降采样。最终的网络包括了一个全局平均池化层和1000路softmax的全连接层。含有重量级的网络层总计有34层(图3-中图)。

值得注意的是我们的模型相对于VGG网络(图3-左图)包含了较少的滤波器并且具有较低的计算复杂度。我们层数为34的网络的基本计算量为36亿FLOPs (包括乘法运算和加法运算),大约仅为VGG-19(196亿FLOPs)的18%。

图3 针对ImageNet的网络架构样例
左:作为对比的VGG-19模型[41](196亿FLOPs)
中:含有权重参数的层数为34的平凡网络(36亿FLOPs)
右:含有权重参数的层数为34的残差网络(36亿FLOPs)
点画线所标记的捷径上作了升维操作。表1中展示了更多的细节和其他变量。

残差网络。基于上述的平凡网络,我们插入了一些捷径连接(见图3,右图)后,则将网络转化为与之对应的残差版网络。当网络的输入维度和输出维度相等时可以直接应用公式(1)所示的恒等捷径(图3中的实线捷径)。当维数增加时(图3中的点画线捷径),我们考虑了两种方法:(A)捷径依然采用恒等映射,对于维数增加带来的额外空缺元素补零,这种方法将引入额外的参数;(B)利用公式(2)所示的投影捷径来选择维数(通过1×1的卷积层实现)。对于这两种方法,当捷径连接了两个尺寸的特征图时,它们将依步长2进行排布。

3.4 实现

我们对ImageNet的实现是根据[21, 41]的实践。图片按其短边作等比缩放后按照[256,480]区间的尺寸随机采样进行尺度增强[41]。随机的从图像或其水平镜像采样大小为224×224的剪裁图像,并将剪裁结果减去像素均值[21]。进行标准色彩增强[21]。我们使用了批量正规化(Batch Normalization, BN)[16]。我们按照文献[13]初始化网络权重,分别从零开始训练平凡网络和残差网络。我们所采用的SGD的最小批量大小为256。学习速率被初始化为0.1,并且在每次遇到错误率平台区时除以10,对各模型都迭代60万次进行训练。我们使用了权值衰减惩罚技术,其速率参数设为0.0001,冲量参数设为0.9。参考文献[16]的实践结果,我们并没有使用dropout技术[14]。

在测试时,为了对结果作对比我们采用了标准的10折测试[21]。为了获得最佳的结果,我们采用了文献[41, 13]所使用的全连接卷积形式的网络,最终结果为对多个尺寸图像(图像分别等比缩放为短边长度{224,256,384,480,640})的实验结果得分取平均值。

4 实验

4.1 ImageNet分类数据集

我们对我们的方法进行了评估,包括了1000个分类的ImageNet 2012分类数据集[36]。各模型均利用128万幅训练图像进行训练,再利用5万幅交叉验证图像进行评估。我们用10万幅测试图像得到最终结果,最终结果是由测试服务器报告的。我们还分别验证了第1和前5的错误率。
  
**普通网络。**我们首先对18层和34层的平凡网络进行验证。34层的平凡网络如图3(中图)所示,18层的平凡网络则与其形式类似。表1中给出了网络架构的细节。
  
表2中的结果表明了较深的34层平凡网络的交叉验证错误率要高于较浅的18层平凡网络。为了揭示其原因,在图4(左图)中我们比较了训练过程中训练错误和交叉验证错误的变化情况。我们观察到了退化问题——在整个的训练过程中,34层的平凡网络的训练误差较高,尽管18层平凡网络仅仅是34层平凡网络的一部分。
在这里插入图片描述
表1 针对ImageNet的架构
工作块的配置见方括号中(亦可见于图5),几种类型的块堆叠起来构成网络架构。降采样采用的是步长为2的conv3_1,conv4_1和conv5_1

在这里插入图片描述
表2 对ImageNet数据集作交叉验证时的最大错误率(%,10折测试)
此处的残差网络没有在其对应的平凡网络中引入新的参数变量,图4展示了训练过程

在这里插入图片描述
图4 用ImageNet数据集进行训练
细线指明了训练误差的变化情况,粗线则指明了交叉验证错误率的变化情况
左图:18层和34层平凡网络的情况
右图:18层和34层残差网络的情况
在本图中,残差网络没有在其对应的平凡网络中引入新的参数变量

我们认为这种模型优化困难不大可能是由于梯度消失造成的。这些平凡网络的训练是基于BN[16]的,这保证了前向传播信号的变异系数不为零值。同时,我们确认了在BN求解时的反向传播过程中的梯度值是正常的。即无论是前向传播还是反向传播过程中的信号都没有出现梯度消失的现象。事实上,34层的平凡网络仍然可以获得有竞争力的精度值(见表3),这某种意义上表明这个方法是可行的。我们猜测深度平凡网络可能潜在的具有较低的收敛速率,而这不利于训练误差的降低。未来还将进一步探究这种优化困难的原因。
在这里插入图片描述
表3 对ImageNet数据集进行交叉验证时的错误率(%,10折测试)
VGG-16是基于我们的测试。ResNet-50/101/152测试采用B方法仅适用投影法来增加维数
在这里插入图片描述
表4 单个模型对ImageNet数据集进行交叉验证时结果的错误率(%)(除了带有标记的那个是对于测试集的)

在这里插入图片描述
表5 组合模型的错误率(%)
前5的错误率是由测试服务器汇报的对于ImageNet测试集的

**残差网络。**现在我们来验证18层和34层的残差网络(Residual Nets, ResNets)。残差网络的基本结构和上述的平凡网络是相同的,除了在每对3×3的过滤器间增加了捷径连接(图3(右图))。在第一个对比中(表2和图4(右图)),我们在所有的捷径使用恒等映射并且对多出的维度补零(方案A),因此相对所基于的平凡网络并没有引入新的参数。

针对表2和图4,我们有3个主要的观察。首先,在使用残差学习方法时情况发生了好转——34层的残差网络的效果优于18层的残差网络(提高了约2.8%)。更重要的是,34层的残差网络的训练误差对于交叉验证数据具有泛化能力。这表明退化问题在这种情况下被较好的控制了,即我们能够在增加网络深度时获得更高的准确率。

其二,相比于所基于的平凡网络,34层的残差网络降低了约3.5%的最大错误率(见表2),这是得益于训练误差的成功降低(对比图4(右图)和图4(左图))。这个对比证实了残差学习对于深度学习系统是有效的。
  
最后,我们认为18层的平凡和残差网络的准确度是接近的(见表2),然而18层的残差网路的收敛速度更快一些(对比图4中的右图和左图) 。当网络不是“太深”时(这里是18层),现有的SGD求解方法仍然可以在平凡网络上得到一个较好的结果。在这种情形下,残差网络通过使得加快了在训练初期的收敛速度方便了模型的优化。

恒等快捷连接(identity shortcut)和投影快捷连接(projection shortcut)的对比。我们已经展示了无需参数的恒等映射快捷连接是有助于训练的。下面我们看一下投影快捷连接(公式(2))。在表3中我们对比了三个方案:(A)利用补零快捷连接进行升维,所有快捷连接都无需参数(和表2及图4(右图)一样);(B)用投影快捷连接进行升维,同时其他快捷连接采用恒等映射;©所有的快捷连接均为投影连接。

表3展示了3种方案均优于平凡网络,B略优于A。我们认为这是由于A方案中的补零方法所获得的维数并没有残差学习。方案C较多的优于方案B,我们认为这是由于投影快捷连接中额外引入的若干参数(30个)导致的。然而,方案A、B、C见的差异不大也表明了投影快捷连接并不是解决退化问题的关键。因此,为了降低存储和时间复杂度以及模型大小,我们在后文中并没有采用方案C。恒等快捷方式对于不增加下文将介绍的瓶颈架构复杂度尤为重要。

深度瓶颈架构。我们接下来将描述我们针对ImageNet数据集而涉及的深度学习网络。因为我们需要考虑到我们能够接受的训练时间,我们将单元块的设计改为了所谓瓶颈式的设计[4]。对于每个残差函数F,我们采用3个网络层来对其进行描述(如图5),3个网络层次分别为1×1,3×3和1×1的卷积层,这里11的层是用来减少或增加(恢复)维度的,这使得那个3×3的层如同瓶颈一般具有较小的输入和输出维度。图5中给出了一个例子,这些设计具有相同的时间复杂度。

无需进行参数调整的恒等快捷连接对于瓶颈架构非常重要。如果将图5(右图)的恒等快捷连接替换为投影快捷连接,可见当快捷连接被连接到两个高维的端点时,时间复杂度和模型尺寸都翻倍了。因此恒等快捷连接使得所设计的瓶颈结构更加有效。

50层的残差网络:我们将34层网络中的每2层一组构成的块替换为这种3层的瓶颈块,得到了一个50层的残差网络(表1)。我们使用方案B来作升维。这个模型的基础计算量为38亿FLOPs。

101层和152层的残差网络:我们利用表1所述的3层块构建101层和152层的残差网络。值得一提的是,尽管网络深度增加了很多,152层的残差网络(113亿FLOPs)比VGG-16/19网络(153/196亿FLOPs)的时间复杂度更低。

50/101/152层的残差网络比34层的残差网络的准确度有显著提高(见表3和表4)。我们没有观察到退化问题并且随着网络的加深取得了明显的准确率增长。由表3和表4可以观察到由深度增加带来的各方面好处。
  
与先进方法的对比。在表4中我们已经与当前最好的单模型结果进行了比较。我们采用的34层基准残差网络获得了具有竞争力的准确度。我们的152层单模型残差网络对于前五的验证错误为4.49%。这个单模型结果超过了所有先前的综合模型获得的结果(见表5)。我们组合了6个不同深度的模型组成一个综合模型(在模型提交时仅使用了两个152层),对于表5所示的测试集获得了3.57%的前五错误率。这个结果获得了ILSVRC 2015的第一名。

4.2 对CIFAR-10数据集的结果和分析

我们对CIFAR-10数据集[20]进行了进一步的研究,它包括了分为10类的5万的训练图像和1万的测试图像。我们展示了利用训练集进行训练和利用测试集进行验证的实验。我们所针对的极深网络的行为,而不是推进最先进方法的结果,因此我们主要是使用下述的简单网络架构。

简单和残差网络结构遵从图3(中图和右图)。这个网络的输入为32×32的图像,每个图像的数据都减去了像素均值。第一层是一个3×3的卷积层。然后我们对于尺寸分别为{32, 16, 8}的特征图分别使用一组包括了6n个3×3卷积层,对于每个尺寸的特征图使用2n个层,即过滤器的数量分别为{16, 32, 64}。降采样是通过步长为2的卷积进行的。这个网络终止于一个全局的平均化池,一个10路的全连接层和一个softmax层。以上共计有6n+2层权重层。下表小结了该网络架构:

在这里插入图片描述
在使用快捷连接的地方,它连接了一组3×3的网络层(总计有3n个快捷连接)。在该数据集上我们对于各情形使用的均是恒等快捷方式(即方案A)。
在这里插入图片描述
表6 对于CIFAR-10测试集的分类错误
表中方法都进行了数据增强。对于ResNet-110,我们效仿文献[43]将算法重复运行了5次,并且展示了所得结果的最优值(最优的mean+std)。

因此我们的残差模型与它所源于的平凡网络具有完全相同的深度、快读和参数数量。

我们使用的权重损失参数为0.0001,冲量参数为0.9,并且我们采用文献[13]的方法初始化权重值和BN[16]方法进行网络训练,但不采用dropout技术。这些模型在2个GPU上以128为单位进行小批量训练。我们设置初始学习率为0.1,在第32k和第48k次迭代时除以10,在64k迭代时种植训练,训练和交叉验证数据集的划分为45k和5k。我们在训练阶段采用了文献[24]提出的简单数据增强策略:每个边填充4像素宽度,并对原图像或其水平翻转图像裁剪尺寸为32×32的图像块。在验证时,我们仅仅通过32×32大小的图像来进行。

我们比较了n={3, 5, 7, 9}的情况,对应的网络结构分别为20层,32层,44层和56层。图6(右图)表明了平凡网络。平凡网络受其深度的影响很大,深度增大时其训练错误也随着增大。这种现象与在对ImageNet数据集(见图4(左图))和MNIST数据集(参见文献[42])测试时的现象类似,这表明了优化难度是一个根本性的问题。

图6(中图)展示了残差网络的表现,也和对ImageNet数据集的案例情形类似(图4(右图)),我们的残差网络成功克服了优化难度问题,并展示了随着深度的增加准确度也跟着增加。

我们进一步研究当n=18时对应的110层残差网络。在这个情形下,我们发现初始学习速率设置为0.1对于网络收敛而言有些过大了。因此我们采用0.01的初始学习速率来进行热身学习直到训练错误低于80%(大约400次迭代以后),然后回到0.1的学习速率继续训练。其余的训练方案和前文类似。这个110层的网络很好的收敛了(图6(中图))。它的参数数量要少于诸如FitNet[35]和Highway[42]等其他较深的网络或较浅的网络(表6),然而其结果不亚于先进算法的结果(为6.43%,见表6)。
在这里插入图片描述
图6 对CIFAR-10数据集进行训练
点画线表示训练误差,粗线表示测试误差
左图:平凡网络。110层的平凡网络的错误率超过60%因此并未展示
中图:残差网络
右图:具有110层和1202层的残差网络
在这里插入图片描述
图7 对CIFAR-10的层响应标准差(std)
这些响应是3×3层的输出,在BN和非线性化之前
上图:各层按照原始次序展示
下图:响应按照降续排列

网络层响应分析。图7展示了层响应的标准差(std)。响应是指的每个3×3层的输出值,在BN之后以及其他非线性层(ReLU/addition)之前。对于残差网络而言,分析结果表示出了残差函数的响应强度的变化情况。图7展示了残差网络通常比其它所对应的平凡网络具有较小的响应。这些结果支持了我们的原始动机(见本文3.1节),即残差函数一般可能比非残差函数更接近于零值。同时,我们通过对于图7中20层、56层和110层残差网络数据的比较,也注意到层次较深的残差网络的响应值较小。也就是说,层次越多,则残差网络中的每个层次对于信号的改变越小。

超过1000层网络的探索。我们探索了一个超深的超过1000层的深度学习模型。这里我们设置n=200即网络层数为1202层,训练过程如上所述。我们的方法表明没有出现优化困难,利用这个千层的网络得到了小于0.1%(图6(右图))的训练误差。而测试误差也相当不错(为7.93%,见表6)。

然而,对于这种超深的网络还是存在一些未决的问题。对于1202层网络的测试结果要劣于110层网络的测试结果,尽管两者的训练误差是相仿的。我们认为这是由于过拟合造成。1202层的网络相对于它的数据集尺寸来说可能大(19.4M)的有点没有必要了。诸如maxout[10]和dropout[14]等强力的正则化方法通常被用来对于这个数据集获取最优的结果([10, 25, 24, 35])。在本文中,我们并未采用maxout/dropout,设计上而言是为了仅通过增大或减少网络结构的深度来引入正则化,且不偏离所针对的优化困难的问题。然而结合更强的正则化方法对结果进一步改善,我们将在未来研究。
在这里插入图片描述
表7 利用基线方法Faster R-CNN对于PASCAL VOC物品检测数据集的mAP(%)
更好的结果见表10和表11
在这里插入图片描述
表8 利用基线方法Faster R-CNN对于COCO验证数据集的mAP(%)
更好的结果见表9

4.3 对于PASCAL和MS COCO数据集的物品识别

我们的方法对于其他识别任务具有很好的性能泛化能力。表7和表8展示了对2007年和2012年的PASCAL VOC数据集[5]和COCO数据集[26]的基线结果。我们用Faster R-CNN[32]作为检测方法。这里我们所感兴趣的是在将VGG-16[41]替换为ResNet-101后所带来的性能改善情况。两种检测模型的实现(见附件)类似,因此增益只能是由于网络结构的改良引入。值得注意的是,在对于COCO数据集进行挑战是我们获得的结果比COCO标准测试(mAP@[.5, .95]提升了6.0%,相对提升量达28%,这个增益仅仅是由于学习到的表示。

基于深度残差网络,我们在2015年ILSVRC & COCO比赛中获得了若干个第一名:ImageNet物品检测数据集,ImageNet位置定位数据集,COCO物品检测数据集和COCO图像分割数据集。详细结果参见附件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章