该问题归类到Transformer架构问题集——残差与归一化——归一化技术。请参考LLM数学推导——Transformer架构问题集。
在深度学习的神秘城堡中,归一化技术是打开高效训练大门的关键钥匙。前置归一化(Pre-LN)与后置归一化(Post-LN)作为城堡里的 “孪生守卫”,看似相似却有着截然不同的 “性格”,在模型训练中发挥着各异的作用。接下来,我们将深入探索这两种归一化方式,通过生动的语言、丰富的实例,详细推导它们在训练动态上的差异,为大家揭开深度学习训练优化的重要奥秘。
1. 前置归一化(Pre-LN)与后置归一化(Post-LN)基础概念
1.1 归一化技术的重要性
在深度学习模型训练过程中,随着网络层数的不断加深,数据的分布会发生变化,这种现象被称为 “内部协变量转移”。它就像训练道路上的 “拦路虎”,会导致梯度消失或爆炸等问题,使模型训练变得异常艰难。而归一化技术通过对数据进行特定变换,让数据分布更加稳定,为模型训练铺平道路,加速模型收敛,提升模型性能。
1.2 前置归一化(Pre-LN)
前置归一化,顾名思义,是在进入神经网络层的计算之前,先对输入数据进行归一化操作。以 Transformer 架构为例,在每个子层(如多头注意力层、前馈神经网络层)接收输入数据 x 后,首先进行归一化处理,得到归一化后的输入 ,然后再将
送入子层进行后续计算。其归一化公式与常见的 LayerNorm 类似,假设输入数据 x 的维度为 d,则均值
,方差
,归一化后的
,其中
是一个很小的常数,用于防止分母为零。
1.3 后置归一化(Post-LN)
后置归一化则是在神经网络层完成计算之后,对输出数据进行归一化。同样以 Transformer 架构为例,输入数据 x 先进入子层进行计算,得到输出 y,然后对 y 进行归一化处理,得到最终的输出 。它也是基于 LayerNorm