三种 Norm 一张图读懂:LayerNorm、RMSNorm、AdaRMS

为什么需要归一化?

训练大模型时,每一层的激活值容易忽大忽小,梯度不稳定。
归一化(Normalization) 把每个 token 的 DDD 维向量 x\mathbf{x}x 拉到合适尺度,再让网络学习如何缩放、平移。

下面三个名字最常一起出现:

方法 一句话
LayerNorm(LN) 先减均值,再除以标准差
RMSNorm 不减均值,除以均方的平方根
AdaRMS 分母同 RMS,缩放/平移由条件 c\mathbf{c}c 决定

前提

单个 token 的向量 x∈RD\mathbf{x} \in \mathbb{R}^Dx∈RD,在 DDD 维 内部 做统计(不跨 token、不跨 batch)。
ε\varepsilonε 为极小常数(如 10−610^{-6}10−6),防止除零。


一、LayerNorm

中心化 (减均值),再按 标准差 缩放,最后用可学习参数 γ,β\boldsymbol{\gamma}, \boldsymbol{\beta}γ,β 做仿射变换。

μ=1D∑i=1Dxi,x^=x−μVar(x)+ε,y=γ⊙x^+β \mu = \frac{1}{D}\sum_{i=1}^{D} x_i, \qquad \hat{\mathbf{x}} = \frac{\mathbf{x} - \mu}{\sqrt{\mathrm{Var}(\mathbf{x}) + \varepsilon}}, \qquad \mathbf{y} = \boldsymbol{\gamma} \odot \hat{\mathbf{x}} + \boldsymbol{\beta} μ=D1i=1∑Dxi,x^=Var(x)+ε x−μ,y=γ⊙x^+β

  • 有减均值 x−μ\mathbf{x}-\mux−μ
  • 分母是 Var+ε\sqrt{\mathrm{Var}+\varepsilon}Var+ε (标准差),不是方差本身
  • 可学习参数约 2D2D2D 个(γ\boldsymbol{\gamma}γ 与 β\boldsymbol{\beta}β 各 DDD 维)

常见于 Transformer、ViT。


二、RMSNorm

不减均值 ,用各维平方的平均值 mmm 开根号作为尺度,把 x\mathbf{x}x 除过去,再可学习缩放。

m=1D∑i=1Dxi2,x^=xm+ε,y=(1+w)⊙x^ m = \frac{1}{D}\sum_{i=1}^{D} x_i^2, \qquad \hat{\mathbf{x}} = \frac{\mathbf{x}}{\sqrt{m + \varepsilon}}, \qquad \mathbf{y} = (1 + \mathbf{w}) \odot \hat{\mathbf{x}} m=D1i=1∑Dxi2,x^=m+ε x,y=(1+w)⊙x^

亦有实现写 y=w⊙x^\mathbf{y} = \mathbf{w} \odot \hat{\mathbf{x}}y=w⊙x^。

正确与错误写法:

正确: x^=xm+ε错误: x^=xm+ε \boxed{ \text{正确:}\ \hat{\mathbf{x}} = \frac{\mathbf{x}}{\sqrt{m + \varepsilon}} \qquad \text{错误:}\ \hat{\mathbf{x}} = \frac{\mathbf{x}}{m + \varepsilon} } 正确: x^=m+ε x错误: x^=m+εx

x⋅rsqrt(m+ε)\mathbf{x} \cdot \mathrm{rsqrt}(m+\varepsilon)x⋅rsqrt(m+ε) 与上式等价。

LLaMA、Gemma 等常用 RMSNorm,比 LayerNorm 少算一步均值,往往略快。


三、AdaRMS

去噪、流匹配等场景里,网络要在不同噪声水平 ttt 下表现不同。AdaRMS 在 每一层 用条件 c\mathbf{c}c(如时间步嵌入)调节归一化后的向量,思路类似扩散模型中的 AdaLN

RMS 归一化(与 RMSNorm 相同):

x^=xmean(x2)+ε \hat{\mathbf{x}} = \frac{\mathbf{x}}{\sqrt{\mathrm{mean}(\mathbf{x}^2) + \varepsilon}} x^=mean(x2)+ε x

条件仿射

s, t, g\]=f(c),y=x\^⊙(1+s)+t \[\\mathbf{s},\\, \\mathbf{t},\\, \\mathbf{g}\] = f(\\mathbf{c}), \\qquad \\mathbf{y} = \\hat{\\mathbf{x}} \\odot (1 + \\mathbf{s}) + \\mathbf{t} \[s,t,g\]=f(c),y=x\^⊙(1+s)+t 可选门控残差: hout=hin+g⊙Sublayer(⋅) \\mathbf{h}_{\\mathrm{out}} = \\mathbf{h}_{\\mathrm{in}} + \\mathbf{g} \\odot \\mathrm{Sublayer}(\\cdot) hout=hin+g⊙Sublayer(⋅) x\^\\hat{\\mathbf{x}}x\^ 的分母与 RMSNorm 相同;s,t\\mathbf{s}, \\mathbf{t}s,t 随 c\\mathbf{c}c 变化,而非全局固定的 γ,β\\boldsymbol{\\gamma}, \\boldsymbol{\\beta}γ,β。 *** ** * ** *** ### 四、并排对照 LayerNorm:x\^=x−μmean((x−μ)2)+ε,y=γ⊙x\^+βRMSNorm:x\^=xmean(x2)+ε,y=(1+w)⊙x\^AdaRMS:x\^=xmean(x2)+ε,y=x\^⊙(1+s(c))+t(c) \\begin{aligned} \\textbf{LayerNorm:} \\quad \& \\hat{\\mathbf{x}} = \\dfrac{\\mathbf{x}-\\mu}{\\sqrt{\\mathrm{mean}((\\mathbf{x}-\\mu)\^2)+\\varepsilon}}, \\quad \\mathbf{y} = \\boldsymbol{\\gamma}\\odot\\hat{\\mathbf{x}}+\\boldsymbol{\\beta} \\\\\[0.6em\] \\textbf{RMSNorm:} \\quad \& \\hat{\\mathbf{x}} = \\dfrac{\\mathbf{x}}{\\sqrt{\\mathrm{mean}(\\mathbf{x}\^2)+\\varepsilon}}, \\quad \\mathbf{y} = (1+\\mathbf{w})\\odot\\hat{\\mathbf{x}} \\\\\[0.6em\] \\textbf{AdaRMS:} \\quad \& \\hat{\\mathbf{x}} = \\dfrac{\\mathbf{x}}{\\sqrt{\\mathrm{mean}(\\mathbf{x}\^2)+\\varepsilon}}, \\quad \\mathbf{y} = \\hat{\\mathbf{x}}\\odot(1+\\mathbf{s}(\\mathbf{c}))+\\mathbf{t}(\\mathbf{c}) \\end{aligned} LayerNorm:RMSNorm:AdaRMS:x\^=mean((x−μ)2)+ε x−μ,y=γ⊙x\^+βx\^=mean(x2)+ε x,y=(1+w)⊙x\^x\^=mean(x2)+ε x,y=x\^⊙(1+s(c))+t(c) | | 减均值? | x\^\\hat{\\mathbf{x}}x\^ 分母 | 输出 | |---------------|:----:|:-----------------------------------------------------------------------:|----------------------------------------------------------------------------------| | **LayerNorm** | ✓ | Var+ε\\sqrt{\\mathrm{Var}+\\varepsilon}Var+ε | γ⊙x\^+β\\boldsymbol{\\gamma}\\odot\\hat{\\mathbf{x}}+\\boldsymbol{\\beta}γ⊙x\^+β | | **RMSNorm** | ✗ | mean(x2)+ε\\sqrt{\\mathrm{mean}(\\mathbf{x}\^2)+\\varepsilon}mean(x2)+ε | (1+w)⊙x\^(1+\\mathbf{w})\\odot\\hat{\\mathbf{x}}(1+w)⊙x\^ | | **AdaRMS** | ✗ | 同 RMS | x\^⊙(1+s)+t\\hat{\\mathbf{x}}\\odot(1+\\mathbf{s})+\\mathbf{t}x\^⊙(1+s)+t | *** ** * ** *** ### 五、数值例子 设 x=\[1,2,3,4\]⊤\\mathbf{x} = \[1,2,3,4\]\^\\topx=\[1,2,3,4\]⊤: * **LayerNorm** :μ=2.5\\mu=2.5μ=2.5,x\^\\hat{\\mathbf{x}}x\^ 大致正负对称 * **RMSNorm** :m=7.5m=7.5m=7.5,x\^=x/7.5\\hat{\\mathbf{x}} = \\mathbf{x}/\\sqrt{7.5}x\^=x/7.5 ,分量同向拉伸 二者 x\^\\hat{\\mathbf{x}}x\^ 不同------不仅是否减均值不同,**分母用的统计量也不同**。RMSNorm 并不是「不减均值的 LayerNorm」。 *** ** * ** *** ### 六、选用建议 * 经典结构、生态成熟 → **LayerNorm** * 大语言模型、略省计算 → **RMSNorm** * 强条件生成(时间步、类别等),希望每层注入条件 → **AdaRMS**(或 AdaLN) *** ** * ** *** ### 小结 LN:x\^=x−μVar(x)+ε,  y=γ⊙x\^+β \\textbf{LN:}\\quad \\hat{\\mathbf{x}}=\\frac{\\mathbf{x}-\\mu}{\\sqrt{\\mathrm{Var}(\\mathbf{x})+\\varepsilon}},\\; \\mathbf{y}=\\boldsymbol{\\gamma}\\odot\\hat{\\mathbf{x}}+\\boldsymbol{\\beta} LN:x\^=Var(x)+ε x−μ,y=γ⊙x\^+β RMS:x\^=xmean(x2)+ε,  y=(1+w)⊙x\^ \\textbf{RMS:}\\quad \\hat{\\mathbf{x}}=\\frac{\\mathbf{x}}{\\sqrt{\\mathrm{mean}(\\mathbf{x}\^2)+\\varepsilon}},\\; \\mathbf{y}=(1+\\mathbf{w})\\odot\\hat{\\mathbf{x}} RMS:x\^=mean(x2)+ε x,y=(1+w)⊙x\^ AdaRMS:x\^=xmean(x2)+ε,  y=x\^⊙(1+s(c))+t(c) \\textbf{AdaRMS:}\\quad \\hat{\\mathbf{x}}=\\frac{\\mathbf{x}}{\\sqrt{\\mathrm{mean}(\\mathbf{x}\^2)+\\varepsilon}},\\; \\mathbf{y}=\\hat{\\mathbf{x}}\\odot(1+\\mathbf{s}(\\mathbf{c}))+\\mathbf{t}(\\mathbf{c}) AdaRMS:x\^=mean(x2)+ε x,y=x\^⊙(1+s(c))+t(c)

相关推荐
搞科研的小刘选手1 小时前
【南昌大学主办】第五届人工智能、物联网和云计算技术国际会议(AIoTC 2026)
人工智能·物联网·网络安全·大模型·云计算·智慧城市·云安全
A130160986711 小时前
精准商机赋能,助力金融助贷业务拓展
大数据·数据仓库·人工智能·机器人·信息与通信
ComputerInBook1 小时前
OpenCV图像处理——透视变换
图像处理·人工智能·opencv·透视变换
CodePlayer竟然被占用了1 小时前
Claude Code 出安全插件了:AI 写代码的安全网,终于有人正经做了
人工智能·后端
逻辑君1 小时前
Foresight研究报告【20260006】
人工智能·物理
hughnz1 小时前
从数据到决策:大语言模型在钻井中的潜力
人工智能·语言模型·自然语言处理
Deepoch1 小时前
Deepoc数学大模型:重塑半导体研发与制造的核心算法范式
人工智能·算法·机器学习·半导体·deepoc·数学大模型
哦哦~9211 小时前
AI 赋能复合材料力学:机器学习、PINN 与多尺度仿真实战
人工智能·机器学习·复合材料
沉默王二1 小时前
你说你用Claude,你用的是 CLI,还是 Agent、Opus?
人工智能·程序员·claude