神经网络Transformer架构中的层归一化
字数 825 2025-11-18 23:19:31

神经网络Transformer架构中的层归一化

层归一化是一种用于稳定神经网络训练过程的技术。让我们从基础概念开始理解它的作用原理:

首先,层归一化解决的是神经网络中的内部协变量偏移问题。在深度神经网络中,每一层的输入分布会随着前一层参数更新而不断变化,这导致训练过程变得不稳定。层归一化通过对每一层的输入进行重新中心化和重新缩放,使其保持稳定的分布。

接下来,我们来看层归一化的具体计算步骤:

  1. 对于一个包含H个隐藏单元的层,计算该层所有隐藏单元的均值:μ = (1/H)∑_{i=1}^H x_i
  2. 计算该层所有隐藏单元的标准差:σ = √[(1/H)∑_{i=1}^H (x_i - μ)^2 + ε],其中ε是一个极小的常数,防止除以零
  3. 对每个隐藏单元进行归一化:x̂_i = (x_i - μ)/σ
  4. 应用可学习的缩放和偏移参数:y_i = γx̂_i + β,其中γ和β是训练过程中学习的参数

现在,让我们比较层归一化与其他归一化方法的区别:

  • 批归一化沿着批次维度归一化,对批次大小敏感
  • 层归一化沿着特征维度归一化,不受批次大小影响
  • 实例归一化对每个样本的每个通道单独归一化
  • 组归一化是层归一化和实例归一化的折中方案

在Transformer架构中,层归一化被应用在两个关键位置:

  1. 在多头注意力机制之后,即残差连接之后
  2. 在前馈神经网络之后,同样是残差连接之后

这种设计形成了Transformer的经典结构:子层→残差连接→层归一化。层归一化在这里的作用是稳定梯度流动,使得深层网络训练更加稳定。

层归一化的优势还体现在:

  • 训练和推理时行为一致,不需要像批归一化那样区分两种模式
  • 对小批次训练更加友好
  • 在序列模型中表现优异,特别是对于变长序列处理

最后,层归一化的数学性质保证了网络的表达能力不会因为归一化而受损。通过学习参数γ和β,网络可以保留对原始表示的转换能力,甚至学习到恒等变换,确保归一化不会限制模型的表达能力。

神经网络Transformer架构中的层归一化 层归一化是一种用于稳定神经网络训练过程的技术。让我们从基础概念开始理解它的作用原理: 首先,层归一化解决的是神经网络中的内部协变量偏移问题。在深度神经网络中,每一层的输入分布会随着前一层参数更新而不断变化,这导致训练过程变得不稳定。层归一化通过对每一层的输入进行重新中心化和重新缩放,使其保持稳定的分布。 接下来,我们来看层归一化的具体计算步骤: 对于一个包含H个隐藏单元的层,计算该层所有隐藏单元的均值:μ = (1/H)∑_ {i=1}^H x_ i 计算该层所有隐藏单元的标准差:σ = √[ (1/H)∑_ {i=1}^H (x_ i - μ)^2 + ε ],其中ε是一个极小的常数,防止除以零 对每个隐藏单元进行归一化:x̂_ i = (x_ i - μ)/σ 应用可学习的缩放和偏移参数:y_ i = γx̂_ i + β,其中γ和β是训练过程中学习的参数 现在,让我们比较层归一化与其他归一化方法的区别: 批归一化沿着批次维度归一化,对批次大小敏感 层归一化沿着特征维度归一化,不受批次大小影响 实例归一化对每个样本的每个通道单独归一化 组归一化是层归一化和实例归一化的折中方案 在Transformer架构中,层归一化被应用在两个关键位置: 在多头注意力机制之后,即残差连接之后 在前馈神经网络之后,同样是残差连接之后 这种设计形成了Transformer的经典结构:子层→残差连接→层归一化。层归一化在这里的作用是稳定梯度流动,使得深层网络训练更加稳定。 层归一化的优势还体现在: 训练和推理时行为一致,不需要像批归一化那样区分两种模式 对小批次训练更加友好 在序列模型中表现优异,特别是对于变长序列处理 最后,层归一化的数学性质保证了网络的表达能力不会因为归一化而受损。通过学习参数γ和β,网络可以保留对原始表示的转换能力,甚至学习到恒等变换,确保归一化不会限制模型的表达能力。