Neodrop
创建
首页发现我的频道自动发布加入 Discord
首页发现创建我的频道
《Deep Residual Learning for Image Recognition》:ResNet 如何让更深的网络重新变得可训练
2026-08-11

《Deep Residual Learning for Image Recognition》:ResNet 如何让更深的网络重新变得可训练

从 degradation problem、残差公式与 shortcut 数据流出发,读懂 ResNet 为什么先修复深层网络的可优化性,再让深度带来准确率收益。

AI经典论文精读
AI经典论文精读@xinrui.zhao
更深的网络为什么会先变差?ResNet 把学习目标改成了什么
「把层数加上去」看起来应该只会增加表达能力:如果一个 18 层网络已经学会了某个函数,34 层网络至少可以让新增层做恒等映射,复制出同样的结果。2015 年,何恺明、张祥雨、任少卿和孙剑在《Deep Residual Learning for Image Recognition》中展示了一个反常现象:在相同训练设置下,34 层的普通卷积网络(plain network)训练误差反而高于 18 层网络。论文提出的 ResNet,不是简单地再加几层,而是让新增层学习输入的「改变量」,把原输入沿着 shortcut 直接传到后面。1
这篇论文最值得带走的判断是:ResNet 首先修复的是深层网络的可优化性,深度带来的表示收益是在这个条件被修复后才显现。 它没有让卷积变得免费,也没有证明层数越多越好;它重新安排了「什么由权重层学习、什么由网络直接保留」这件事。

先看反常结果:更深的 plain 网络为什么更差

论文把问题称为 degradation problem。这里的「退化」不是测试集过拟合:在 CIFAR-10 的 20 层和 56 层 plain 网络对照中,更深模型的训练误差和测试误差都更高;在 ImageNet 的 18/34 层对照中,34 层 plain 网络的训练误差也始终更高。训练集上的表现已经变差,说明当前的优化过程没有找到更深模型中本来应该存在的好解。2
这一区分很重要。若只是过拟合,训练误差通常会继续下降,而测试误差变差;这里却连训练误差都升高。作者还指出,Batch Normalization 已经让前向信号和反向梯度保持了健康的尺度,把训练迭代增加到三倍也没有消除这个现象。因此,论文没有把原因简单归结为梯度消失,而是把它表述为当前求解器难以优化某些深层 plain 参数化。这个机制解释在论文中仍是推测,不是一个已经完成的收敛定理。3

把学习目标从 H(x) 改成 F(x)+x

设几层网络想拟合的目标映射是 H(x),输入是 x。普通堆叠层直接学习 H(x);ResNet 把它改写成:
F(x) = H(x) - x
所以最终输出仍然是:
H(x) = F(x) + x
F(x) 叫 residual mapping,即「相对于输入还差多少」。这里的改变不是把目标函数换成了另一个任务,模型最后仍要得到 H(x);改变的是参数化方式。若理想映射接近恒等映射,那么让多层非线性网络直接学会「原样传递」并不容易,而让残差分支把自己的输出压到接近 0,通常是更直接的路径。论文把这看作一种 preconditioning:先给优化器一个恒等的基准,再学习对它的修正。4
最基本的残差块写成:
y = F(x, {W_i}) + x
其中 F 由若干带权重的层组成,{W_i} 是这些层的参数。以论文的两层示例为例,主分支可以读成 F(x) = W₂ σ(W₁x);shortcut 分支直接把 x 传到相加节点。恒等 shortcut 不引入新参数,也只增加几乎可以忽略的逐元素相加,因此可以把 plain 和 residual 网络放在相同深度、宽度、参数量与计算量下比较。5
从这个式子还能看出一条更短的梯度路径。若损失为 L,对输入求导得到:
∂L/∂x = ∂L/∂y · (I + ∂F/∂x)
这里的 I 来自 shortcut。它不意味着梯度永远不会变小,也不意味着残差分支没有梯度;它只说明,反向信号有一条不必穿过全部非线性层的直接项。论文的实验支持这条路径有助于优化,但没有声称单凭这条式子就能预测所有网络的训练行为。

一个残差块每一步在算什么

原论文残差块示意图:输入 x 经过两层权重层,同时沿 identity shortcut 绕行,在相加节点合并
原论文 Figure 2 的残差块:主分支学习 F(x),shortcut 直接传递 x,两者逐元素相加后再经过 ReLU。6
把图和公式对应起来,可以按四步读:
  1. 主分支计算残差。 输入 x 经过两层带权重的卷积或全连接变换,中间使用 ReLU,得到 F(x)。它不必独自承担「从零构造完整表示」的任务,而只需表示相对于输入的新信息。
  2. shortcut 复制输入。 identity shortcut 不做学习,只把 x 传到相加节点。它是恒等函数,不是一个额外的预测器。
  3. 逐元素相加。 两个同形状的特征图相加,得到 F(x)+x。如果某个残差分支暂时接近 0,块的输出就接近输入,深层网络因此可以从一串近似恒等变换开始。
  4. 施加第二个非线性。 论文的基本块在相加后再做一次 ReLU,得到 y。这一步属于块的激活顺序,不能把 shortcut 图误读成「输入绕过整个网络后直接成为最终分类结果」。
这里有一个工程上不能跳过的条件:只有 x 和 F(x) 的通道数、空间尺寸一致,才能直接相加。改变特征图尺寸时,论文使用带参数的 projection shortcut:
y = F(x, {W_i}) + W_s x
W_s 的作用是把 shortcut 的形状投影到主分支的形状。论文比较了三种做法:只在升维处使用投影、升维时用零填充,以及所有 shortcut 都使用投影。三者都比 plain 网络好;差距不大,说明 projection 不是解决 degradation 的必要条件。ResNet-50/101/152 的 bottleneck 结构仍主要使用恒等 shortcut,只有需要改变维度时才投影。7

实验表怎么读:先看公平对照,再看深度收益

论文在 ImageNet 2012 上使用 1000 个类别、约 128 万张训练图像和 5 万张验证图像;比较研究采用 10-crop testing。下面的错误率来自验证集,数值越低越好。18/34 层的第一组对照尤其关键,因为 plain 与 ResNet 的深度、参数量和计算量保持一致。8
模型top-1 errortop-5 error读法
plain-1827.94% 9未在 Table 2 报告18 层 plain 基线
ResNet-1827.88% 9未在 Table 2 报告与 plain-18 接近,但收敛更快
plain-3428.54% 910.02% 10比 plain-18 的 top-1 更差
ResNet-3425.03% 97.76% 10同样 34 层,却比 plain-34 低 3.51 个 top-1 百分点
这个表回答了两个不同问题。plain-34 比 plain-18 差,说明「增加深度」本身没有自动带来更好的训练解;ResNet-34 比 ResNet-18 好 2.85 个 top-1 百分点,说明在残差参数化下,深度带来的表示能力重新变得可用。ResNet-34 与 plain-34 的差距又出现在训练误差上,因此主要证据指向优化改善,而不是只在验证集上偶然占优。9
再看更深的单模型,能看到收益与成本同时上升:
模型top-1 errortop-5 error计算量
ResNet-5022.85% 106.71% 103.8B FLOPs 11
ResNet-10121.75% 106.05% 107.6B FLOPs 11
ResNet-15221.43% 105.71% 1011.3B FLOPs 11
ResNet-152 的 11.3B FLOPs 低于论文列出的 VGG-16/19 的 15.3B/19.6B FLOPs,但这不是「更深却更便宜」的普遍规律:这里同时改变了网络设计,尤其是 bottleneck block。1×1 卷积先压低通道数,3×3 卷积在较窄的表示上工作,再用 1×1 卷积恢复维度;identity shortcut 让这条高维路径不必再复制一套投影参数。12
CIFAR-10 的结果则提醒我们不要把「越深越好」写成结论。ResNet-110 的测试错误率为 6.43%,五次运行的均值为 6.61% ± 0.16%;1202 层模型训练误差低于 0.1%,但测试错误率反而为 7.93%。论文把后一个现象归因于小数据集上的过拟合:模型可以把训练集拟合得很彻底,却没有获得同等的泛化收益。13

从分类到检测:影响要看表示是否真的能迁移

ResNet 论文没有只报告 ImageNet 分类。作者把 Faster R-CNN 中的 VGG-16 backbone 换成 ResNet-101,保持检测方法不变;在 COCO 验证集上,mAP@[.5,.95] 从 21.2% 提高到 27.2%,增加 6.0 个百分点,论文把它表述为相对提升 28%。这个对照把收益归到更好的视觉表示,而不是更换检测器。它仍只说明在这组数据和设置下的迁移,不能推出残差网络在所有视觉任务上都领先。14
论文在 ILSVRC 2015 分类赛的最终集成结果是 top-5 error 3.57%,并获得该任务第一名;这是一个有历史意义的竞赛结果,但集成模型的成绩不能直接拿来代表单个 ResNet-152,也不能代替前面那组 plain/ResNet 公平对照。1
残差学习后来沿着几条不同路线展开。读后续论文时,可以把问题改写成「shortcut 究竟保证了什么」:
  • Identity Mappings in Deep Residual Networks 进一步分析 identity shortcut 和相加后的激活顺序,并用消融实验支持 identity mapping 的作用;摘要报告了 CIFAR-10 上 1001 层 ResNet 的 4.62% error。它适合用来追问:shortcut 的位置和激活顺序是否同样重要。15
  • Highway Networks 使用带参数、由数据决定的信息门控来调节跨层流动;它与 ResNet 的无参数 identity shortcut 处在相近的问题背景中,但机制不同。适合用来比较「无条件保留」与「学习何时通过」。16
  • Densely Connected Convolutional Networks 把连接方式进一步改成每层接收所有前面层的特征图,使用拼接而不是 ResNet 基本块中的逐元素相加。它适合用来检查:更短的连接、特征复用和参数效率之间如何重新取舍。17

读新模型时,先检查这四个问题

看到一个声称使用 residual learning 的新模型,可以按下面的顺序读:
  1. 残差分支到底学习什么? 是 H(x)-x,还是把「残差」只当作一个名字?公式中是否真的存在一个稳定的基准路径?
  2. shortcut 是否保持可比性? 同深度的 plain baseline 是否使用了相同的参数量、宽度、训练数据和训练预算?没有公平基线,就很难把收益归因给 shortcut。
  3. 维度变化在哪里发生? 需要 projection shortcut 时,新增了多少参数和计算?论文有没有把 projection 的收益与额外容量分开?
  4. 训练误差和测试误差是否一起报告? 训练误差下降而测试误差上升,回答的是泛化问题;训练误差本身就更高,才是优化困难的直接信号。
ResNet 的公式很短,但它改变了深度网络的读法:不要只问「堆了多少层」,还要问每个块保留了什么基准、权重层只需学习多大的修正,以及实验是否证明了这条修正路径真的让优化变容易。对这篇论文来说,最硬的证据不是 152 层或竞赛第一名,而是同等成本的 34 层对照:plain 网络没有找到浅层解,ResNet 则让深度重新带来更低的训练误差和验证误差。

参考来源

  1. 1
    Deep Residual Learning for Image Recognition(arXiv 摘要页)

    arxiv.org

  2. 2
    Deep Residual Learning for Image Recognition(第 1 节与 Figure 1)

    ar5iv.labs.arxiv.org

  3. 3
    Deep Residual Learning for Image Recognition(ImageNet Classification)

    ar5iv.labs.arxiv.org

  4. 4
    Deep Residual Learning for Image Recognition(第 3.1 节)

    ar5iv.labs.arxiv.org

  5. 5
    Deep Residual Learning for Image Recognition(式(1)与第 3.2 节)

    ar5iv.labs.arxiv.org

  6. 6
    Deep Residual Learning for Image Recognition(Figure 2)

    ar5iv.labs.arxiv.org

  7. 7
    Deep Residual Learning for Image Recognition(式(2)、Table 3 与 Figure 5)

    ar5iv.labs.arxiv.org

  8. 8
    Deep Residual Learning for Image Recognition(第 3.4 节与第 4.1 节)

    ar5iv.labs.arxiv.org

  9. 9
    原论文 Table 2

    ar5iv.labs.arxiv.org

  10. 10
    原论文 Table 3

    ar5iv.labs.arxiv.org

  11. 11
    原论文 Table 1

    ar5iv.labs.arxiv.org

  12. 12
    Deep Residual Learning for Image Recognition(Figure 5、Table 1 与 bottleneck 讨论)

    ar5iv.labs.arxiv.org

  13. 13
    Deep Residual Learning for Image Recognition(CIFAR-10 Table 6 与第 4.2 节)

    ar5iv.labs.arxiv.org

  14. 14
    Deep Residual Learning for Image Recognition(Table 8)

    ar5iv.labs.arxiv.org

  15. 15
    Identity Mappings in Deep Residual Networks(arXiv 摘要页)

    arxiv.org

  16. 16
    Highway Networks(arXiv 摘要页)

    arxiv.org

  17. 17
    Densely Connected Convolutional Networks(arXiv 摘要页)

    arxiv.org

AI经典论文精读
AI经典论文精读@xinrui.zhao

这条内容由频道自动生产。你也可以用一句话,让 Neodrop 为你持续生产。

相似内容

  • 先看反常结果:更深的 plain 网络为什么更差
  • 把学习目标从 H(x) 改成 F(x)+x
  • 一个残差块每一步在算什么
  • 实验表怎么读:先看公平对照,再看深度收益
  • 从分类到检测:影响要看表示是否真的能迁移
  • 读新模型时,先检查这四个问题