残差连接
从深层网络的优化退化问题出发,严格说明残差连接的数学动机、梯度性质与结构设计逻辑
-
深层网络的退化问题
-
从函数逼近能力上看,更深的网络严格包含浅层网络:只需将新增层设为恒等映射,深层模型即可退化为浅层模型,因此在表达能力上不可能 “更差”
-
但经验事实是:随着网络深度增加,训练误差与测试误差同时上升,模型在训练集上都无法被有效优化
-
这一现象被称为网络退化(degeneration),其根源并非过拟合,而是深层参数化结构导致的优化困难,尤其体现在梯度传播路径受阻
-
-
问题根源:直接学习目标映射的参数化方式不利于优化
-
设某一模块期望实现的理想映射为:
-
传统深层网络通过多层非线性变换直接逼近 ,这隐含假设每一层都必须对最终映射做出 “非平凡贡献”
-
然而当最优映射在某些深度附近接近恒等时,这种参数化会迫使梯度穿过多层高曲率、强非线性的结构,导致优化路径冗长且不稳定
-
-
残差重参数化的核心思想
-
ResNet 并未改变函数空间,而是改变了参数化方式,其将目标映射重写为:
-
网络输出改写为:
-
当最优映射接近恒等时,最优残差 接近 0,这在参数空间中是更易被梯度下降找到的解
-
残差连接的本质,是将 “学习恒等” 转化为 “学习零函数”
-
-
残差连接的梯度性质
- 考虑一个不含非线性的基本残差单元:
- 对输入 求导:
- 梯度由两部分组成:一条经过残差分支,另一条通过恒等映射直接传播
- 即便残差分支 的梯度很小或不稳定,恒等项 始终存在,从结构上保证了梯度传播路径的连通性
- 残差连接并不 “放大” 梯度,而是避免梯度被层数结构性阻断
-
残差块的结构设计
-
一个标准残差块由两条路径组成:
- 残差分支(Residual branch):若干卷积层(通常 2 或 3 层),每层包含卷积、BatchNorm 和 ReLU
- 跳跃分支(Skip connection):不引入非线性,尽可能保持恒等映射
-
标准形式为:
-
非线性放在相加之后,是为了保证相加前恒等路径不被破坏,从而在反向传播中维持梯度直通性质
-
-
维度不一致时的残差连接:线性投影的必要性
-
当通道数或空间分辨率发生变化时,输入 与 维度不一致,需在跳跃分支引入线性映射:
-
其中 通常为 卷积,仅用于维度对齐,不引入额外非线性,其目的在于维持 “残差加法” 这一结构前提
-
-
ResNet 的整体结构逻辑
-
初始特征提取阶段:通过大核卷积和池化快速建立低分辨率、高通道表示
-
残差阶段(Stages):多个残差块堆叠,每个阶段内部维度一致,阶段之间通过投影残差完成尺度变换
-
全局平均池化:消除空间维度,将表示转为全局统计量
-
任务输出层:线性分类或回归头
-
-
残差连接的意义
- 残差连接的关键贡献不在于提升表达能力,而在于通过重参数化改变深层模型的优化几何结构,使加深网络在优化意义上成为可行操作
- 它是一种针对可优化性问题的结构性解决方案,这也是残差思想被广泛迁移到 DenseNet、Transformer、Diffusion 模型以及大语言模型架构中的根本原因