残差连接(Residual Connection)

将子层的输入直接加到其输出上(output = sublayer(x) + x),使梯度可以绕过子层直接回传。这个设计让Transformer能堆叠数十甚至上百层而不发生梯度消失,是深层网络训练的关键技术。

残差连接(Residual Connection)

一句话理解

把子层的输入直接"跳线"加到输出上,确保原始信息不丢失,梯度不消失。

公式

output=sublayer(x)+x\text{output} = \text{sublayer}(x) + xoutput=sublayer(x)+x

这个 "+x+ x+x" 就是残差连接——输出 = 子层加工后的结果 + 原始输入。

为什么需要残差连接

深层神经网络面临一个反直觉的问题:层数越多,效果反而可能变差(退化问题)。原因是梯度在反向传播时经过多层变换后逐渐消失或爆炸。

残差连接提供了一条梯度高速公路——梯度可以绕过中间层直接回传到底层,不会在层层变换中衰减。

在 Transformer 中的位置

Transformer 的每个子层(Self-Attention、FFN)都接了残差连接:

text
x → Self-Attention → + x → LayerNorm → FFN → + x → LayerNorm

这是 Transformer 能堆叠到 96 层(GPT-3)甚至更深的关键。

直觉类比

类似于流水线上的"旁路通道"——原料在经过加工站处理后,同时保留一份原始原料混合进去。即使加工站出了偏差,原始信号也不会完全丢失。

起源

残差连接由何恺明等人在 ResNet(2015)中提出,最初用于计算机视觉。Transformer 借鉴了这一设计。

引用本术语的文章