1. 介绍
深度卷积神经网络为图像分类带来了一系列突破。深度网络自然地以端到端的多层方式集成低/中/高级特征和分类器,并且特征的“级别”可以通过堆叠层的数量(深度)来丰富。
学习更好的网络是否像堆叠更多层一样容易?
臭名昭著的梯度消失/爆炸问题,它从一开始就阻碍了收敛。然而,这个问题已在很大程度上通过归一化初始化 和中间归一化层 得到解决,这些归一化层使具有数十层的网络能够开始收敛于具有反向传播的随机梯度下降(SGD)。
当更深的网络能够开始收敛时,退化问题就暴露出来了:随着网络深度的增加,准确性变得饱和,然后迅速退化。这种退化并不是由过度拟合引起的,并且向适当深度的模型添加更多层会导致更高的训练误差。
“更深的网络能够开始收敛”是指在构建深度神经网络时,随着网络层数的增加,模型在训练过程中能够逐渐达到一个稳定的状态,即模型的参数不再发生大幅度的变化,并且模型的性能(如准确率、损失函数值等)也逐渐趋于稳定或达到最优。
“饱和”指的是随着网络深度的增加,模型的准确度达到一个特定的水平后就不再显著提升了
训练准确性的下降表明并非所有系统都同样容易优化。存在一种通过构建更深层次模型的解决方案:添加的层是恒等映射,其他层是从学习的较浅层模型中复制的。更深的模型不应比其更浅的对应模型产生更高的训练误差。
可以通过具有“快捷连接”的前馈神经网络来实现。快捷连接是那些跳过一层或多层的连接。快捷连接只是执行恒等映射,并且它们的输出被添加到堆叠层的输出中。这样的操作既不会增加额外的参数,也不会增加计算复杂性。整个网络仍然可以通过 SGD 通过反向传播进行端到端训练,并且可以使用通用库轻松实现。
3. 深度残差学习
3.1 残差学习
将视为由几个堆叠层(不一定是整个网络)拟合的底层映射,其中 x 表示第一层的输入。如果假设多个非线性层可以渐近逼近复杂函数,那么就相当于假设它们可以渐近逼近残差函数,即(假设输入和输出具有相同的维度)。因此,我们不是期望堆叠层逼近,而是明确让这些层逼近残差函数。原函数也就变为。
退化问题表明求解器在通过多个非线性层逼近恒等映射时可能会遇到困难。通过残差学习重构,如果恒等映射是最优的,则求解器可以简单地将多个非线性层的权重驱动至零以接近恒等映射。
“权重驱动”指的是在训练过程中,通过优化算法(如梯度下降或其变种)调整网络的权重值,使得网络的输出接近于恒等映射的输出。
3.2 通过快捷连接进行恒等映射
每隔几个堆叠层采用残差学习。,x 和 y 是所考虑层的输入和输出向量。函数表示要学习的残差映射。其中表示 ReLU,为了简化符号,省略了偏差。通过快捷连接和逐元素加法来执行。
可以通过快捷连接执行线性投影 Ws 以匹配尺寸:函数可以表示多个卷积层。逐元素相加是在两个特征图上逐个通道执行的。
3.3 网络架构
普通网络
卷积层大多具有3*3卷积核,并遵循两个简单的设计规则:①对于相同的输出特征图大小,每层具有相同数量的卷积核;②如果特征图大小减半,卷积核的数量加倍,从而保持每层的时间复杂度。通过步长为 2 的卷积层执行下采样。网络以全局平均池化层和带有 softmax 的 1000 路全连接层结束。
残差网络
快捷连接,将网络变成其对应的残差版本。当输入和输出具有相同维度时,可以直接使用恒等快捷方式。当维度增加时,我们考虑两种选择:(A)快捷方式仍然执行恒等映射,并填充额外的零条目以增加维度。该选项不引入额外的参数; (B) 方程 (2) 中的投影快捷方式用于匹配维度(通过 1×1 卷积完成)。对于这两个选项,当快捷方式穿过两种尺寸的特征图时,它们的步幅为 2。
4. 实验
4.1 ImageNet 分类
在包含 1000 个类的 ImageNet 2012 分类数据集上评估我们的方法。这些模型在 128 万张训练图像上进行训练,并在 5 万张验证图像上进行评估。
与普通网络相比,残差网络没有额外的参数。
ImageNet架构
虽然18-layers网络的解空间是34-layers网络解空间的子集。但是34-layers具有更高的训练误差。
普通网络使用 BN 进行训练,确保前向传播的信号具有非零方差。前向或后向信号都不会消失。事实上,34 层普通网络仍然能够达到有竞争力的精度。