1.5 残差连接

从深层网络的优化退化问题出发,严格说明残差连接的数学动机、梯度性质与结构设计逻辑

  • 深层网络的退化问题

    • 从函数逼近能力上看,更深的网络严格包含浅层网络:只需将新增层设为恒等映射,深层模型即可退化为浅层模型,因此在表达能力上不可能“更差”

    • 但经验事实是:随着网络深度增加,训练误差与测试误差同时上升,模型在训练集上都无法被有效优化

    • 这一现象被称为网络退化(degeneration),其根源并非过拟合,而是深层参数化结构导致的优化困难,尤其体现在梯度传播路径受阻

  • 问题根源:直接学习目标映射的参数化方式不利于优化

    • 设某一模块期望实现的理想映射为:

      H(x)H(x)
    • 传统深层网络通过多层非线性变换直接逼近 $H(x)$,这隐含假设每一层都必须对最终映射做出“非平凡贡献”

    • 然而当最优映射在某些深度附近接近恒等时,这种参数化会迫使梯度穿过多层高曲率、强非线性的结构,导致优化路径冗长且不稳定

  • 残差重参数化的核心思想

    • ResNet 并未改变函数空间,而是改变了参数化方式,其将目标映射重写为:

      F(x)=H(x)xF(x) = H(x) - x
    • 网络输出改写为:

      H(x)=F(x)+xH(x) = F(x) + x
    • 当最优映射接近恒等时,最优残差 $F(x)$ 接近 0,这在参数空间中是更易被梯度下降找到的解

    • 残差连接的本质,是将“学习恒等”转化为“学习零函数”

  • 残差连接的梯度性质

    • 考虑一个不含非线性的基本残差单元:

      y=F(x)+xy = F(x) + x
    • 对输入 $x$ 求导:

      yx=F(x)x+I\frac{\partial y}{\partial x} = \frac{\partial F(x)}{\partial x} + I
    • 梯度由两部分组成:一条经过残差分支,另一条通过恒等映射直接传播

    • 即便残差分支 $\frac{\partial F(x)}{\partial x}$ 的梯度很小或不稳定,恒等项 $I$ 始终存在,从结构上保证了梯度传播路径的连通性

    • 残差连接并不“放大”梯度,而是避免梯度被层数结构性阻断

  • 残差块的结构设计

    • 一个标准残差块由两条路径组成:

      • 残差分支(Residual branch):若干卷积层(通常 2 或 3 层),每层包含卷积、BatchNorm 和 ReLU

      • 跳跃分支(Skip connection):不引入非线性,尽可能保持恒等映射

    • 标准形式为:

      y=ReLU(F(x,{Wi})+x)y = \text{ReLU}(F(x, \{W_i\}) + x)
    • 非线性放在相加之后,是为了保证相加前恒等路径不被破坏,从而在反向传播中维持梯度直通性质

  • 维度不一致时的残差连接:线性投影的必要性

    • 当通道数或空间分辨率发生变化时,输入 $x$ 与 $F(x)$ 维度不一致,需在跳跃分支引入线性映射:

      y=ReLU(F(x,{Wi})+Wsx)y = \text{ReLU}(F(x, \{W_i\}) + W_s x)
    • 其中 $W_s$ 通常为 $1\times1$ 卷积,仅用于维度对齐,不引入额外非线性,其目的在于维持“残差加法”这一结构前提

  • ResNet 的整体结构逻辑

    • 初始特征提取阶段:通过大核卷积和池化快速建立低分辨率、高通道表示

    • 残差阶段(Stages):多个残差块堆叠,每个阶段内部维度一致,阶段之间通过投影残差完成尺度变换

    • 全局平均池化:消除空间维度,将表示转为全局统计量

    • 任务输出层:线性分类或回归头

  • 残差连接的意义

    • 残差连接的关键贡献不在于提升表达能力,而在于通过重参数化改变深层模型的优化几何结构,使加深网络在优化意义上成为可行操作

    • 它是一种针对可优化性问题的结构性解决方案,这也是残差思想被广泛迁移到 DenseNet、Transformer、Diffusion 模型以及大语言模型架构中的根本原因

Last updated

Was this helpful?