残差流的本质

残差流的本质:Transformer的信息高速公路

本文档整理了关于“残差流 (Residual Stream)”这一核心概念的深入讲解和探讨。理解残差流是理解现代深度神经网络(尤其是 Transformer)运作方式的钥匙。

1. 核心思想:像“审阅文档”一样处理信息,而不是“重写”

  • 传统方式(没有残差流):每一层网络都对输入信息进行一次彻底的“重写”。经过多层传递后,原始信息可能被严重扭曲或丢失,这是“梯度消失”和“信息瓶颈”的根源。
  • 残差流方式:信息在一个“信息主干道”(即残差流)上传递。每一层网络(如注意力层)只能阅读主干道上的信息,然后提交它的“修改建议”(即残差, Residual)。这个“修改建议”随后被添加回主干道中,形成更新后的版本。
    • 公式: Output = Input + F(Input)
    • Input: 来自主干道的原始信息。
    • F(Input): 当前网络层计算出的“修改建议”或“新知识”。
    • +: 残差连接的核心,将新知识“添加”回主干道。

通过这种方式,残差流确保了原始信息和后续添加的所有信息能够顺畅地、无损地贯穿整个网络。

2. 为什么残差流如此重要?

  1. 解决了梯度消失问题:梯度可以通过残差连接的“快捷通道”直接跳跃式地向后传播,完全不受中间层复杂计算的影响。这就像一条梯度的“高速公路”,确保了梯度能够顺畅地传遍整个深度网络,使得训练数百甚至数千层的网络成为可能。

  2. 让网络更容易学习:如果某一网络层暂时没什么用,它只需要学会输出一个零向量F(Input) = 0)即可,因为 Output = Input + 0,信息就原封不动地流过去了。让网络学会输出0,比学会完美复制(恒等映射 F(Input) = Input)要容易得多。

  3. 实现跨层信息通信:由于信息是累加的,模型中靠后的层可以轻易地访问到前面所有层写入到残差流中的信息。这使得模型可以组合利用不同处理阶段的信息,进行更复杂的计算和推理。


Brainstorm Q&A: 残差流的通路

问:没有通路可以直接不做任何操作达到最后吧?

答: 你提出了一个极为精准且深刻的观点!完全正确。并不存在一条“完全不做任何操作”的通路能直达最后。

“信息高速公路”的比喻是为了帮助理解其核心思想——即信息主体被完整保留。但为了技术上的严谨性,我们必须认识到,即使在这条主干道上,信息流也必须经过几个强制的、虽然简单但至关重要的操作站。

在一个标准的 Transformer 块(Pre-Norm 结构)中,信息流至少要经过以下两个不可跳过的操作:

  1. 加法操作 (+) 本身就是一个操作

    • 信息被改变了:即使“修改建议” F(Input) 的值非常小,但只要它不是严格的零,Input 经过加法后,其向量值就已经发生了改变。
    • 信息在融合:这个加法操作是信息融合点。在这里,来自主干道的“原始信息”和来自旁路计算的“新知识”被合并成一个新的、更丰富的隐藏状态。
  2. 层归一化 (Layer Normalization)

    • 在现代 Transformer 架构中(特别是 Pre-Norm 结构),在将信息送入任何复杂计算模块(如自注意力或MoE层)之前,都必须先经过一次层归一化。
    • 这可以被看作是一种数据“清洁”或“校准”的过程,它会调整隐藏状态向量中的数值,以稳定模型的训练过程。

结论:信息流 vs. 梯度流

这里需要做一个关键区分:

  • 对于信息流(前向传播):你的理解是100%正确的。信息必须在每个块中与该块的计算结果进行交互(通过加法),并且通常还要经过层归一化。它总是在被“编辑”,无法原封不动地到达最后。

  • 对于梯度流(反向传播):这才是残差连接真正的魔力所在。在求导时,加法操作的梯度是1。这意味着梯度可以几乎无损地通过 Input 这条路径直接向后传递,绕过了 F(Input) 那个复杂计算路径可能带来的梯度衰减。所以,“高速公路”或“直连通路”这个比喻,对于“梯度”的传递来说,比对“信息”的传递更为贴切。

总结你的洞察:残差流并不是一条让信息可以“什么都不做就躺着通过”的通道,而是一条确保信息主体不丢失、同时又能被稳定地、增量式地进行编辑和丰富的核心通路。


整理自: WordNet:历久弥新


残差流的本质
http://zl1bks.github.io/2025/09/20/残差流的本质/
作者
zl1bks
发布于
2025年9月20日
许可协议