摘要
更深层次的神经网络更难训练。我们提供一个残差学习框架以简化大体上比以往使用过的更深层次的网络的培训。我们明确地将层重新定义为根据层输入的学习残差函数,而不是学习未参考的函数。我们提供全面的,以实验为依据的证据来表明这些残差网络更容易去优化,并且从大大增加的深度中获得精确性。在ImageNet数据集上我们评估深度高达152层的残差网络,这比VGG网的八倍还深,但仍然有着较低的复杂度。在ImageNet测试集上,这些残差网络误差达到3.57%。这项成果在ILSVRC 2015分类任务中赢得了第一。我们还提供在具有100层和1000层的CIFAR—10上的分析。
对于许多视觉识别任务而言,表达的深度至关重要。仅仅由于我们的深度表达,我们在COCO目标检测数据集上获得28%的相对证明。深度残差网络是我们提交给ILSVRCamp;COCO 2015 大赛的基础,我们也获得了ImageNet检测、ImageNet定位、COCO检测和COCO分割这些任务的第一名。
引言
深度卷积神经网络已经导致了对图像分类的一系列突破。深层网络以端到端的多层方式自然地集成了低/中/高层次特征和分类,并且可以按层数(深度)丰富特征的(层次)。最近的证据揭示了网络深度的重要性,以及在挑战赛上的领先成绩ImageNet数据集都利用了“非常深入”的模型(深度为十六到三十)。许多其他非琐碎的视觉识别任务也从该模型中获益匪浅。
图1.CIFAR-10上的训练错误(左)和测试错误(右)有20层和56层“普通”网络。更深层的网络具有较高的训练误差,从而导致测试误差也是如此。在ImageNet上的相似现象,如图4所示。
由于深度的重要性,一个问题出现了:学习更好的网络跟堆叠更多的层一样容易吗?回答这个问题的一个障碍是臭名昭著的消失/爆炸梯度问题,其中 从一开始就阻碍融合了。然而,这个问题,主要通过规范化初始化和中间规范化层来解决,这使得具有数十层的网络能够开始收敛,以便使用反向传播进行随机梯度下降(SGD)。
当更深的网络能够开始聚合时,一个恶化的问题暴露出来:随着网络 深度增加,精度逐渐饱和(这可能不足为奇)然后迅速退化。令人意想不到的是, 这种恶化的起因并不是过度装配和对适当深度的模型添加更多的层所导致的更高的训练错误,就像我们的报告和实验证明的那样。图1示出了典型示例。
训练精度的下降表明不是所有系统都同样易于优化。让我们考虑 一下较浅的建筑及其较深的即上面有更多的层的对应物。就会有一个解决方法,通过构造更深的模型:添加的层是恒等映射,其他的层都是从学习较浅薄的模型那里复制过来的。这个构造解的存在表明更深层的模型不会比相较它而言更浅的模型产生更高的训练误差。但实验表明我们现在无法找到比那个构建的解决方案更好解答(或无法在可行的时间内这样做)。
图2.残差学习的一段流程图
在本论文中,我们通过引入深度残差学习框架来解决这个恶化的问题。并非希望每几层都直接符合所需要的底层映射,我们明确地让这些层去符合一个残差的映射。我们把所需要的底层映射定义为H(x),我们让叠加着的非线性的层去符合另一个映射:F(x)=H(x)-x。原始映射被改写成F(x) x。我们假设优化这个残差映射比优化原始的映射更容易。特别指出,如果标志映射就是最优的,把残差映射推导向零比通过一堆非线性的层来适应这个标志映射来得更加容易。
F(x)+x的表达式可以用“快捷连接”的前馈神经网络来实现。快捷连接是指跳过一个或更多层。在我们的情况中,快捷连接只是执行恒等映射,并将其输出添加到堆叠层的输出(如图2)。恒等快捷连接既不增加额外参数,也不增加计算复杂性。整个网络仍然可以被带反向传播的SGD进行端到端的训练,这可以使用公共库轻松实现,无需修改解算。
我们在ImageNet上进行了全面的实验来显示退化问题并评估我们的方法。我们表明:1)我们的极深剩余网很容易优化,但是对应的“普通”网络(即 简单的叠加层)在深度增加时会显露出更大的训练误差;2)我们的深残网可以轻松地通过深度的大幅增加来获得良好的精度,产生的结果大大优于以前的网。
类似的现象也出现在CIFAR-10上,这表明优化的困难和我们方法的效果不仅仅适用于一个特定的数据集。 我们在这个超过100层且探索超过1000层的模型数据集上成功地展示了训练的模型。
在ImageNet分类数据集上,我们得到通过极深残差网络获得了优异效果。我们的152层残差网络是ImageNet有史以来最深的网络,且其复杂度仍然低于VGG网。我们的整体上在ImageNet测试集上3.57%的(前五名)误差,并在ILSVRC 2015分类竞赛中获得第一名。极深表示在其他识别任务上也都有卓越的表现,这带领我们进一步赢得ImageNet检测,ImageNet定位,ILSVRC中的COCO检测和COCO分割amp;COCO 2015比赛的冠军。这有力的证据表明残差学习原理是通用的,我们期望它适用于其他视觉和非视觉问题。
相关工作
残差表示:在图像识别中,VLAD是由对向字典的残差向量编码的表示Fisher向量可以是表示为VLAD的概率版本。两者都是图像检索和分类的强有力的浅层表示。对于矢量量化,对残差向量的编码比对原始向量的编码更有效。
在低层视觉和计算机图形学中,对于解偏微分方程(pde),广泛使用 多重网格方法将系统重新定义为多个规模的子问题,其中每个子问题负责在较粗和较细规模之间的残差解。多重网格的另一种替代方法是层次基预处理,它依赖于表示两个尺度之间残差向量的变量。结果表明,这些解算器比不知道解的残差性质的标准解算器收敛得快得多。这些方法表明,一个好的重组或预处理可以简化优化。
快捷链接:关于快捷链接的实践与理论研究已经持续了很长一段时间。多层感知器训练的早期实践(MLPs)是添加一个被网络的输入到输出连接的线性层。一些中间层直接连接到辅助分类器,用于处理消失/爆炸梯度。一些论文提出了由快捷链接实现的使层响应、梯度和传播误差居中的方法。在一篇论文中,“初始”层由一个快捷分支和几个较深的分支组成。
与我们的工作同步,“高速网”提出具有选通功能的快捷连接。这些门依赖于数据,并且具有参数,与我们的无参数标识快捷方式形成对比。当门控快捷方式“关闭”(接近零)时,高速网中的层表示非残差函数。相反,我们的公式总是学习残差函数;我们的标识捷径永远不会关闭,随着学习额外的残差函数,所有的信息可以通过。此外,高速网没有表明,随着深度的极大增加(例如,超过100层)它的精度会提高。
深度残差学习
3.1残差学习
让我们把H(x)看作是适合一些堆叠的层(不一定是整个网络)的底层映射,其中x表示第一层的输入。如果有假设说多个非线性层可以渐近逼近复杂函数,则等价于假设它们可以渐近逼近残差函数比如H(x)-x(假设其输入输出有相同的维度)。因此,与其期望堆叠层近似于H(x),不如明确地让这些层近似于一个残差函数: F(x)=H(x)-x。因此,原始函数就变成了F(x) x。尽管这两种形式都应该能够渐近地逼近期望的函数(如假设的那样),但是学习的容易程度可能不同。
这种改写函数的动机是关于恶化问题的反直觉现象。正如我们在引言中讨论过,如果添加的层可以构造成恒等映射,更深层的模型的训练误差应该不大于其较浅的对应部分的训练误差。恶化问题表明,解算器在通过多重非线性层来逼近恒等映射的时候会有些困难。利用残差学习重新构造,如果恒等映射是最优的,则解算器可以简单地将多个非线性层的权重推向零以接近恒等映射。在实际情况下,恒等映射不太可能是最优的,但我们的重构可能有助于预先处理 问题。如果最优函数接近于恒等映射比接近零映射更容易,那么比起把函数当做一个新的来学习,解算器通过参考恒等映射来找到这些微变会更加容易。我们通过实验(图7)表明,学习到的残差函数一般具有较小的响应,这表明身份映射提供了合理的预处理。
3.2基于捷径的恒等映射
我们对每几层叠层采用残差学习(构造块如图2所示)。在本文中我们把一个构造块正式地定义为:
(式1)
这里x和y是所考虑的层的输入和输出向量。函数代表着将要被学习的残差映射。对于图2中示例有两个层其中指参考论文中的ReLU,而且其偏差将由于简化符号而被省略。操作F x会由快捷连接和智能元素加法所执行。我们采用相加后的第二个非线性映射(即(y)如图2所示)。
式1中的快捷连接既没有引进额外参数也没有增加计算复杂度。它不仅对于我们的实践来说很有吸引力,也对我们关于普通网络和残差网络的比较来说很重要。我们可以比较同时具有相同数量的参数、深度、宽度和计算成本(除了可以忽略的智能元素相加)的普通网和残差网。
在式1中x与F的维度必须相同,如果不是这种情况(当输入和输出的渠道改变时),我们可以通过一个快捷连接来匹配维度以实现一个线性的映射:
(式2)
我们也可以使用式1中的方阵。但是我们将通过实验证明身份映射足以 解决退化问题而且也很经济,因此,仅在匹配维度时使用。
残差函数F的形式是很灵活的,本实验涉及到的F函数有两层或三层,而且也可能有更多层。但如果F只有一层的话,式1就类似于一个线性层:,对此我们没有观测出什么优势。
我们还注意到:尽管上述符号是用于简化完全连接层的,但它们也能应用于卷积层。函数可以表示多个卷积层,在两个特征映射上逐通道执行元素相加。
3.3网络构造
我们已经测试了很多普通网络和残差网络,并且不断地观察现象。为了提供此次讨论的实例,我们描述以下两种ImageNet模型:
普通网络:我们的普通基线(图3,中间)是主要受VGG网的哲学启发[41](图3,左)。卷积层主要有3times;3滤波器和遵循两个简单的设计规则:(i)对于相同的输出特征映射大小,层具有相同数量的滤波器;和(ii)如果特征映射大小减半,则滤波器的数目加倍,以保持每层的时间复杂度。我们直接通过 跨距为2的卷积层来降低采样率,网络以全局平均池化层和带softmax函数的千路全连接结束。图3中的加权层的数量是34(中间)。值得注意的是,我们的模型比VGG网络(图3,左)有着更少的滤波器和更低的复杂度。我们的34 层基线有36亿个触发器(乘法加法),只占VGG-19的18%(196亿)。
图3.ImageNet的网络构造实例
残差网络:基于上述的普通网络,我们插入了将网络转换为其对应的残差网络的快捷连接。恒等捷径(式1)可以在输入输出同维度的时候(图3中的实线箭头)直接使用。当维数增加时(图3中的虚线箭头),我们可以考虑两种选择:(A)捷径仍然执行恒等映射,并为增加的尺寸填充额外的零项。这个选项不会引入额外的参数;(B)用式2中的捷径投影来匹配尺寸(通过1times;1卷积完成)。当捷径穿过特征映射的两个部分时,这两种选项都以2的步幅来执行。
3.4网络实现
我们对ImageNet的实现遵循以下参考论文[21,41]中的实践。图像的较短边被随机采样以进行缩放调整,以此将图像调整到[256,480]的大小。从一个图像或者从其水平翻转中随机抽取一个224times;224的截图,减去每像素的平均值。其中采用参考论文[21]中的标准颜色强化。在每次被卷积之后被激活之前,我们采用[16]中批量生产标准化(BN),像[16]中那样。我们如[13]那样初始化权重,从无到有地训练所以普通网和残差网。我们使用小批量大小为256的SGD。学习率从0.1开始,当误差平台和模型被训练到60times;104的迭代时除以10。我们使用0.0001的权重衰减和0.9的动量。我们按照[16]的做法,不要使用[14]中的退出。在测试中,为了进行比较研究,我们采用了10-crop试验[21]。为了获得最好的结果,我们采用了如[41,13]所示的完全进化形式,并对得数在多个尺度上(图像的大小调整为{224,256,384,480,640})取平均值。
实验
4.1ImageNet分类
我们在由1000个类组成的ImageNet 2012分类数据集[36]上评估我们的方法。模型对128万张训练图像进行训练,并对5万张验证图像进行评价。我们还获得了决赛测试服务器报告的100k测试图像的结果。
普通网络。我们首先评估18层和34层的普通网。34层平面网如图3所示(中间)。这18层平网的形式与之类似。详细架构见表1。
表1.ImageNet构架
表2.ImageNet验证的前1的误差率(%,10-crop试验)
表2中的结果表明,较深的34层普通网比较浅的18层有更高的验证误差。为了揭示原因,在图4(左)中,我们比较了他们在训练过程中的训练/验证错误。我们已经观察了这个恶化问题,34层的网络在整个训练过程中都具有更高的训练误差,即使18层普通网络的解空间是34层的解空间的子空间。
图4.ImageNet上的训练
我们认为这种优化困难不大可能由消失的梯度引起。这些普通网络是使用BN[16]进行训练的,能确保向前传播具有非零方差的信号。我们还证实向后传播的梯度显示出健康的规范。所以前进和后退的信号都不会消失。事实上,34层的平面网仍
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[239806],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。