A well-known explanation of the success of LayerNorm is its re-centering and re-scaling invariance property.
Re-centering enables the model to be insensitive to shift noises on both inputs and weights,
Re-scaling keeps the output representations intact when both inputs and weights are randomly scaled.
In this paper, we hypothesize that the re-scaling invariance is the reason for success of
LayerNorm, rather than re-centering invariance.
We propose RMSNorm which only focuses on re-scaling invariance and regularizes the summed
inputs simply according to the root mean square (RMS) statistic
BatchNorm、LayerNorm、RMSNorm 是深度学习中常用的归一化方法,它们在作用、常用场景、公式、优缺点和设计目标上既有区别又有联系。
- BatchNorm(批归一化)
- 作用:通过对每个训练小批量数据的均值和方差进行标准化,减少内部协变量偏移,稳定网络训练,加速模型收敛。在训练时,利用小批量数据的统计信息对输入进行归一化,使各层输入分布更稳定,避免梯度消失或爆炸,提升模型训练效率和性能。
- 常用场景:适用于 CNN(卷积神经网络)等批量处理数据的模型,在图像识别任务中应用广泛,能有效提高模型训练速度和精度。但处理变长序列(如 RNN 处理的文本序列)时存在困难,因为其依赖批量数据的统计信息,不同样本长度不同会影响归一化效果。
- 公式:对输入x ,x^=σB2+ϵx−μBγ+β 。其中μB 、σB2 是小批量B 的均值和方差,ϵ 是防止除零的小常数,γ 和β 是可学习的参数。
- 优点:显著加速模型收敛,使网络训练更稳定,允许使用更大的学习率,提升训练效率;在 CNN 中能有效减少内部协变量偏移,提高模型泛化能力。
- 缺点:依赖批量统计信息,不适用于处理变长序列数据,在 RNN 中应用需特殊处理;训练和推理时统计信息计算方式不同,可能导致模型性能差异。
- 设计目标:解决深度学习训练中内部协变量偏移问题,通过归一化批量数据的输入分布,稳定模型训练过程,提高模型训练速度和泛化能力。
- LayerNorm(层归一化)
- 作用:对神经网络某一层的所有神经元输入进行归一化,稳定神经元动态范围,确保训练稳定,帮助模型更快收敛。它独立计算每一层输入的均值和方差,不依赖其他层或训练样本间的关系,使模型对输入变化更鲁棒。
- 常用场景:常用于 RNN(循环神经网络)及其变体(如 LSTM、GRU)处理序列数据,如自然语言处理中的机器翻译、文本分类任务。在处理变长序列时表现出色,因为它基于每层自身输入计算统计信息,不受序列长度变化影响。
- 公式:给定输入向量x ,ai=σai−μgi ,yi=f(ai+bi) 。其中ai 是未归一化输入,μ=n1∑i=1nai 是均值,σ=n1∑i=1n(ai−μ)2 是标准差,gi 是增益参数,bi 是偏置,f(⋅) 是非线性激活函数。
- 优点:计算简单,不依赖训练样本间关系,易于实现和应用;能有效处理变长序列数据,在 RNN 中表现良好;增强模型对输入噪声和权重扰动的鲁棒性。
- 缺点:计算均值和方差的操作增加了计算量,在大规模深层网络中,会导致训练效率降低,计算开销较大。
- 设计目标:解决深层神经网络训练中神经元动态范围不稳定问题,通过对每层输入归一化,稳定模型训练,提高模型收敛速度和性能,尤其针对 RNN 处理变长序列的场景。
- RMSNorm(均方根归一化)
- 作用:仅根据均方根(RMS)统计量对神经元输入进行归一化,保持重新缩放不变性,稳定层激活值,提升模型训练效率,同时具备隐式学习率自适应能力。
- 常用场景:适用于各种深度神经网络架构,在自然语言处理(如机器翻译、阅读理解)和计算机视觉(如图像分类、图像字幕检索)等任务中都有应用。在对计算效率要求较高的场景中优势明显,能在不损失太多性能的前提下加快模型训练速度。
- 公式:ai=RMS(a)aigi ,其中RMS(a)=n1∑i=1nai2 。
- 优点:计算比 LayerNorm 更简单,减少了计算量,提高了训练效率;在实验中与 LayerNorm 性能相当,但运行速度提升 7% - 64%;对输入和权重矩阵的重新缩放具有不变性,稳定层激活值,有助于模型训练。
- 缺点:去除了均值归一化操作,在某些情况下可能导致模型对输入偏移更敏感;部分 RMS 估计(如 pRMSNorm)可能存在梯度不稳定问题,尤其在使用较小比例输入计算 RMS 时。
- 设计目标:简化 LayerNorm 的计算过程,在保持重新缩放不变性的基础上,减少计算开销,提高模型训练效率,同时探索更高效的归一化方式,使其能广泛应用于不同任务和模型架构。