残差连接(Residual Connection):从直觉困境到现代神经网络的核心结构

以下内容由AI辅助生成

1. 引言:一个看似显然却失败的直觉

在深度学习中,一个最自然的想法是:

神经网络越深,模型的表达能力越强,性能应该越好。

然而,大量实验表明,当网络深度不断增加时(例如从几十层到上百层),模型往往会出现一个反直觉现象:

  • 训练误差上升
  • 即使在训练集上,也无法达到较浅网络的性能

这种现象被称为深层网络退化问题(Degradation Problem)

重要的是,这并不是由于过拟合,也不仅仅是梯度消失或爆炸,而是一个深层模型在优化层面“学不动”的问题


2. 问题的本质:为什么深层网络会“退化”?

从理论上看,一个更深的网络至少应该能够模拟一个浅层网络:

  • 只要新增的层学会恒等映射(Identity Mapping)
  • 网络性能就不应下降

但实践中发现:

普通神经网络并不擅长学习“恒等变换”

也就是说,让几层网络保持输出与输入一致(y = x),在数值优化上并不容易。

这揭示了退化问题的本质:

  • 不是模型不够强
  • 而是优化目标本身不友好

3. 残差连接的直观思想

残差连接的核心思想可以用一个非常生活化的比喻来理解。

  • 传统网络:

    从零开始学习一个完整映射

  • 残差思想:

    在原有输入的基础上,只学习“需要修正的部分”

换句话说,与其直接学习目标函数 ,不如学习它相对于输入的偏差。


4. 形式化定义:什么是残差连接?

在数学上,残差学习通过一次重参数化来实现。

传统形式:

残差形式:

其中:

  • :输入
  • :残差函数
  • 直接加到输出的通路称为 残差连接(Residual / Skip Connection)

5. 为什么残差连接有效?

5.1 恒等映射变得容易

如果某些层对任务无贡献:

  • 普通网络:很难逼近恒等映射
  • 残差网络:只需令

这使得:

“零修正”成为一种稳定解

从而保证深层网络至少不会比浅层网络更差。


5.2 梯度传播更顺畅

对于残差结构:

反向传播时:

这个恒定的 “+1”:

  • 为梯度提供了一条直接通路
  • 显著缓解了梯度消失问题

5.3 优化过程更友好

经验和理论分析表明:

  • 残差结构使损失函数的优化景观更加平滑
  • 梯度下降类方法更容易收敛

这是极深网络得以成功训练的关键。


6. 一个重要澄清:是不是每一层都应该用残差?

答案是否定的。

现代神经网络并不是对每一层使用残差,而是:

在“模块(Block)级别”使用残差连接

原因在于:

  • 层层残差会削弱非线性表达能力
  • 有些层的目标是“改变表示空间”,并不适合残差

7. 残差连接在经典模型中的使用

7.1 ResNet

ResNet 的基本单元不是单层,而是一个残差块:

  • 2~3 层卷积 + 非线性
  • 外部包裹一条 shortcut

残差连接作用于整个模块,而非每一层。


7.2 Transformer

在 Transformer 中:

  • Attention 子层
  • Feed-Forward 子层

每一个子层外部都配有残差连接,但子层内部仍然是传统结构。

这说明:

残差是一种结构设计原则,而不是具体算子。


8. 什么时候不适合使用残差连接?

通常不使用残差的地方包括:

  • 输入嵌入层
  • 下采样或维度剧烈变化的层
  • 输出层(分类 / 回归头)
  • 非常浅的网络

残差更适合用于:

在同一表示空间内逐步精炼特征


9. 总结

残差连接的核心价值在于:

  1. 重参数化学习目标,使优化更容易
  2. 为梯度提供稳定通路
  3. 保证深层模型不发生性能退化

因此,现代深度学习模型的设计范式可以概括为:

用传统网络层构建表示,用残差连接保证这些表示能被有效优化。

这也是为什么,从 ResNet 到 Transformer,残差连接已经成为深度模型的基础组件。