[论文笔记]Root Mean Square Layer Normalization

这篇具有很好参考价值的文章主要介绍了[论文笔记]Root Mean Square Layer Normalization。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

今天带来论文Root Mean Square Layer Normalization的笔记,论文题目是均方根层归一化。

本篇工作提出了RMSNorm,认为可以省略重新居中步骤。

简介

层归一化对Transformer等模型非常重要,它可以帮助稳定训练并提升模型收敛性,因为它能够处理输入和权重矩阵的重新居中(re-centering)和重新缩放(re-scaling)。然而,LayerNorm引入的计算开销使这些改进变得昂贵,并且严重减慢了底层网络的速度。

[论文笔记]Root Mean Square Layer Normalization,# 大模型[论文],论文阅读

对于少量归一化层的小型和浅层神经模型来说,这个问题是微不足道的。但当底层网络变得更大更深时,这个问题就变得严重了。

因此,从更快、更稳定的训练(以训练步骤的数量为衡量)中获得的效率提升被每个训练步骤增加的计算成本所抵消,这降低了净效率,如图1所示。

在本篇工作中,作者提出了均方根层归一化(MSNorm),它仅使用均方根统计数据对一层中神经元的总输入进行正则化。与LayerNorm相比,RMSNorm减少了计算量,提高了效率。尽管公式更简单,但RMS归一化器有助于稳定层激活的幅度,确保对权重和数据集的重新缩放具有不变性。

背景知识

本节简要回顾了基于标准前馈神经网络的LayerNorm。给定一个输入向量 x ∈ R m \pmb x \in \R^m xxxRm,一个前馈网络通过线性变换将其投影到一个输出向量 y ∈ R n \pmb y ∈ \R^n yyyRn​,然后通过非线性激活进行如下处理:
a i = ∑ j = 1 m w i j x j , y i = f ( a i + b i ) (1) a_i = \sum_{j=1}^m w_{ij}x_j, \quad y_i = f(a_i +b_i) \tag 1 ai=j=1mwijxj,yi=f(ai+bi)(1)
其中 w i w_i wi是第 i 个输出神经元的权重向量, b i b_i bi是通常初始化为0的偏置标量, f ( ⋅ ) f(\cdot) f()是逐元素的非线性函数。$\pmb a ∈ \R^n $​表示神经元的加权和输入,也是归一化的目标。

这个普通的网络可能会遭受内部协变量偏移问题,即随着前面的层被更新,某一层的输入分布也会发生变化。这可能会对参数的梯度稳定性产生负面影响,延迟模型的收敛。为了减少这种偏移,LayerNorm 对输入进行归一化,使其均值和方差保持不变,具体如下:
a ˉ i = a i − μ σ g i , y i = f ( a ˉ i + b i ) (2) \bar a_i = \frac{a_i -\mu}{ \sigma} g_i,\quad y_i = f(\bar a_i +b_i) \tag {2} aˉi=σaiμgi,yi=f(aˉi+bi)(2)

其中 a ˉ i \bar a_i aˉi是向量 a ˉ ∈ R n \bar {\pmb a} \in \R^n aaaˉRn的第 i 个值,它作为 a i a_i ai在层激活中的归一化替代值。 g ∈ R n \pmb g ∈ \R^n gggRn 是用于重新缩放标准化的加权和输入的增益参数,初始值设为1。 µ µ µ σ 2 σ^2 σ2分别是从原始加权和输入 a \pmb a aaa估计得出的均值和方差统计量:
μ = 1 n ∑ i = 1 n a i , σ = 1 n ∑ i = 1 n ( a i − μ ) 2 (3) \mu = \frac{1}{n} \sum_{i=1}^n a_i,\quad \sigma = \sqrt{\frac{1}{n} \sum_{i=1}^n (a_i -\mu)^2} \tag 3 μ=n1i=1nai,σ=n1i=1n(aiμ)2 (3)

RMSNorm

LayerNorm成功的一个著名解释是其重新居中和重新缩放不变性属性。前者使得模型对于输入和权重上的偏移噪声不敏感,而后者在输入和权重都被随机缩放时保持输出表示不变。在本文中,作者假设重新缩放不变性是LayerNorm成功的原因,而不是重新居中不变性。

作者提出了RMSNorm,它仅关注重新缩放不变性,并根据均方根统计量简单地对加权和输入进行正则化:
a ˉ i = a i RMS ( a ) g i (4) \bar a_i = \frac{a_i }{ \text{RMS}(\pmb a)} g_i \tag 4 aˉi=RMS(aaa)aigi(4)
其中 RMS ( a ) \text{RMS}(\pmb a) RMS(aaa)为:
RMS ( a ) = 1 n ∑ i = 1 n a i 2 (4.1) \text{RMS}(\pmb a) =\sqrt{\frac{1}{n} \sum_{i=1}^n a_i^2} \tag {4.1} RMS(aaa)=n1i=1nai2 (4.1)
对比公式(4)和(2)发现,确实只是去掉了均值 μ \mu μ。RMSNorm通过完全删除公式(3)中的均值统计量简化了LayerNorm。当加权和输入的均值为零时,RMSNorm与LayerNorm完全相等。虽然RMSNorm不像LayerNorm那样重新居中加权和输入,但通过实验证明,这个属性并不是LayerNorm成功的根本原因,而且RMSNorm同样或更加有效。

RMS测量输入的平方均值,在RMSNorm中,它将加权和输入强制缩放到一个 n \sqrt n n 倍的单位球中。通过这样做,输出分布不受输入和权重分布的缩放影响,有利于层激活的稳定性。虽然欧几里得范数与RMS仅差一个 n \sqrt n n 的因子,已经成功应用于一些领域,但经验证明,它在层归一化中并不奏效。

作者假设根据输入向量的大小来缩放单位球是重要的,因为它使得归一化在不同大小的向量之间更加鲁棒。

不变性分析

[论文笔记]Root Mean Square Layer Normalization,# 大模型[论文],论文阅读

不变性衡量模型在归一化后输出是否高度按照其输入和权重矩阵变化。不同的归一化方法显示出不同的不变性属性,这对模型的稳健性贡献很大。

我们考虑RMSNorm的以下一般形式:
y = f ( W x RMS ( a ) ⊙ g + b ) (5) y = f\left( \frac{W\pmb x}{\text{RMS}(\pmb a)} \odot \pmb g + \pmb b \right) \tag 5 y=f(RMS(aaa)Wxxxggg+bbb)(5)
其中 ⊙ ⊙ 表示逐元素相乘。主要结果总结在表1中。由于RMS的以下线性性质,RMSNorm对于权重矩阵和输入的重新缩放都是不变的:
RMS ( α x ) = α RMS ( x ) (6) \text{RMS}(\alpha \pmb x)= \alpha \text{RMS}(\pmb x) \tag 6 RMS(αxxx)=αRMS(xxx)(6)

其中 α \alpha α是缩放值。假设权重矩阵通过一个因子 δ \delta δ缩放,比如, W ′ = δ W W^\prime = \delta W W=δW,那么这个改变不会影响最终层输出:
y ′ = f ( W ′ x RMS ( a ′ ) ⊙ g + b ) = f ( δ W x δ RMS ( a ) ⊙ g + b ) = y (7) \pmb y^\prime =f\left( \frac{W^\prime\pmb x}{\text{RMS}(\pmb a^\prime)} \odot \pmb g + \pmb b \right) =f\left( \frac{\delta W\pmb x}{\delta \text{RMS}(\pmb a)} \odot \pmb g + \pmb b \right)=\pmb y \tag 7 yyy=f(RMS(aaa)Wxxxggg+bbb)=f(δRMS(aaa)δWxxxggg+bbb)=yyy(7)
相比之下,如果仅对个别权重向量进行缩放,这个性质就不再成立,因为不同的缩放因子会破坏RMS的线性性质。同样地,如果我们强制对输入进行一个因子为 δ δ δ的缩放,比如 x ′ = δ x \pmb x^\prime = δ\pmb x xxx=δxxx,通过与公式(7)类似的分析,RMSNorm的输出将保持不变。我们还可以轻松地将这个等式推广到基于批次的输入以及整个数据集。因此,RMSNorm对于其输入的缩放是不变的。

与LayerNorm的主要区别在于,RMSNorm没有重新居中,因此在变量偏移方面没有类似的线性性质。它不对所有重新居中操作都具有不变性。

梯度分析

上述分析仅考虑了输入缩放和权重矩阵对层输出的影响。然而,在一般情况下,通过标准的随机梯度下降方法来训练经过RMSNorm增强的神经网络,模型梯度的稳健性对于参数更新和模型收敛非常关键。

Santurkar等人认为归一化方法的成功并不是因为增加了对层输入的稳定性,而是由于优化过程的平滑性增加。

我们研究RMSNorm中模型梯度的性质。给定一个损失函数KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L,我们通过公式(4)进行反向传播,得到参数 g \pmb g ggg b \pmb b bbb的梯度如下:
∂ L ∂ b = ∂ L ∂ v , ∂ L ∂ g = ∂ L ∂ v ⊙ W x RMS ( a ) (8) \frac{\partial \mathcal L}{\partial \pmb b} = \frac{\partial \mathcal L}{\partial \pmb v}, \quad \frac{\partial \mathcal L}{\partial \pmb g} = \frac{\partial \mathcal L}{\partial \pmb v} \odot \frac{W \pmb x}{\text{RMS}(\pmb a)} \tag 8 bbbL=vvvL,gggL=vvvLRMS(aaa)Wxxx(8)
其中, v \pmb v vvv代表公式(4)中 f ( ⋅ ) f(\cdot) f()内部的整个表达式, ∂ L / ∂ v ∂\mathcal L/∂\pmb v L/vvv是从KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲L v \pmb v vvv的反向传播梯度。无论对于输入 x \pmb x xxx的缩放还是对于权重矩阵 W W W(对于 ∂ L / ∂ g ∂ \mathcal L/∂\pmb g L/ggg来说,是因为公式(6)中的线性性质),梯度KaTeX parse error: Undefined control sequence: \cal at position 2: ∂\̲c̲a̲l̲ ̲L/∂\pmb bKaTeX parse error: Undefined control sequence: \cal at position 2: ∂\̲c̲a̲l̲ ̲L/∂\pmb g都是不变的。此外, g \pmb g ggg的梯度与归一化的输入之和成正比,而不是原始输入。这增强了 g \pmb g ggg的幅度稳定性。

与这些向量参数不同,权重矩阵W的梯度由于RMS中的二次计算而更加复杂。具体来说,
∂ L ∂ W = ∑ i = 1 n [ x ⊤ ⊗ ( diag ( g ⊙ ∂ L ∂ v ) × R ) ] (9) \frac{\partial \mathcal L}{\partial W} = \sum_{i=1}^n \left[\pmb x^\top \otimes \left( \text{diag}\left( \pmb g \odot \frac{\partial \mathcal L}{\partial \pmb v}\right) \times R\right) \right] \tag 9 WL=i=1n[xxx(diag(gggvvvL)×R)](9)
其中
R = 1 RMS ( a ) = ( I − ( W x ) ( W x ) ⊤ n RMS ( a ) 2 ) (9.1) R = \frac{1}{\text{RMS}(\pmb a)} = \left( \pmb I - \frac{(W \pmb x)(W \pmb x)^\top}{n \text{RMS}(\pmb a)^2} \right) \tag{9.1} R=RMS(aaa)1=(IIInRMS(aaa)2(Wxxx)(Wxxx))(9.1)

diag ( ⋅ ) \text{diag}(\cdot) diag()表示输入的对角矩阵, ⊗ \otimes 表示克罗内克内积,而 I \pmb I III​表示单位矩阵。

为了清晰起见,使用 × \times ×表示矩阵乘法。矩阵项 R R R W W W的梯度与输入 x \pmb x xxx和权重矩阵 W W W联系起来。通过彻底分析,我们可以证明该项与输入和权重矩阵的缩放呈负相关。在将输入 x ( x ′ = δ x ) \pmb x(\pmb x^\prime = δ\pmb x) xxxxxx=δxxx)或权重矩阵 W ′ = δ W W^\prime = \delta W W=δW分配一个因子 δ δ δ的尺度后,我们有以下关系:
R ′ = 1 δ RMS ( a ) ( I − ( δ W x ) ( δ W x ) ⊤ n δ 2 RMS ( a ) 2 ) = 1 δ R (10) R^\prime =\frac{1}{\delta \text{RMS}(\pmb a)} \left( \pmb I - \frac{(\delta W \pmb x)(\delta W \pmb x)^\top}{n \delta ^2\text{RMS}(\pmb a)^2} \right) = \frac{1}{\delta } R \tag{10} R=δRMS(aaa)1(IIInδ2RMS(aaa)2(δWxxx)(δWxxx))=δ1R(10)
如果我们将缩放后的 R ′ R^\prime R项放回到公式(9)中,可以轻松证明梯度 ∂ L / ∂ W ∂\mathcal L/∂W L/W对于输入缩放是不变的,但与权重矩阵的缩放呈负相关。

减少梯度 ∂ L / ∂ W ∂\mathcal L/∂W L/W​对于输入缩放的敏感性可以确保其平滑性,并提高学习的稳定性。另一方面,负相关作为一个隐式的学习率适应器,动态地控制梯度的范数,避免了范数较大的权重矩阵,提高了模型的收敛性。

结论

本文介绍了RMSNorm,保留了LayerNorm的重新缩放不变性属性,但舍弃了重新居中不变性属性。与LayerNorm相比,采用RMSNorm的模型的计算开销较小,可以作为LayerNorm的替代方案,轻松应用于不同的模型架构。

总结

⭐ 作者在层归一化的基础上移除掉均值相关项,得到了RMSNorm。然后通过实现证明其效果还不错。文章来源地址https://www.toymoban.com/news/detail-854839.html

到了这里,关于[论文笔记]Root Mean Square Layer Normalization的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 回声消除(AEC)原理、算法及实战——LMS(Least Mean Square)

    回声消除是语音通信前端处理中的一种重要技术,产生的原因是:在实时音视频通话中,扬声器播放的声音有再次录进了麦克风去。 在即时通讯应用中,需要进行双方,或是多方的实时语音交流,在要求较高的场合,通常都是采用外置音箱放音,这样必然会产生回音,即一方

    2024年02月04日
    浏览(55)
  • Batch Normalization、Layer Normalization代码实现

          BN(Batch Normalization)主要目的是为了解决训练深层神经网络慢的问题。我们可以神经网络整体可以看成一个高阶的复杂函数,通过训练优化它的参数,可以用于拟合各种复杂的数据分布。一般而言,一个网络会有多层,其中的每一层都可以看成一个子函数,用于拟合其各

    2024年01月16日
    浏览(43)
  • [论文笔记]Batch Normalization

    本文是论文神作Batch Normalization的阅读笔记,这篇论文引用量现在快50K了。 由于上一层参数的变化,导致每层输入的分布会在训练期间发生变化,让训练深层神经网络很复杂。这会拖慢训练速度,因为需要更低的学习率并小心地进行参数初始化,使得很难训练这种具有非线性

    2024年02月12日
    浏览(44)
  • 【模型压缩】 LPPN论文阅读笔记

    LPPN: A Lightweight Network for Fast Phase Picking  深度学习模型的问题在于计算复杂度较高,在实际数据处理中需要面临较高的处理代价,且需要专用的加速处理设备,如GPU。随着数据累积,迫切需要设计一种能够保证精度的轻量化高速震相拾取模型,以提高处理海量数据的效率,这

    2024年02月16日
    浏览(42)
  • 【论文阅读笔记】Mamba模型代码理解

    官方实现:state-spaces/mamba (github.com) 最简化实现:johnma2006/mamba-minimal: Simple, minimal implementation of the Mamba SSM in one file of PyTorch. (github.com) 直接实现:alxndrTL/mamba.py: A simple and efficient Mamba implementation in PyTorch and MLX. (github.com) 官方代码做了大量优化,目录层级较多,对于理解模型含

    2024年04月13日
    浏览(70)
  • 【论文阅读】RevIN - Reversible Instance Normalization for Accurate Time-Series Forecasting Against Distrib

    发表信息:ICLR 2022 论文地址:https://openreview.net/forum?id=cGDAkQo1C0p 时间序列预测中的主要挑战之一是数据分布漂移问题(distribution shift problem),即数据分布,比如数据的均值方差等,会随着时间而变化,这会给时序预测问题造成一定的难度(这类数据也成为非平稳数据non-sta

    2024年02月14日
    浏览(56)
  • 多模态大模型-CogVLm 论文阅读笔记

    论文地址 :https://arxiv.org/pdf/2311.03079.pdf code地址 : https://github.com/THUDM/CogVLM 时间 : 2023-11 机构 : zhipuai,tsinghua : visual language model 效果:(2023-11) :CogVLM-17B achieves state-of-the-art performance on 10 classic cross-modal benchmarks, including NoCaps, Flicker30k captioning, RefCOCO, RefCOCO+, RefCOCOg, Visual7W,

    2024年02月03日
    浏览(55)
  • 中英双语大模型ChatGLM论文阅读笔记

    论文传送门: [1] GLM: General Language Model Pretraining with Autoregressive Blank Infilling [2] Glm-130b: An open bilingual pre-trained model Github链接: THUDM/ChatGLM-6B GLM-130B 和 GPT-3 175B(davinci) 相比,参数量减少,但性能提升了。 INT4 quantization without post training INT4量化是一种将模型的权重和激活从使用

    2024年02月02日
    浏览(48)
  • CLIP原理解读——大模型论文阅读笔记一

    通过自然语言处理来的一些监督信号,可以去训练一个迁移效果很好的视觉模型。 论文的作者团队收集了一个超级大的图像文本配对的数据集,有400 million个图片文本的配对, 模型最大用了ViT-large,提出了CLIP(Contrastive Language-Image Pre-training),是一种从自然语言监督中学习

    2024年02月08日
    浏览(45)
  • 基于最小均方误差linear minimum mean square error(LMMSE)插值算法的图像超分辨重构研究-附Matlab代码

    图像是一种表达信息的形式,其中,数字图像反馈的信息更加丰富。 在获取图像的过程中,图像的形成、传输、存储、处理过程受到外界干扰或成像设备自身的局限等多种因素,导致获取的图像质量不高,使图像分辨率下降,这种情况称为降质或退化,具体表现为图像模糊、

    2023年04月14日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包