大模型原理--残差连接与归一化
1.概述
在Transformer的每个编码器层中,每个子层,包括自注意力子层和前馈神经网络子层,其输出都要经过残差连接(Residual Connection)和层归一化(Layer Normalization)处理。这两者是深层神经网络中常用的结构,用于缓解模型训练中的梯度消失、收敛困难等问题,对于Transformer能够堆叠多层至关重要。
2. LayerNorm
2.1 Transformer使用的层归一化(Layer Normalization,简称 LayerNorm)主要作用是规范输入序列中每个token的特征分布(某个token的表示可能在不同维度上有较大数值差异),提升模型训练的稳定性。该操作会将每个token的向量调整为均值为 0、方差为 1 的标准分布。如果原token的特征分布为正态分布的话,经过层归一化后,就会变成标准正态分布。而正态分布又是自然界一种很普遍的分布。
具体计算过程:
假如某个token的特征向量为x=[x1,x2,x3,x4,...,xd],



2.2 RMSNorm
RMSNorm(Root Mean Square Normalization,均方根归一化)去除了均值标准化操作,仅基于输入特征的均方根(RMS)进行缩放。实践表明去除均值(实践观察均值本来就接近0)不会影响模型性能,反而带来更稳定、更高效的归一化形式。所以归一化后的数据趋向于标准正态分布。目前,RMSNorm 已成为主流 LLM 中最常用的归一化方式。

3. 残差连接
残差连接(Residual Connection)是用于缓解深层神经网络中的梯度消失问题。其数学形式为:y = x+SubLayer(x)。残差连接确保反向传播时,梯度至少有一条稳定通路。
4. 残差和归一化放置位置

4.1 从数据分布的角度
Transformer的注意力机制的核心打分公式如下:

4.1.1相关性评分方法的科学性
点积评分是注意力机制中最简单、最直接的一种相关性评分方法。其含义可以理解为:如果两个向量方向越一致(即越接近),它们的点积就越大,表示相关性越强,模型应当给予更多注意力。
数学理论基础来源于
![]()
假设向量A中的Ai符合标准正态分布均值为 0、方差为 1和向量B中的Bi符合标准正态分布均值为 0、方差为 1:
第一步Ai2的分布就趋向于自由度为dk的卡方分布,所以Ai2均值为dk。Bi2的分布就趋向于自由度为dk的卡方分布,所以Bi2均值为dk。
第二步
等于dk2,dk为常量,矩阵中的所有向量的维度必然相同。所以A.B=cos(θ)dk2,量化了相关性。
从上面得出只要Query和Key内的各个向量里面的元素在向量内部的分布符合标准正态分布,
得出的结构不仅可以表示相关性,并且相似性已经量化,量纲上具有可比性。
4.1.2 评分公式中除以
的科学支撑
假设Query矩阵中向量q,q中的qi符合标准正态分布均值为 0、方差为 1和Key矩阵中向量k,向量k中的kj符合标准正态分布均值为 0、方差为 1:
第一步
得到的新向量s,s内的元素的分布服从于自由度为dk的正态分布,所以向量s分布的特点是均值为0,方差为dk.
第二步随着dk的增长,就会比较大的值Vmax的概率就会增大。考虑到下一步模型会使用 softmax 函数进行归一化,参看下面的公式,eVmax值比例会接近于1,向量内的其他元素几乎贡献梯度为0。
第三步为了解决上面问题,将向量s的分布标准化,只需要将s各个元素除以
(s的标准差)。新的s分布服从标准正态分布和dk无关。
从上面得出只要Query和Key内的各个向量里面的元素在向量内部的分布符合标准正态分布,
解决了softmax 函数的梯度问题,score也服从标准正态分布。
4.1.3 基于Query矩阵中向量q,q中的qi服从标准正态分布和Key矩阵中向量k,向量k中的kj服从标准正态分布。输入X经过层归一化后符合标准正态分布。W的初始化之后的分布,就需要特别的设计。假设W的初始化方式选择正态分布,均值为0,方差未知。假设方差是1,则W服从标准正态分布。则xi.wj符合正态分布,均值为0,方差为dk。为了使xi.wj服从标准正态分布,所以wj除以
。所以得出W的初始化方式选择正态分布,均值为0,标准差为(1/
)。而Xavier正态分布初始化:均值为0,标准差为
。He正态分布初始化:均值为0,标准差为
的正态分布。所以对输入X的层归一化后是让Query矩阵中向量q,q中的qi趋向于标准正态分布和Key矩阵中向量k,向量k中的kj趋向于标准正态分布的关键。
4.2 从梯度反向传播的角度
4.2.1 Post Norm
Post Norm是Transformer中最初采用的归一化放置方式,其结构是在子层(如Self-Attention或FFN)计算完成并与残差相加之后,再对结果进行归一化处理。

由于归一化操作会对输入进行缩放、标准化等处理,梯度在回流时也会被相应扰动,使原本应保持恒等的梯度路径不再保持为 1,从而削弱了残差连接提供的稳定梯度通道。
4.2.2 Pre Norm
Pre Norm是在进入子层(如 Self-Attention 或 FFN)之前先对输入进行归一化,然后再执行子模块计算并与残差相加:

4.2.3 Post Norm in Residual
与传统 Post Norm 的相比,它依然将归一化作用在子层输出之后,但归一化的位置被移动到残差路径内部:

4.3 正是上述考虑,Pre Norm在现代 LLM 中成为了事实上的标准结构,被广泛采用。
- 点赞
- 收藏
- 关注作者
评论(0)