ResNet

Deep Residual Learning for Image Recognition
用于图像识别的深度残差学习
作者:Kaiming He,Xiangyu Zhang,Shaoqing Ren,Jian Sun
机构:Microsoft Research

摘要:

神经网络越深,训练越难。我们根据层输入显示地将层重新表示为学习残差函数,而不是学习未定义函数。全面的经验证据表明,这些残差网络易于优化,并且可以从大幅度增加的深度中获得精度。表示的深度对于许多视觉识别任务非常重要,仅仅由于残差网络的表示非常深入,就取得了很好的效果。

简介:

深度神经网络自然地将中/低/高三层特征和分类器以端到端的多层方式集成在一起,而特征的“层次”可以通过堆叠层的数量(深度)来丰富。最近的证据表明,网络深度至关重要。
在深度重要性的驱动下,一个新的问题产生了:学习更好的网络是否像堆叠更多层一样简单?回答这个问题的障碍就是梯度消失/爆炸问题,它从一开始就阻碍了收敛。然而,这个问题在很大程度上通过标准化初始化和中间归一化层解决了,这使得数十层的网络在反向传播的随机梯度下降上能够收敛。
当更深的网络能够开始收敛时,退化问题就出现了:随着网络深度的增加,精确度逐渐饱和,然后迅速退化。出乎意料的是,这种退化并不是由于过拟合造成的,而且在适当深度的模型中增加更多的层会导致更高的训练误差,如下图所示:
在这里插入图片描述
训练精度的退化表明,并非所有系统都同样容易优化。考虑一种较浅的体系结构及其相对应的更深层次的架构,它增加了更多的层。对于更深的模型,有一种构建方案:恒等映射来构建增加的层,其他层直接从浅层模型复制。这种方案的存在表明,更深层次的模型不应该比较浅的模型产生更高的训练误差。
引入深度残差学习框架来解决退化问题。不是希望每个层叠层直接拟合所需的底层映射,而是显示地让这些层拟合一个残差映射。假设所需拟合的底层映射为H(x),让堆叠的非线性层拟合另外一个映射:F(x):=H(x) - x,隐袭原来的映射转化为F(x) + x。假设优化残差映射比优化原始的、未参考的映射容易。在极端情况下,如果恒等映射是最优的,则将残差逼近0比用一堆非线性层拟合恒等映射更容易。
公式F(x) + x可以通过前馈神经网络的“快捷连接”来实现,如下图所示:
在这里插入图片描述
快捷连接是跳过一个或多个层的连接。本例中,快捷连接只执行恒等映射,它们的输出被添加到叠加层的输出中。恒等捷径连接既不增加额外的参数,也不增加计算的复杂性。
实验结果表明:1)我们的极深残差网络易于优化,但对应的“朴素”网(即简单的层叠层)随着深度的增加,训练误差较大。2)我们的深层残差网络可以很容易地从深度的大幅度增加中获得精度增益,比以前的网络产生的结果要好得多。

深度残差学习:

残差学习:
把H(x)看成由几个层叠层(不一定整个网)组成的底层映射,用x表示这些层中的第一层输入。如果假设多个非线性层可以逼近复杂函数,则等于假设他们可以渐进逼近残差函数,即H(x) - x。因此与其期望叠加层近似H(x),不如显示地让这些层近似一个残差函数F(x):=H(x) - x.原来的函数隐袭变成F(x) + x。虽然两种形式都应该能够渐近地近似于所期望的函数,但学习的容易程度可能是不同的。
重新表示是由有关退化问题的反直觉现象所驱动的。正如在介绍中所讨论的,如果可以将添加的层构造为恒等映射,则更深层次的模型应该具有不大于其浅层结构的训练误差。退化问题表明求解者很难用多个非线性层逼近恒等映射。利用残差学习重构,如果恒等映射是最优的,则求解者可以简单地将多个非线性层的权值推向零,以逼近恒等映射。
在实际情况下,恒等映射不太可能是最优的,但重新表达对于这个问题的预处理是有帮助的。如果最优函数更接近于恒等映射而不是零,则求解者应该更容易找到与恒等映射相关的扰动,而不是将其作为新的扰动来学习。实验证明学习的残差函数一般都有较小的响应,说明恒等函数提供了合理的预条件。

通过快捷方式进行恒等映射:
对每隔几层的层叠层采用残差学习,图2展示了一个积木块。本文中积木块定义如下:
y=F(x,{ W i {W_i} Wi }) + x (1)
x、y是考虑的层的输入和输出响亮。函数F(x,{ W i W_i Wi})表示学习的残差映射。图2的例子包含两层,F= W 2 σ ( W 1 x ) W_2σ(W_1x) W2σ(W1x),σ代表ReLU,为了简化省略了偏置项。F+x操作由一个快捷连接和元素级的加法来表示。在加法之后在执行一个非线性操作(例如σ(y)如图2)。
公式1中的快捷连接没有增加额外的参数和计算复杂度。不仅在实践中很有吸引力,而且在比较普通网络和残差网络时也很重要。可以在参数、深度、宽度以及计算成本都相同的基础上对两个网络进行公平的比较(除了可以忽略不计的元素级加法)。
在公式1中,x和F的维数必须相等。如果不相等(例如,在更改输入、输出通道时),通过快捷连接执行限行投影 W s W_s Ws,以匹配维度:
y = F(x,{ W i W_i Wi}) + W s W_s Wsx (2)

网络结构:
Plain网络。Plain网络(图3中)主要受VGG网络(图3左)的启发。在这里插入图片描述
卷积层主要为3*3的滤波器,并遵循以下两点要求:(1)输出特征映射尺寸相同的层含有相同数量的滤波器(2)如果特征尺寸减半,则滤波器的数量增加一倍来保证每层的时间复杂度相同。直接使用步长为2的卷积层进行下采样。网络以一个全局平均池化层和一个带有Softmax的1000类的全连接层结束。在(图3中),有权值的层总数为34。
与VGG网络相比,该模型有更少的滤波器和更低的复杂度。

残差网络:
基于上述plain网络,插入快捷连接(图3右)将网络转换为对应的残差版本。当输入和输出尺寸相同时(图3中的实线快捷连接),可以直接使用恒等映射。当维度增加时(图3的虚线部分),考虑两个选项:(A)shortcut仍然使用恒等映射,在增加的维度上使用0来填充,这样做不会增加额外的参数;(B)使用上面公式2的映射shortcut来使维度保持一致(通过1*1的卷积)。对于这两个选项,当shortcut跨越两种尺寸的特征图时,均使用步长为2的卷积。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值