跳到主内容
快讯直播
AI智模界
AI 词典

残差连接:为什么上百层网络还训得动,而不是梯度全丢

一句话定义:残差连接(Residual Connection)就是把某一层的输入直接加到这一层的输出上:output = F(x) + x。网络不再学“全部内容”,只学“改动量”。

为什么需要它

网络越深,理论上表达力越强。但早期把层一层层直接堆起来(后来被称为 plain network),结果常常是:20 层反而不如 10 层,而且训练误差也更高——不是过拟合,是根本训不动。

原因出在反向传播:梯度从最后一层往回传,每路过一层就乘一次该层的导数。连乘几十次,梯度要么趋近于零(消失),要么爆炸,前面几层几乎收不到有效信号。

打个生活化的比方:一条很长的传话链,每个人都只能把话复述给下一个人,传到最后原意基本没了。残差连接相当于让每个人多做一件事——把上一手拿到的原话纸条原封不动递过去,自己只附一条“修正说明”。下游拿到的是“原文 + 各段修正”。

它为什么有效

  • 梯度多了一条直通路径。 加法在求导时留下一项恒等路径,梯度可以几乎无损地回传,叠得再深也不容易衰减。
  • “最少不比浅层差”。 如果新增的层没用,网络只要让 F(x) 接近 0,整体就退化成浅层网络。于是加深至少不会伤害性能,剩下的交给优化去赚。

和相邻概念的区别

概念做什么解决什么
残差连接输出 = 子层结果 相加 输入深层网络训不动、退化
普通跳跃连接泛指跨层连线,形式多样残差连接是其中最常见的一种
密集连接(DenseNet)跨层结果按通道 拼接特征复用
门控连接(Highway Network)用门控制保留多少输入目的类似,参数更多
归一化(Batch / Layer Norm)调整激活数值分布训练不稳、收敛慢

它们常一起出现,但职责不同:残差连接是结构设计,归一化是数值调节。

对从业者的实际意义

今天的深层模型几乎默认带残差连接。ResNet 靠它把网络推到上百层;Transformer 的每个子层也是 x + Sublayer(x) 再归一化,也就是常说的 Add & Norm。很难想象没有它,上百层的 Transformer 还能稳定训练。

两个实用经验:模型加深后效果反而变差,先检查残差路径是否通畅;梯度消失、爆炸频繁出现时,残差是第一道保险,梯度裁剪和归一化是后续补丁。

对非技术岗同样适用:任何多层级流程,如果要求每一级都“重新表述完整信息”,信息衰减是必然的。更好的设计是保留一条原始信息通道,每级只提交增量修改。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。