一、什么是 ResNet?

ResNet(Residual Network,残差网络)是由何恺明等人在 2015 年提出的深度卷积神经网络,核心贡献是“残差连接”,一举解决了“网络越深,效果反而越差”的退化问题

1. 背景问题

在 ResNet 之前,人们直觉认为:增加网络层数(加深)应该能提升性能,因为更多层可以学到更复杂的特征。
但实验发现:网络超过一定深度(比如 20 层)时,训练误差和测试误差反而上升——这不是过拟合,而是优化困难:梯度消失/爆炸,以及更深层更难拟合恒等映射(即“让后面几层什么都不做”都很难学)。

2. 核心思想:残差学习

不直接学习想要的底层映射 ( H(x) ),而是学习 残差
[
F(x) = H(x) - x
]
那么原始映射就变成:
[
H(x) = F(x) + x
]
这在网络中通过 “跳跃连接”(skip connection / shortcut)实现:把输入 ( x ) 直接加到输出上(逐元素相加)。

通俗理解
- 普通网络:要求这一层把 ( x ) 变成完美的 ( H(x) ),很难。
- 残差网络:这一层只需要学习“相比输入 ( x ),需要调整多少”。如果最优解就是 ( x ) 本身(即该层什么都不用做),那么只需让 ( F(x) \to 0 ),这远比学习恒等映射容易得多。

3. 效果

  • 可以轻松训练上百层甚至上千层的网络(如 ResNet-152,ResNet-1000)。
  • 显著降低梯度消失问题(梯度能通过捷径直接回传)。
  • 2015 ILSVRC 冠军,错误率降至 3.57%(超越人类水平)。

4. 一个简单的残差块结构(示意图)

输入 x
   |
   v
[卷积层1 → BN → ReLU → 卷积层2 → BN]
   |                |
   |                v
   └──────────────→ (+) → ReLU → 输出 H(x)=F(x)+x

二、与之类似的架构(同思路或受启发的重要网络)

受 ResNet 启发或为解决类似问题而生的网络有很多,按核心机制可以分为几类:

网络名称 核心思想 与 ResNet 的联系 / 区别
Highway Networks (2015) 引入“门控”机制,学习保留多少输入、变换多少输出:H(x) = g(x) * x + (1-g(x)) * F(x) ResNet 的前身。ResNet 可视为 Highway 去掉门控(默认保留输入的一半?不,实际上是 g=1 的特例)。但 Highway 因门控参数增多,效果不如简洁的 ResNet。
DenseNet (2016) 每一层与前面所有层直接连接(密集连接)。某层的输入 = 所有之前层的输出拼接。 更强度的跨层连接。参数效率更高(每层只需很少的特征图),但内存占用大。可视为 ResNet 的“全连接版”。
ResNeXt (2016) 在残差块内部采用分组卷积(多个平行路径,即“基数”维度)。 保留残差连接,改变内部结构:从“深而窄”变为“宽而稀疏”。效果优于等参数量下的 ResNet。
Wide ResNet (2016) 减少层数,增加每一层的宽度(通道数)。 证明“宽度”同样重要,训练更快,参数效率更高。是一种 ResNet 的变体。
Pre-activation ResNet (ResNetV2, 2016) 将 BN 和 ReLU 移到卷积之前(预激活)。 改进残差块的顺序,使梯度流更顺畅,更易训练且正则化效果更好。
Inception (GoogleNet) 家族(2014-2016) 在同一层使用多个不同尺寸的卷积核,然后拼接。 早于 ResNet,但后续的 Inception-ResNet 把残差连接引入 Inception 块,形成混合架构。
SENet (2017) 在残差块中加入通道注意力:学习每个通道的权重,放大重要特征。 不是 ResNet 的直接变体,但常与残差结构结合(如 SE-ResNet)。
EfficientNet (2019) 同时缩放深度、宽度、输入分辨率。 基线网络常基于 MnasNet,但也可结合移动翻转残差块(MBConv)。不直接是 ResNet 替代,但大量使用残差思想。
Transformer 中的残差连接 (2017) 在自注意力层和前馈网络后都加 Add & Norm 结构。 直接继承了 ResNet 的残差连接思想,成为大模型(GPT、BERT)的基础组件。

简短总结类似架构的共同特征:

  • 都试图解决深度网络的训练难度(梯度消失/爆炸、退化问题)。
  • 都依赖某种 跨层连接(捷径、跳跃、密集)。
  • ResNet 是最简洁、影响力最大的开端,后续工作在以下方向上改进:
    • 连接模式(DenseNet、Highway)
    • 块内结构(ResNeXt、Wide、Pre-activation)
    • 融入注意力(SENet、CBAM)
    • 跨领域应用(Transformer 的残差)

三、一句话概括

ResNet 通过“残差连接”让深度网络变得可训练,解决了退化问题。
类似的架构 包括 DenseNet(全密集连接)、ResNeXt(分组卷积)、Highway(门控)、Pre-activation ResNet(预激活),以及几乎所有现代深度网络(包括 Transformer)都继承了残差连接的思想。

如果你对其中某个具体网络(比如 DenseNet 的密集连接如何工作?或 Transformer 里的残差如何用?)感兴趣,我可以进一步展开。