发表位置: CVPR
发表时间: 2016
摘要
作者提出了一种比 residual learning framework。
引言
深度卷积神经网络在图像分类方面取得了一系列突破。深度网络以端到端多层的方式自然地集成了低/中/高级特征和分类器,并且特征的级别可以通过堆叠层的数量(深度)来丰富。最近的证据表明网络深度是至关重要的,在具有挑战性的ImageNet数据集上的领先结果都利用了非常深的[40]模型,深度从16到30。许多其他非平凡的视觉识别任务也极大地受益于非常深的模型。
在深度重要性的驱动下,一个问题出现了:学习更好的网络就像堆叠更多层一样简单吗?回答这个问题的一个障碍是臭名昭著的消失/爆炸梯度问题,它从一开始就阻碍了收敛。然而,这个问题已经通过标准化初始化和中间的标准化层得到了很大程度的解决,这使得有数十层的网络可以通过backpropagation开始收敛于随机梯度下降。当更深的网络能够开始收敛时,一个退化问题就暴露出来了:随着网络深度的增加,精确度达到饱和(这可能不足为奇),然后迅速退化。出乎意料的是,这种退化并不是过度拟合造成的,在适当深度的模型上添加更多的层会导致更高的训练误差。在本文中,我们通过引入deep residual learning framework来解决退化问题。
方案
定义潜在的映射(目标映射)
H
(
x
)
H(x)
H(x),作者stacked nonlinear layers 来拟合另外一种映射(残差映射)
F
(
x
)
:
=
H
(
x
)
−
x
F(x): = H(x) - x
F(x):=H(x)−x,则潜在映射(后文称为原始映射)可以表示为
H
(
x
)
=
F
(
x
)
+
x
H(x)=F(x)+x
H(x)=F(x)+x,作者假设残差映射比原始的、未参考的映射更容易优化。在极端情况下,如果一个恒等映射(恒等映射是指输入
x
x
x输出也是
x
x
x)是最优的,那么将残差推到零,比用一堆非线性层来拟合一个恒等映射更容易。
F
(
x
)
+
x
F(x)+x
F(x)+x可以通过shortcut connections来实现,如下图:
1. Deep Residual Learning
(1)Residual Learning
H ( x ) H(x) H(x)为潜在映射,即通过堆叠网络层来拟合的网络映射, x x x表示这些堆叠网络第一层的输入。若假设多个非线性层可以渐进逼近复杂函数,那么相当于它们可以渐进逼近残差函数, H ( x ) − x H(x)-x H(x)−x(假定输入和输出的维度相同),因此本文的目的并不是拟合 H ( x ) H(x) H(x),而是拟合残差函数 F ( x ) : = H ( x ) − x F(x): = H(x) - x F(x):=H(x)−x,最终的函数 H ( x ) = F ( x ) + x H(x)=F(x)+x H(x)=F(x)+x。
(2)Identity Mapping by Shortcuts
作者对几个堆叠的层运用Residual Learning,作者定义的building block如下,
y = F ( x , { W i } ) + x y = F(x,\{ {W_i}\} ) + x y=F(x,{Wi})+x (1)
其中, x x x和 y y y表示层的输入和输出向量, F ( x , { W i } ) F(x,\{ {W_i}\} ) F(x,{Wi})表示学习到的残差映射,上图中 F = W 2 σ ( W 1 x ) F = {W_2}\sigma ({W_1}x) F=W2σ(W1x),其中 σ \sigma σ表示激活函数ReLU, F ( x , { W i } ) + x F(x,\{ {W_i}\} ) + x F(x,{Wi})+x表示执行shortcut connection 和 element-wise addition。需要注意的是, x x x和 F ( x ) F(x) F(x)的维度必须相等,如果两个对象的维度不相等,则进行如下操作,
y = F ( x , { W i } ) + W s x y = F(x,\{ {W_i}\} ) + {W_s}x y=F(x,{Wi})+Wsx (2)
(3)Network Architectures