ResNet阅读

摘要

更深层的神经网络更难训练。本文提出了一种深度更深且易于训练的残差学习框架。这些残差网络更易于优化,并且可以通过深度的增加而获得准确性。在ImageNet数据集上,我们评估残差网络的深度最多为152层-比VGG网络高8倍,但复杂性更低。 残差网络总体上在ImageNet测试集上实现3.57%的错误率,获得ILSVRC 2015分类任务的第一名。表征的深度对于许多视觉识别任务至关重要,仅由于极深的表征,作者在COCO对象检测数据集上获得了28%的提升,还获得了ImageNet检测,ImageNet Localization,COCO检测和COCO分割等任务的第一名。

引言

  1. 深度网络以端到端多层的方式集成了低/中/高级别的特性和分类器,并且特性的“级别”可以通过堆叠层的数量(深度)来丰富。
  2. 学习一个更深更好的网络,一个众所周知的障碍是梯度消失/爆炸问题,它从一开始就阻碍了收敛。这个问题主要通过规范初始化值(normalized initialization)[1,2,3,4]和调和归一化层(intermediate normalization layers)[5]来解决,它使得具有数十层的网络能够通过反向传播开始收敛于随机梯度下降(SGD)。
  3. 随着网络深度加深,训练精确率开始饱和,然后迅速退化。但是并不是由过拟合造成的。在一个合适的深度模型上增加更多的层会导致更高的训练误差。
  4. 本文通过引入一个深度残差学习框架来解决训练精度退化问题。在ImageNet 上进行了全面的实验,证明:1)极深的残差网络易于优化,但是当深度增加时,对应的“普通”网络(简单地堆叠层)却表现出更高的训练误差; 2)深层残差网络可通过深度的增加而轻松享受准确性的提高,从而产生比以前的网络更好的结果。

相关工作

  1. 残差表征。在矢量化方面,对残差矢量[6]进行编码比对原始矢量进行编码更有效。
  2. Shortcut Connections。一些中间层直接连接到辅助分类器,用于处理消失/爆炸梯度[7,8]。文献[9,10,11,12]提出了通过快捷连接(Shortcut Connections)来调整层响应、梯度和传播误差的方法。与“highway networks[13,14]”不同的是,本文提出的网络并没有门控单元,总是能学习残差函数,identity shortcuts永远不会关闭,所有的信息总是被传递供于其他残差函数进行学习。

深度残差学习

一个残差块结构如下图(Figure 2)。公式F(X)+X表示这个残差块以“shortcut connections”方式进行前馈传播。“shortcut connections” 可以跳过一个或多个层,这种方式既没有添加额外的参数也没有增加计算复杂度。整个网络仍然可以通过SGD反向传播进行端到端训练,并且可以使用公共库(caffe,tf,pytorch等)轻松实现而无需修改求解器。

针对每几个堆叠层采用残差学习,构建如下图所示的残差块(Figure 2)。在本文中,正式地将残差块定义为如下公式(1),其中x和y是表征的层的输入和输出向量。函数F (x,{wi})表示待学习的残差映射。
在这里插入图片描述
下图(Figure 2)中“shortcut connections”有两个层,因此F=W2H(W1X),H代表Relu函数,为了演示简便省去了偏差,并且符号表示是全连接的方式,但实际上同样适用于卷积网络。该残差块的“shortcut connections”可以表示为y=F+X。X和F的尺寸必须相等,才能进行点对点相加。如果不是这种情况(例如,更改输入/输出的通道),可以通过“shortcut connections”,利用方阵Ws执行线性投影以匹配尺寸(公式2)。
在这里插入图片描述
本文通过实验证明,公式1的同等映射(identity mappings)足以解决精度退化问题,并且很经济,因此Ws仅在匹配尺寸时才使用。残差函数F的形式是灵活的。 本文中的实验涉及一个具有两层或三层的函数F(后续例子),而更多的层是可能的。但是,如果F仅具有一层,则等式(1)类似于线性层:y = W1x + x,此时并没有观察到F的优势。函数F (x,{wi})可以表示多个卷积层。 在两个特征图上逐个通道执行对应元素加法。
一个残差块

网络结构

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

普通网络:我们的普通baselines(下图,中间)主要是受到VGG nets的启发(下图,左边)。卷积层大多有3×3个滤波器,遵循两个简单的设计规则:(1)对于相同的输出特征映射大小,这些层具有相同数量的过滤器;(2)如果将feature map的大小减半,那么过滤器的数量将增加一倍,以保持每一层的时间复杂度。文中通过步长为2的卷积层直接进行下采样。网络以一个全球平均池化层和一个带有softmax的1000分类的全连接层结束。加权的层数为34层。值得注意的是,该模型比VGG nets具有更少的滤波器和更低的复杂度。该普通的34层baselines有36亿次FLOPs,这只是VGG-19的18%(196亿次FLOPs)。
FLOPS计算:(1)卷积层:FLOPS = parameters*feature map;(2)全连接层:parameters=FLOPS
残差网络:在下图中间的普通网络的基础上,插入快捷连接(下图,右),将网络变成其对应的残差版本。 当输入和输出的尺寸相同时,可以直接使用公式(1)的同等映射。当维度增加时(下图中的虚线快捷连接),我们考虑两个选项:(A)快捷链接仍然执行同等映射,并为增加维度填充了额外的零。 此方法没有引入任何额外参数。 (B)公式(2)中的映射方式用于匹配维度(通过1×1卷积实现)。 对于这两个选项,当the shortcuts跨过两种尺寸的feature maps时,它们的执行步长都是2。
实现:将图像的短边在[256;480]范围内随机采样用于数据增广。从图像或其水平翻转随机采样224×224的副本,每个像素减去平均值。使用[15]中的标准色彩增强。在每次卷积之后和激活之前采用批归一化(batch normalization)[16]。按照[17]中的方法初始化权重,并从头开始训练所有普通/残差网络。文中使用最mini-batch为256进行随机梯度下降。学习率从0.1开始,当训练误差平稳时除以10来缩小学习率,训练模型的迭代次数高达60万次。使用0.0001的权重衰减率和0.9的动量系数。 遵循[16]中的做法,不使用dropout。 在测试中,为了进行比较研究,我们采用了标准的10种副本测试方法[18]。 为了获得最佳结果,我们采用[19,20]中的全卷积形式,并在多个尺度上对分数取平均值(调整图像大小以使较短的边在[224; 256; 384; 480; 640]中)。
在这里插入图片描述

实验

在包含1000个类的ImageNet 2012分类数据集上评估本文中的方法。模型在128万张训练图像上进行训练,并在5万张验证图片上进行评估。还获得10万张测试图像的最终结果。我们评估了top-1和top-5错误率。
评估了18层和34层(上图,中)的普通卷积网络,结果显示较深的34层普通网络比较浅的18层普通网络有更高的验证误差,显示出明显的精度退化(下图,左)。这种优化问题不太可能是由消失梯度造成的。这些普通网络使用BN[16]进行训练,以确保前向传播的信号具有非零的方差。文章也验证了反向传播的梯度也具有正常的范数BN。所以向前和向后传播信号都不会消失。事实上,34层的普通网络也具有较好的准确率,说明在一定程度上解释器也良好的工作。但是随着网络深度加深,可能收敛速度变慢,造成训练误差相对更高。
评估与上述普通网络baseline一样的残差网络(下图,右),维度不一致时使用0填充,所以没有参数增加。结果显示,与普通网络相反,34层的残差网络训练误差比18层残差网络明显更低,并且ResNet在早期更快的收敛使得优化速度更快。这表明,这种结构很好的解决了退化问题,能够从网络深度中获取精度提升。

在这里插入图片描述
在这里插入图片描述
文中的50/101/152层残差网络使用瓶颈结构块(下图右)替换了原本的残差块(下图左)。具体结构如下表table1。
在这里插入图片描述
在这里插入图片描述
实验结果如下图所示。ResNet验证和测试误差明显更低。
在这里插入图片描述
在这里插入图片描述

参考文献

[1]Y. LeCun, L. Bottou, G. B. Orr, and K.-R.Muller. Efficient backprop.In Neural Networks: Tricks of the Trade, pages 9–50. Springer, 1998.
[2]X. Glorot and Y. Bengio. Understanding the difficulty of training deep feed forward neural networks. In AISTATS, 2010.
[3]A. M. Saxe, J. L. McClelland, and S. Ganguli. Exact solutions to the nonlinear dynamics of learning in deep linear neural networks.
[4]K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into rectifiers:Surpassing human-level performance on imagenet classification.
[5]S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In ICML, 2015.
[6]H. Jegou, M. Douze, and C. Schmid. Product quantization for nearest neighbor search. TPAMI, 33, 2011.
[7]C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. In CVPR, 2015
[8]C.-Y. Lee, S. Xie, P. Gallagher, Z. Zhang, and Z. Tu. Deeply supervised nets. arXiv:1409.5185, 2014
[9]N. N. Schraudolph. Accelerated gradient descent by factor-centering decomposition. Technical report, 1998.
[10]N. N. Schraudolph. Centering neural network gradient factors. In
Neural Networks: Tricks of the Trade, pages 207–226. Springer,1998.
[11]T. Raiko, H. Valpola, and Y. LeCun. Deep learning made easier by linear transformations in perceptrons. In AISTATS, 2012.
[12]T. Vatanen, T. Raiko, H. Valpola, and Y. LeCun. Pushing stochastic gradient towards second-order methods–backpropagation learning with transformations in nonlinearities. In Neural Information Processing, 2013.
[13]R. K. Srivastava, K. Greff, and J. Schmidhuber. Highway networks. arXiv:1505.00387, 2015.
[14] R. K. Srivastava, K. Greff, and J. Schmidhuber. Training very deep
networks. 1507.06228, 2015.
[15]A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification
with deep convolutional neural networks. In NIPS, 2012
[16]S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep
network training by reducing internal covariate shift. In ICML, 2015.
[17]K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into rectifiers:
Surpassing human-level performance on imagenet classification. In
ICCV, 2015
[18]A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification
with deep convolutional neural networks. In NIPS, 2012.
[19]K. Simonyan and A. Zisserman. Very deep convolutional networks
for large-scale image recognition. In ICLR, 2015.
[20]K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into rectifiers:
Surpassing human-level performance on imagenet classification. In
ICCV, 2015.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼遇雨愈愉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值