您好,欢迎访问三七文档
深度残差网学习在图像分类上的应用何凯明张翔宇任少卿孙剑微软研究院{kahe,v-xiangz,v-shren,jiansun}@microsoft.com摘要当前,深度神经网络比普通神经网络更难训练。我们提出了一种减轻网络训练负担的残差学习框架,这种网络比以前使用过的网络本质上层次更深。我们明确地重定义这层为学习输入层相关的残差函数,而不是学习未知的函数。同时,我们提供了全面经验数据,这些数据证明残差网络更容易优化,并且可以从深度增加中大大提高精度。我们在ImageNet数据集用152层--比VGG网络[41]深8倍的深度神经网络来评估残差网络,但它仍具有较低的复杂度。在ImageNet测试集中,这些残差网络整体达到了3.57%的误差。该结果在2015年大规模视觉识别挑战赛分类任务中赢得了第一。此外,我们还用了100到1000层深度分析了的CIFAR-10。对于大部分视觉识别任务,深度表示是非常重要的。正式由于使用极深的表示,在COCO对象检查数据集上,我们就得到了近28%相关的改进。深度残差网络是我们提交给ILSVRC和COCO2015竞赛[1]的基础,而且在ImageNet检测任务,ImageNet定位,COCO检测和COCO分割等领域赢我们也都获得了第一。1.简介深度卷积网络[21,22]引领了一系列图像分类上的突破[21,50,40]。深度网络通过层的叠加(深度),自然而然的以一种端到端的多层模式集成了低/中/高级的特征[50]和分类器,并且特征的“水平”都能变得更加丰富。最近证据[41,44]表明网络深度非常重要,并且ImageNet数据集[36]挑战赛中领先的结果[41,44,13,16]都是在探索“很深”[41]的模型,这些模型从16层[41]到30层[16]。许多其他的重大的视觉识别任务[8,12,7,32,27]也都从深度模型中获益良多。在深度的意义驱使下,一个问题出现了:学习更好的网络是不是和叠加层数一样容易呢?解决这个问题的一个障碍就是那个重名昭著的梯度消失/爆炸[1,9]问题,他从一开始就阻碍了网络的收敛。然而,这个问题很大程度上被归一的初始化[23,9,37,13]和中间层归一化[16]解决了,它们确保数10层的网络开始用反向传播算法以随机梯度下降(SGD)的方式收敛[22]。当更深的网络能够开始收敛时,降级问题的问题开始出现:随着网络深度的增加,精准度开始饱和(这并不令人吃惊),然后迅速下降。预料之外的是,在[11,42]中报道并且经过我们实验验证发现,精准度的下降并不是由过度拟合造成的,而且在合适的深度模型中增加更多的层数,会造成更高的训练误差。图1展示了一个经典的实例。图1CIFAR-10数据集上的20层和56层的“平”网络的训练误差(左)和测试误差(右)。更深的网络有更高的训练误差和测试误差,图4显示了在ImageNet也有相似的现象(在训练集上精度)降级显示并不是所有的系统都容易去优化。我们考虑一个较浅的体系结构与在深度增加了更多层的体系结构。这里存在一个方案是去构造一个更深的模型:这个增加的层是一个恒等映射,其它的层是从学习到的浅的模型里面复制过来的。这个构造方案的存在表明一个更深的模型应该不会产生毕浅层模型更高的训练误差。但是实验结果表明我们当前不能找到一个与之前的构造方案一样好或者更好的解决方案(或者不能在可行时间内做到)。图2残差学习:构造块在本论文中,我们引入了一个深层次的残差学习框架来解决精准度下降问题。我们明确地让这些层适合残差映射,而不是寄希望于每一个堆叠层直接适合一个所需的底层映射。形式上,把():()-()FxHxxFxx(x)H作为所需的基本映射,让堆叠的非线性层适合另一个映射():()-FxHxx。那么原映射便转化成:()Fxx。我们假设优化残差的映射,比优化原来未引用的映射更容易。极端情况下,如果恒等映射是最佳的,那么将残差的映射推为零,就比用一堆非线性层来适应恒等映射更容易。公式()Fxx可以通过“快捷连接”前馈神经网络实现(图2)。快捷连接[2,34,49]是那些跳过中的一层或更多层。在我们的情景中,快捷连接简单的执行恒等映射,并将它们的输出添加到叠加层的输出(图2)。恒等快捷连接既不产生额外的参数,也会增加不计算的复杂度。整个网络仍然可以完全使用反向传播的SGD,并且可以在不修改结构的情况下很容易的使用通用库来实现(例如Caffe)。我们在ImageNet[36]上进行了综合性的实验展示精准度下降问题,并评估我们的方法。我们发现:(1)我们的特别深的残差网很容易优化,但深度增加时,对应的“平面”网(即简单的堆栈层)表现出更高的训练误差。(2)深度残差网络能够在大大增加深度中获得高精准度,产生的结果本质上优于以前的网络。相似的现象同样出现在了CIFAR-10集[20]中,这表明了优化的难度,以及我们方法影响的不仅仅是类似于一个特定的数据集。我们在这个训练集中成功训练了超过100层的网络,并探讨了超过1000层的模型。在ImageNet分类数据集[36]中,通过极深的残差网络,我们得到了非常好的结果。我们152层的残差网络在ImageNet中是最深层的网络,同时相比于VGG网络仍然具有较低的复杂性。我们的集成方案在ImageNet测试集中有3.57%的top-5的误差,并且在2015ILSVRC分类竞争中取得第一名。这种极深的表征在其它识别任务方面也有出色的泛化性能,并带领我们进一步赢得了其他比赛的冠军:ImageNet检测,ImageNet定位,COCO检测,和COCO分割(ILSVRC%COC02015竞赛)。这有力的证据表明,残差的学习的原则是通用的,我们期望它适用于其它的视觉和非视觉问题。2.相关工作残差表示。在图像识别中,VLAD[18]是一个象征,通过关于字典的残差向量进行编程,而且费舍尔向量可以被制定成VLAD的概率版本。它们两个对于图像检索与分类都是有效的浅表示。对于矢量化,编码残差向量比编码原始向量更有效。在低层次视觉和计算机图形学中,为了解决偏微分方程(PDEs),它们广泛的使用多重网格法,将系统重构成多尺度的子问题,每个子问题负责更粗和更细规模之间的残差解答。多重网格的一种替代方法是分层的基础预处理,它依赖于表示两个尺度之间的残差向量的变量。这些收敛解法比不知道残差性质的标准解法快得多。这些方法表明,一个好的方法或预处理可以简化优化。快捷连接。导致快捷连接的方法和理论已经被研究了很长时间。训练多层感知器早期的实践是从网络的输入到输出添加一个线性层。在[44,24]中,一些中间层直接连接到辅助分类器,来解决梯度的爆发与消失问题。论文的[39,38,31,47]提出用于中心层响应,梯度和传播误差了的方法,该方法通过快捷连接实现。在[44],一个“开始”层是由一个快捷的分支和一些更深的分支组成。并发我们的工作,“highwaynetwork”提出了门控功能的快捷连接。这些门依赖于数据和已有的参数,而我们的恒等快捷键无需参数。当一个门控的快捷方式“关闭”(接近零时),highwaynetwork中的层代表非残差函数。相反的是,我们的想法总是学习残差函数,我们的恒等快捷方式从来没有关闭,而且所有的信息通过时,总是需要学习额外的残差函数。此外,highwaynetwork并没有表现出,精准度并没有随着深度的大大增加而提高(例如,超过100层)。3.深度残差学习3.1残差学习我们将()Hx假设为由几个堆叠层匹配的(不一定是整个网)基础映射,用x表示这些第一层的输入。假设多元非线性层能逼近复杂的函数2,也就相当于假设它们可以逼近残差函数,例如()Hxx(假设输入和输出在相同规模)。因此我们非常明确的让这些层近似于残差函数():()FxHxx,而并非期待堆叠层近似于()Hx。所以原函数变成了:()Fxx。尽管两种形式都能逼近期望函数(假设),但它的学习难易度可能不同。新的构思源于反常的精准度下降问题[图1.左图]。如我们在简介中讨论的一样,如果添加的层可以被构造为恒等映射,那么一个更深度模型的训练误差,不应大于与其相应的更浅的模型训练误差。精准度下降问题表明,求解器在通过多个非线性层近似于恒等映射方面有困难。随着残差学习重构,如果恒等映射是最佳的方法,那么求解器可以简单地驱动多个非线性层的权重趋向于零,以便逼近恒等映射。在现实情况中,恒等映射不可能是最优的,但我们的方法可能有助于事先处理该问题。如果最优函数与趋近于零映射相比更趋近于恒等函数,那么与学习一个新函数相比,求解器更容易找到关于恒等映射的干扰。我们通过实验展示(图7)所学到的剩余函数一般有小的响应,这表明恒等映射提供了合理的预处理。3.2快捷方式的恒等映射我们对每一个堆叠层都采用残差学习,一个构建模块如图2所示。正式地说,本文构建模块定义为:(,{})iyFxWx(1)其中x和y是考虑到的层的输入和输出向量。函数(,{})iFxW代表学习的残差函数。如图2所示有两个层,21()FWWx中表示ReLU,为了简化注释,我们忽略了偏置。Fx的操作是由快捷连接和逐个元素相加完成的。在增加之后我门采用了第二非线性特性(例如()y如图2)。公式(1)中介绍的快捷连接,没有引入额外的参数和复杂的计算。这不仅在实践中有吸引力,它在对比普通和残差网络方面也同样重要。有着相同数量的参数,深度,宽度和计算成本时(除了可以忽略不计的逐个元素的添加),我们可以对普通和残差网络进行简单的对比。在式(1)中x和F的大小必须相同。如果不同(例如改变输入和输出渠道)我们可以通过快捷连接线性投影sW来匹配维度:(,{})isyFxWWx(2)我们也可以在式(1)中使用一个正方形矩阵sW。但我们会通过实验表明,恒等映射足以用于解决精准度下降问题并且是非常合算的,因此只有在匹配维度时,才使用sW。残差函数F的形式是灵活的,本文的实验涉及一个有两层或三层(图5)或者更多层的函数F。但如果F仅仅只有单层,式(1)就类似于线性层:1yWxx,我们不能发现它的优势。我们还注意到,虽然上面的符号是为了简化表示关于完全连接的层,但它们适用于卷积层。函数(,{})iFxW可以代表多个卷积层。逐个增加的元素在两个特征映射上通过通道对通道的方式进行。3.3网络构架我们测试了不同的普通的和残差网络,并且观察到一致现象。为了给论述提供实例,我们下面描述两个ImageNet模型。普通网络。我们的普通基准(图3,中)主要受启于VGG网[41]理论(图3,左)。卷积层主要有33的过滤器并遵循两个简单的设计规则:(i)对于相同的输出特征映射大小,图层有相同数量的滤波器;(ii)如果特征映射的大小被减半,过滤器的数量增加一倍,以保持每层的时间复杂度。我们通过有一个跨度为2的卷积层,直接进行下采样。网络以一个全局平均池化层和的1000路全连接层结尾(激活函数为softmax)。图3(中间)中加权层的总数是34。值得注意的是,我们的模型比VGG网[41](图3,左)有着更少的过滤器和更低的复杂度。我们的34层基线有3.6亿个浮点运算(乘加),这只有VGG-19的18%(19.6亿触发器)。残差网络。基于上面的普通网络,我们插入快捷连接(图3,右),将网络转变成其对应的残差版本。当输入,输出大小维度的时候(图3中实线快捷连接线),快捷特性(公式(1))可以直接使用。当尺寸增加时(图3中的虚线快捷连接)中,我们考虑了两个选项:(A)快捷方式仍然执行恒等映射,用额外的零来填充以便增加尺寸。该选项不会引入额外的参数;(B)公式(2)中的投影捷径,用于匹配尺寸(完成1×1卷积)。当快捷键的特征映射是两个大小时,这两个选项都使用了2跨度。3.4实现我们遵循了[21,41]中的方法来做ImageNet分类。图像的大小在[256,480]范围内(以短边为基准)随机采样而调整,以便增大规模[41]。通过从一副图像中随机采样或者与每个像素的均值相减的水平抖动,得到一个224224大小的图片。按照文件[21]中的方法增强了标准色。在每一
本文标题:深度残差网在图像分类上的应用(Deep-Residual-Learning-for-Image-Re
链接地址:https://www.777doc.com/doc-3920074 .html