当前 token 的上一阶段表示
Residual、LayerNorm 与 FFN:Attention 之外的另一半
很多人第一次学 Transformer 时,会把注意力机制当成全部重点。但一个 Block 真正稳定、可训练、且能持续提炼表示,靠的不只是 Attention,还靠残差连接保留主干、LayerNorm 稳住尺度,以及 FFN 在每个 token 内部再做一层小网络加工。
追踪同一个 token 穿过三个组件
看懂“保留、归一、再加工”
补齐 Attention 之外的直觉
先盯住一个 token,看这三个组件分别做什么
选择一个组件,再选择当前要追踪的 token。下面会直接展示它在进入该组件前后的向量变化。建议先看 Residual,再看 LayerNorm,最后看 FFN,这样会更接近真实 Block 里的处理顺序。
当前 token 的新表示
Residual:它不是重复,而是在主干上叠加增量
拖动下面的滑块,改变“新信息增量”叠回主干的强度。你会看到,Residual 的关键不是替换掉旧表示,而是在保留原表示的同时,把新学到的变化量加回去。
调节增量强度
增量系数 λ
1.00
输出向量会怎样变化
LayerNorm:它不是增加知识,而是在整理数值尺度
LayerNorm 会对每个 token 自己那一行做归一化,不跨 token 混信息。下面左边是进入归一化前的矩阵,右边是归一化后的矩阵。高亮行是你当前追踪的 token。
当前 token 的维度变化
LayerNorm 后的维度变化
FFN:每个 token 自己再过一层小网络
FFN 不负责跨 token 沟通,那是 Attention 的工作。FFN 做的是:把每个 token 当前已经拿到的表示,送进同一套小网络里,再提炼出更强的局部特征。你可以把它理解成“每个 token 各自拥有一台共享参数的小加工机”。
当前 token 的隐藏层
这一层在提炼什么
学完这一页,最好记住三件事
Residual 负责留住主干
它让新信息以“增量”的形式叠回旧表示,而不是把旧表示整块丢掉,这也是深层网络更容易训练的重要原因之一。
LayerNorm 负责把数值收拾整齐
它不新增语义,但会让每个 token 的内部数值分布更稳定,后面的子层更容易在可控尺度上继续工作。
FFN 负责在 token 内部再加工
Attention 负责“看别人”,FFN 负责“加工自己”。两者配合起来,Block 才既能整合上下文,也能继续提炼局部特征。