没有残差连接,深度网络几乎不可能训练——梯度会在多层之间消失或爆炸。残差连接提供了一条梯度高速公路,让信息(和梯度)能够直接从早期层流向后期层,绕过任意数量的中间变换。这就是我们能够训练100层以上网络的原因。
残差连接由ResNet(He et al., 2015)引入,解决了"退化问题":更深的网络表现比浅层网络差,不是因为过拟合,而是因为优化变得更困难。核心洞察:学习f(x) = 0(残差为零,直接传递输入)比学习f(x) = x(完美复现输入)更容易。残差连接使恒等函数成为默认,每一层只需学习有用的修改。
每个Transformer层应用两个残差连接:一个围绕注意力子层(x + attention(x)),一个围绕前馈子层(x + ffn(x))。这意味着第1层的输入有一条直接的加法路径到达第32层的输出——它在每一步都被加回。这个"残差流"是机械可解释性中的核心概念:每一层从这个共享流中读取和写入,最终输出是所有层贡献的总和。
将Transformer视为一个残差流,各层在其中读写(而非顺序管道),会改变你对架构的理解。注意力层在流中的不同位置之间移动信息。前馈网络层在每个位置变换信息。最终输出是原始输入加上所有层的所有修改。这种视角解释了为什么你通常可以移除层而影响有限——即使跳过了个别层,残差流仍保留信息。