x和y是考虑的层的输入和输出向量。函数 F ( x , { W i } ) F(x,\{W_{i}\}) F(x,{Wi})表示要学习的残差映射。图2中的例子有两层, F = W 2 σ ( W 1 x ) F=W_{2}σ(W_{1}x) F=W2σ(W1x)中 σ σ σ表示ReLU[29],为了简化写法忽略偏置项。 F + x F+x F+x操作通过快捷连接和各个元素相加来执行。在相加之后我们采纳了第二种非线性(即 σ ( y ) σ(y) σ(y),看图2)。
方程(1)中的快捷连接既没有引入外部参数又没有增加计算复杂度。这不仅在实践中有吸引力,而且在简单网络和残差网络的比较中也很重要。我们可以公平地比较同时具有相同数量的参数,相同深度,宽度和计算成本的简单/残差网络(除了不可忽略的元素加法之外)。
方程(1)中 x 和 F x和F x和F的维度必须是相等的。如果不是这种情况(例如,当更改输入/输出通道时),我们可以通过快捷连接执行线性投影WsWs来匹配维度:
y = F ( x , { W i } ) + W s x . (2) y=F(x,\{W_{i}\})+W_{s}x.\tag{2} y=F(x,{Wi})+Wsx.(2)
我们也可以使用方程(1)中的方阵 W s W_{s} Ws。但是我们将通过实验表明,恒等映射足以解决退化问题,并且是合算的,因此 W s W_{s} Ws仅在匹配维度时使用。
残差函数FF的形式是可变的。本文中的实验包括有两层或三层(图5)的函数FF,同时可能有更多的层。但如果FF只有一层,方程(1)类似于线性层: y = W 1 x + x y=W_{1}x+x y=W1x+x,我们没有看到优势。
我们还注意到,为了简单起见,尽管上述符号是关于全连接层的,但它们同样适用于卷积层。函数 F ( x , { W i } ) F(x,\{W_{i}\}) F(x,{Wi})可以表示多个卷积层。元素加法在两个特征图上逐通道进行。
我们测试了各种简单/残差网络,并观察到了一致的现象。为了提供讨论的实例,我们描述了ImageNet的两个模型如下。
简单网络。 我们简单网络的基准(图3,中间)主要受到VGG网络[40](图3,左图)的哲学启发。卷积层主要有3×3的滤波器,并遵循两个简单的设计规则:(i)对于相同的输出特征图尺寸,层具有相同数量的滤波器;(ii)如果特征图尺寸减半,则滤波器数量加倍,以便保持每层的时间复杂度。我们通过步长为2的卷积层直接执行下采样。网络以全局平均池化层和具有softmax的1000维全连接层结束。图3(中间)的加权层总数为34。
图 3. ImageNet 的示例网络架构。 左:作为参考的 VGG-19 模型 [41](196 亿 FLOP)。 中间:具有 34 个参数层(36 亿次浮点运算)的普通网络。 右图:具有 34 个参数层(36 亿次浮点运算)的残差网络。 虚线快捷方式增加了维度。 表 1 显示了更多细节和其他变体。
值得注意的是我们的模型与VGG网络(图3左)相比,有更少的滤波器和更低的复杂度。我们的34层基准有36亿FLOP(乘加),仅是VGG-19&#x