XYZNOT

论文 · arXiv 1512.03385

用于图像识别的深度残差学习 (Deep Residual Learning for Image Recognition)

Deep Residual Learning for Image Recognition

发表于 cs.CV arXivPDF

用 XYZNOT 阅读(全文翻译与 AI 讲解)

三句话总结

  1. 🎯 更深的普通朴素神经网络会遭遇优化退化问题:即使梯度没有消失,增加网络深度也会导致更高的训练误差。
  2. 🔧 将堆叠层重新设计为通过无参数的恒等快捷连接拟合残差映射 ,即 。
  3. 📈 在 ImageNet 上成功训练了高达 152 层的网络(实现 3.57% 的 top-5 集成错误率),并在 ILSVRC 和 COCO 2015 竞赛中斩获多项第一。

摘要

更深层次的神经网络通常更难以训练。我们提出了一种残差学习框架,旨在简化显著深于以往网络的训练过程。我们将网络层显式重构为参考层输入的残差函数进行学习,而非学习无参考的函数。大量的实证证据表明,这些残差网络不仅更容易优化,而且能够通过显著增加深度来提高准确率。在 ImageNet 数据集上,我们评估了深度达 152 层的残差网络——比 VGG 网络深 8 倍,但复杂度仍然更低。这些残差网络的集成模型在 ImageNet 测试集上取得了 3.57% 的错误率。该结果获得了 ILSVRC 2015 分类任务的第一名。我们还在具有 100 层和 1000 层的 CIFAR-10 上进行了分析。表征的深度对于许多视觉识别任务至关重要。仅仅凭借我们极深的表征,我们在 COCO 目标检测数据集上获得了 28% 的相对提升。深度残差网络是我们参加 ILSVRC 和 COCO 2015 竞赛的基础,并在 ImageNet 检测、ImageNet 定位、COCO 检测以及 COCO 分割等各项任务中均获得了第一名。

英文原文摘要

Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions with reference to the layer inputs, instead of learning unreferenced functions. We provide comprehensive empirical evidence showing that these residual networks are easier to optimize, and can gain accuracy from considerably increased depth. On the ImageNet dataset we evaluate residual nets with a depth of up to 152 layers---8x deeper than VGG nets but still having lower complexity. An ensemble of these residual nets achieves 3.57% error on the ImageNet test set. This result won the 1st place on the ILSVRC 2015 classification task. We also present analysis on CIFAR-10 with 100 and 1000 layers. The depth of representations is of central importance for many visual recognition tasks. Solely due to our extremely deep representations, we obtain a 28% relative improvement on the COCO object detection dataset. Deep residual nets are foundations of our submissions to ILSVRC & COCO 2015 competitions, where we also won the 1st places on the tasks of ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation.

论文解读

问题与动机

网络深度对于视觉识别表征至关重要,但简单地堆叠更多层会暴露出一个根本性的退化问题(degradation problem):随着深度的增加,准确率达到饱和后便迅速退化。关键在于,这种退化并非由过拟合引起——更深的网络比其更浅的对应版本产生了更高的训练误差,尽管像 Batch Normalization 和归一化初始化这类技术已经确保了前向激活值与反向传播梯度不会消失。

从理论上讲,更深的模型按构造具有恒等映射解:复制学习好的浅层模型,并将额外的层设置为恒等变换。然而,传统的优化求解器在直接学习无参考的非线性映射时,无法找到这一解。

核心思想

  • 残差学习框架 (Residual Learning Framework):不再直接优化堆叠层以逼近目标映射 ,而是显式让这些层逼近残差映射 。原始映射可以通过 恢复。
  • 恒等快捷连接 (Identity Shortcut Connections):通过跳过一个或多个层的前向快捷连接来实现 。恒等快捷连接无需额外参数,且几乎不会引入额外的计算开销。
  • 更容易的优化与预条件作用:如果恒等映射是最优的,优化器只需将残差权重推向零。在实践中,残差函数的响应幅度很小,表明恒等连接起到了有效的预条件作用。
  • 瓶颈架构 (Bottleneck Architecture):对于极深的网络变体(ResNet-50、ResNet-101、ResNet-152),每个 2 层的残差单元被替换为 3 层的瓶颈块(、 和 卷积),在保留表征能力的同时减少了计算量。

方法

对于输入和输出维度相同的残差构建块: 其中 和 是输入和输出向量,对于 2 层单元 ( 表示 ReLU,为简便起见省略了偏置项)。逐元素相加在应用第二个 ReLU 激活 之前执行。

当特征图维度发生变化时(例如在空间下采样或通道数翻倍期间): 这里的 可以是:

  • 选项 A:对增加的维度使用零填充,并使用恒等快捷连接(步幅为 2 以进行下采样),不引入任何额外参数。
  • 选项 B:仅在增加维度时使用 线性卷积投影 ,在其他位置使用纯恒等连接。
  • 选项 C:对所有残差块均使用线性投影快捷连接 。

论文在 ImageNet 模型(ResNet-50/101/152)中采用了选项 B,因为选项 C 引入了参数冗余却未能带来有意义的精度提升,且纯恒等快捷连接对于保持瓶颈结构的高效性至关重要。

结果

  • ImageNet 分类:
    • ResNet-34 的 top-1 错误率比 plain-34 低 3.5%(10-crop 验证集错误率为 25.03% 对比 28.54%),成功解决了训练退化问题。
    • ResNet-152 单模型的 top-5 验证错误率达到了 4.49%(113 亿 FLOPs,复杂度低于 153 亿 FLOPs 的 VGG-16)。
    • ResNet 集成模型在测试集上取得了 3.57% 的 top-5 错误率,赢得了 ILSVRC 2015 分类挑战赛冠军。
  • CIFAR-10:ResNet 的深度在 20、32、44、56 和 110 层之间平滑缩放,其中 ResNet-110 达到了 6.43% 的测试错误率。实验性的 1202 层网络也成功完成了训练,未发生优化失败(训练错误率 )。
  • 迁移与下游任务:在 Faster R-CNN 中将 VGG-16 替换为 ResNet-101 后,MS COCO mAP@[.5, .95] 从 21.2% 提升至 27.2%(相对提升 28%),PASCAL VOC 2007 测试集 mAP 从 73.2% 提升至 76.4%。深度残差网络还在 ImageNet 检测、ImageNet 定位、COCO 检测和 COCO 分割任务中均斩获第一名。

局限性与开放问题

  • 超深架构上的过拟合:在 CIFAR-10 上,1202 层的模型尽管训练误差达到 ,但其测试误差(7.93%)高于 ResNet-110(6.43%),这是因为在较小的数据集上缺乏足够的正则化。
  • 退化问题的理论成因:论文通过实验表明梯度消失并不是问题所在,并推测朴素网络可能面临指数级低下的收敛速度,但关于优化动力学的理论证明仍有待未来工作解决。
  • 单层残差:当 仅由单层构成时(退化为 ),残差公式并没有表现出明显的优势。

关键术语

degradation problem (退化问题)
一种反直觉的现象,即在没有出现梯度消失/爆炸的情况下,向深度神经网络增加更多层反而会导致更高的训练误差。
residual learning (残差学习)
重构堆叠的神经网络层,以使其显式地学习相对于其输入的残差函数 ,而非直接拟合无参考映射 。
identity shortcut connection (恒等快捷连接)
一种无参数的跳跃连接,它原样传递输入向量或特征图,并将其逐元素相加到堆叠卷积层的输出上。
projection shortcut (投影快捷连接)
当输入与输出的通道深度或空间尺寸不一致时,使用线性变换矩阵或 卷积()来匹配维度的快捷连接。
bottleneck design (瓶颈设计)
一种由 、 和 卷积组成的 3 层残差构建块,其中 卷积层用于压缩和恢复特征维度,以降低计算复杂度。
plain network (朴素网络)
一种基准卷积网络架构,仅简单堆叠标准卷积层和池化层,不包含任何快捷连接或残差连接。

常见问题

为什么退化问题不是由梯度消失引起的?

这些网络均使用了 Batch Normalization 和归一化权重初始化进行训练,已验证其在前向传播中维持了非零的信号方差,在反向传播中也维持了健康的梯度范数。此外,像 plain-34 这样更深的朴素网络依然收敛到了非平凡解,只是收敛时的训练误差高于较浅的网络。

ResNet 的恒等快捷连接与 Highway Networks 有何不同?

Highway networks 使用了数据依赖的参数化门控函数,门控可能会关闭并使层失去残差特性;而 ResNet 的快捷连接是无参数的恒等映射,永远不会关闭,从而保证了自始至终都在进行残差学习。

何时使用投影连接而不是恒等快捷连接?

投影(使用 卷积)主要用于输入和输出特征维度不匹配的情况(例如,通道数翻倍并通过步幅为 2 减半空间分辨率时)。当维度匹配时,恒等映射便已足够,更加经济,并且能避免瓶颈单元中的参数膨胀。

为什么 ResNet-1202 在 CIFAR-10 上的表现差于 ResNet-110?

ResNet-1202 面临的是过拟合而非优化失败。它成功达到了 的训练误差,但在没有诸如 dropout 等额外正则化技术的情况下,其 1940 万的参数量对于较小的 CIFAR-10 数据集来说过于庞大了。

本页解读由 AI 根据论文生成,可能有错误;细节请以原文为准。

用 XYZNOT 阅读(全文翻译与 AI 讲解)