基于深度残差学习的图像识别外文翻译资料

 2021-11-25 10:11

英语原文共 9 页

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

摘要

通常来说,神经网络的层次越深就越难训练。为了更快速的来训练深层次的网络,本文提出了一个残差学习框架来简化网络的训练。我们显式地将每一层重新表示为参考输入层的学习残差函数,而不是学习无关的函数,我们提可以证明,这些残差网络更容易优化,并可以通过大幅增加的深度而变得更精确。在ImageNet数据集上,我们测试了高达152层的残差网络,其深度是VGG网络深度的8倍,但仍然降低了其复杂性。在ImageNet测试集中,这些残差网的总体误差为3.57%,该结果在ILSVRC 2015年分类任务中获得第一名。我们还对CIFAR-10进行了100层和1000层的分析。

在许多视觉识别任务中,表征的深度是至关重要的。仅仅由于我们的深度表示,在COCO对象检测数据集中获得了28%的提升。深度残差网络是我们参与ILSVRC amp;COCO的基础。在2015年的ILSVRCamp;COCO竞赛中,我们在ImageNet检测、ImageNet定位、COCO检测、COCO分割等任务上获得第一名。

  1. 简介

深度卷积网络在图像分类方面取得了一系列的突破,深度网络自然地以端到端的多层方式集成了低/中/高层特性和分类器,并且可以通过堆叠层的数量来提供特征的级别。最近的证据表明,网络深度至关重要,在颇具挑战性的ImageNet数据集上的领先结果都利用了“非常深”的模型,深度为16到30许多其他的非平凡的视觉识别任务也得益于非常深入的模型。

图1:20层网络与56层网络在CIFAR-10上的误差

在深度重要性的驱动下,一个问题出现了:学习更好的网络就像叠加更多的层一样简单吗?回答这个问题的一个障碍是众所周知的渐变消失/爆炸问题,它从一开始就阻碍了收敛。然而,这个问题主要通过规范化初始化和中间归一化层来解决,这使得具有数十层的网络能够开始收敛,使用反向传播进行随机梯度下降(SGD)。

当更深层次的网络能够开始收敛时,一个退化问题就出现了:随着网络深度的增加,精度达到饱和(这可能并不奇怪),然后迅速退化。出乎意料的是,这种退化并不是由过拟合引起的,在一个合适的深度模型中增加更多的层会导致更高的训练误差,正如文献[10,41]所报道的,我们的实验也完全验证了这一点

训练精度的下降表明,并非所有系统都同样容易优化。让我们考虑一个浅的体系结构及其与之对应的添加了更多层的深层结构。通过对更深层次模型的构造,存在一个解决方案:添加的层是恒等映射,其他层是从学习的较浅的模型中复制的。该构造解的存在表明,较深的模型不会产生比较浅的模型更高的训练误差。但实验表明,我们现有的求解器无法找到比构造方案的更好的解决方案(或在可行时间内无法找到)。

图2:残差学习单元

在本文中,我们通过引入一个深度残差学习框架来解决退化问题。我们不希望每个堆叠的层都能直接匹配所需的底层映射,而是显式地让这些层匹配残差映射。形式上,将所需的底层映射表示为H(x),我们让堆叠的非线性层匹配另一个映射: F(x)=H(x)-x。原始映射被重新转换为F(x) x。我们假设优化残差映射比优化原始的未引用映射更容易。在极端情况下,如果一个恒等映射是最优的,那么将残差设为零要比通过一堆非线性层来匹配一个恒等映射容易得多。

F(x) x的表达式可以通过具有“快捷连接”的前馈神经网络来实现。快捷连接[2,33,48]是指跳过一个或多个层的连接。在我们的例子中,快捷连接只是执行标识映射,它们的输出被添加到堆叠层的输出中(图2)。标识快捷连接既不增加额外的参数,也不增加计算复杂度。整个网络仍然可以通过SGD使用反向传播进行端到端训练,并且可以使用公共库(例如Caffe[19])轻松实现,而无需修改求解器。

我们在ImageNet[35]上进行了综合实验,证明了退化问题,并对我们的方法进行了评价。研究结果表明:1)我们极深的残差网络易于优化,而相对的“普通”网(即简单的叠加层)在深度增加时训练误差较大;2)我们的深度残差网络可以很容易地从深度的大幅增加中获得精度增益,产生的结果大大优于以前的网络。

在CIFAR-10 set[20]上也出现了类似的现象,说明我们的方法的优化难度和效果并不仅仅与特定的数据集类似。我们在这个超过100层的数据集中成功地展示了经过训练的模型,并探索了超过1000层的模型。

在ImageNet分类数据集[35]上,利用极深残差网络获得了很好的分类结果。我们的152层残差网是迄今为止在ImageNet上出现的最深的网络,但仍然比VGG网络复杂度低。我们的合集在ImageNet测试集中有3.57%的top-5错误,并在2015 ILSVRC分类竞赛中获得第一名。其极深的表示在其他识别任务上也具有良好的泛化性能,使我们在2015年的ILSVRC amp;COCO比赛中分别获得了ImageNet检测、ImageNet定位、COCO检测、COCO分割的第一名。这一强有力的证据表明,残差学习原理是通用的,我们希望它能适用于其他视觉和非视觉问题。

  1. 相关工作

残差表现:在图像识别中,VLAD是对字典的残差向量进行编码的表示,Fisher向量可以表示为VLAD的概率版本。它们都是图像检索和分类的强大的浅层表示。在矢量量化方面,对残差矢量进行编码比对原始矢量进行编码更有效。

在低阶视觉和计算机图形学中,为了求解偏微分方程(PDEs),广泛使用的多重网格方法[3]将系统重新表述为多个尺度下的子问题,其中每个子问题负责一个较粗尺度和一个较细尺度之间的残差解。多重网格的另一种替代方法是分层基础预处理,它依赖于表示两个尺度之间残差向量的变量。已有研究表明,这些求解器比未知解的残差性质的标准求解器收敛得快得多。这些方法表明,一个良好的重新配方或预处理可以简化优化。

快捷连接:快捷连接的实践和理论已经被研究了很长时间。训练多层感知器(MLPs)的早期实践是添加一个从网络输入连接到输出的线性层。中间层直接连接到辅助分类器,用于处理消失/爆炸梯度。文提出了通过快捷连接实现对中间层响应、梯度和传播误差的方法。起始层由一个快捷分支和几个更深的分支组成。

与我们的工作同时进行的是,公路网提供了带有门控功能[15]的快捷连接。这些门是依赖于数据的,并且有参数,与之相反的是,我们的标识快捷方式是无参数的。当封闭门控捷径关闭(接近于零)时,公路网中的层代表非残差功能。相反,我们的公式总是学习残差函数;我们的标识快捷方式从来没有关闭过,能够传递所有的信息,还有额外的残差函数需要学习。此外,高路网络在深度极大增加时并没有得到精度的提升(例如,超过100层)。

  1. 深度残差学习

3.1残差学习

让我们考虑H(x)作为一个底层映射时,由几个堆叠的层(不一定是整个网络)匹配,x表示这些层中第一个层的输入。如果假设多个非线性层可以渐进逼近复杂函数s2,则等价于假设它们可以渐进逼近残差函数,即, H(x)-x(假设输入和输出的维度相同)。因此,我们不期望堆叠层近似于H(x),而是显式地让这些层近似于残差函数F(x):=H(x) x。原来的函数变成F(x) x,虽然这两种形式都应该能够渐进地逼近所需的函数(假设的那样),但学习的容易程度可能有所不同。

这种重新制定的动机是关于退化问题的有悖常理的现象(图1,左)。正如我们在介绍中所讨论的,如果可以将添加的层构造为标识映射,则较深的模型的训练误差不应大于较浅的模型。退化问题表明,求解者可能难以用多个非线性层逼近身份映射。在残差学习的重新构造中,如果恒等映射是最优的,求解器可以简单地将多个非线性层的权值逼近于零,从而逼近身份映射。

在实际情况中,恒等映射不太可能是最优的,但是我们的重新构造可能有助于预先解决问题。如果最优函数更接近于恒等映射而不是零映射,那么求解者应该更容易找到与恒等映射相关的扰动,而不是将函数作为一个新的函数来学习。实验表明(图7),学习后的残差函数响应一般较小,这说明恒等映射提供了合理的预处理。

3.2通过快捷方式进行标志映射

我们将残差学习应用于每几个堆叠层。构建块如图2所示。在本文中,我们正式地将构建块定义为:

在这里,x和y是层的输入和输出向量。函数F(x,{ Wi })表示要学习的残差映射。图2中有两个层,其中表示ReLU为了简化符号,这些偏差被忽略了。操作F x由一个快捷连接和按元素的加法执行。在添加后,我们采用第二阶非线性。

快捷连接不引入额外参数,也不引入计算复杂度。这不仅在实践中具有吸引力,而且在我们对普通网络和残差网络的比较中也很重要。我们可以比较同时具有相同数量的参数、深度、宽度和计算成本的普通/残差网络(除了可以忽略的元素加法)。

在Eqn(1)中,x和F的维度必须相等。如果不是这样的话(例如)。在改变输入/输出通道时,我们可以通过快捷方式连接来执行一个线性投影来匹配维度:

我们也可以在Eqn(1)中使用一个方阵Ws。但我们将通过实验证明,恒等映射足以解决退化问题,而且是经济的,因此Ws只在匹配维度时使用。

残差函数F的形式是灵活的。本文的实验涉及一个函数F,它有两个或三个层(图5),而更多的层也是可能的。但是如果F只有一个层,就像一个线性:y = W1x x,这样就无法看出优点。

我们还注意到, 以便简单起见,尽管上面的内容是关于全连接的层,,它们同样适用于卷积层。函数F(x,{ Wi })可以代表多个卷积层。在两个特征地图上,通过通道进行元素智能添加。

3.3网络结构

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

普通网络:我们的简单基线(图3,中间)主要受VGG nets[40]的理念启发(图3,左边)。卷积层大多是3times;3的滤波器,并遵循两个简单的设计规则:(i)对于相同的输出特征映射,各层具有相同数量的滤波器;(ii)如果特征映射的大小减半,则滤波器的数量将增加一倍,以保持每一层的时间复杂度。我们直接通过步长为2的卷积层执行下行采样。网络以一个全局池化层和一个带有softmax的1000路全连接层结束。图3(中)加权层数为34层。

值得注意的是,我们的模型比VGG nets[40]具有更少的滤波器和更低的复杂度(图3,左)。我们的34层基线有36亿次浮点运算(多次添加),这只是VGG-19(196亿次浮点运算)的18%。

图3: ResNet网络结构图

残差网络:基于上面的纯网络,我们插入快捷连接(图3,右侧),将网络转换为对应的残差网络。当输入和输出具有相同的维度时,可以直接使用标识快捷方式。当维度增加我们认为两个选择:(A)快捷方式仍然执行标识映射,用额外的零增加维度的条目填充。此选项不引入额外参数;(B) Eqn. (2) 中的投影快捷方式用于匹配维度(通过11个1个卷积完成) 。对于这两种选项,当快捷方式跨越两种大小的功能映射时,它们的执行步骤都是2。

3.4实现

我们对ImageNet的实现遵循了[21,40]中的实践。图像大小的调整是通过调整图像的短边在256到480之间随机采样来扩张图像。一个224times;224的图片是从一个图像或其水平翻转中随机抽样然后减去每像素平均值的结果,使用[21]中的标准颜色增强。我们在每次卷积后和激活前都采用批量归一化。我们在[12]中初始化权重,并从零开始训练所有普通/残差网格。我们使用SGD,小批量大小为256。学习速率从0.1开始,当错误趋于稳定时除以10,并且对模型进行多达60104次迭代的训练。我们使用重量衰减为0.0001,动量为0.9。按照[16]中的实践,我们不使用dropout[13]。

在试验中,为了进行比较研究,我们采用了标准的10-crop试验[21]。为了得到最好的结果,我们采用了完全卷积的形式,如[40,12],并在多个尺度下对分数进行平均(将图像调整为短边为{224,256,384,480,640})。

  1. 实验

4.1 ImageNet 分类

我们在包含1000个类的ImageNet 2012分类数据集上评估了我们的方法。模型在128万张训练图像上进行训练,并在50k验证图像上进行评估。我们还获得了测试服务器报告的100k测试图像的最终结果。我们评估了前1名和前5名的错误率。

普通网络:我们首先评估18层和34层的普通网络。34层普通网络如图3(中)所示。18层的普通网络也是类似的形式。详细架构见表1。表2的结果表明,较深的34层普通网络比较浅的18层普通网络具有更高的验证误差。为了揭示原因,在图4(左)中,我们比较了他们在训练过程中的训练/验证错误。我们已经观察到退化问题——34层的平面网络在整个训练过程中具有更高的训练误差,尽管18层平面网络的解空间是34层平面网络解空间的子空间

表1:不同深度的ResNet

图4: 18-layer和34-layer的网络效果

表2:ImageNet 钱1%的错误率对比

我们认为这种优化困难不太可能是由渐变消失引起的。这些普通网络使用BN[16]进行训练,这确保了正向传播的信号具有非零方差。我们还验证了后向传播梯度具有BN形式的参数。因此,正向和反向信号都不会消失。事实上,34层的普通网络仍然能够达到一个有竞争力的精度(表3),说明求解器在一定程度上是可行的。我们推测,深度普通网络可能具有指数级的低收敛速度,这影响了训练误差的降低3。这种优化困难的原因将在未来进行研究。

原文和译文剩余内容已隐藏,您需要先支付 20元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。