news 2026/4/18 8:14:02

LayerNorm -> RMSNorm 和 BatchNorm归一化方法解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LayerNorm -> RMSNorm 和 BatchNorm归一化方法解析

文章目录

    • 结论先给(对/错直接判定)
    • 用你说的例子,完全展开一遍
      • 假设
    • 第一步:算 batch 统计量(你问的这一步)
      • 对 **第 0 个 feature(第 0 列)**
      • 对 **第 1 个 feature(第 1 列)**
      • 对 **第 2 个 feature(第 2 列)**
    • 所以你脑子里应该形成的“几何图像”是:
    • 再和 LayerNorm 对照一次(非常重要)
      • BatchNorm(你刚确认的)
      • LayerNorm
    • 用一句“防混淆记忆法”
    • 再补一个你马上会遇到的误区(提前踩刹车)
    • 最后确认一次你的理解(你现在应该是这个状态)
      • 考点速记(面试/试卷一句话答法)

你的理解是完全正确的,而且你问到的是BatchNorm 最核心、也最容易被说模糊的一步。我来把它说到不可能再误解为止。

结论先给(对/错直接判定)

是的
BatchNorm不是算一个“总均值”,
而是:
👉对每一个 feature 维度 d,单独在 batch 维度上算均值和方差。

也就是说:

  • 第 0 维特征 → 用 batch 里所有样本的第 0 个元素算
  • 第 1 维特征 → 用 batch 里所有样本的第 1 个元素算
  • 一共算D 组均值 + D 组方差

用你说的例子,完全展开一遍

假设

  • batch size = 5
  • feature dim = D = 3

输入矩阵:

[
X =
\begin{bmatrix}
x_{1,0} & x_{1,1} & x_{1,2}
x_{2,0} & x_{2,1} & x_{2,2}
x_{3,0} & x_{3,1} & x_{3,2}
x_{4,0} & x_{4,1} & x_{4,2}
x_{5,0} & x_{5,1} & x_{5,2}
\end{bmatrix}
]


第一步:算 batch 统计量(你问的这一步)

第 0 个 feature(第 0 列)

[
\mu_0 = \frac{1}{5}(x_{1,0}+x_{2,0}+x_{3,0}+x_{4,0}+x_{5,0})
]

[
\sigma_0^2 = \frac{1}{5}\sum_{i=1}^5 (x_{i,0}-\mu_0)^2
]


第 1 个 feature(第 1 列)

[
\mu_1 = \frac{1}{5}(x_{1,1}+x_{2,1}+x_{3,1}+x_{4,1}+x_{5,1})
]

[
\sigma_1^2 = \frac{1}{5}\sum_{i=1}^5 (x_{i,1}-\mu_1)^2
]


第 2 个 feature(第 2 列)

同理。


所以你脑子里应该形成的“几何图像”是:

BatchNorm = 沿着 batch 方向切片
feature 0: [x1_0, x2_0, x3_0, x4_0, x5_0] → μ0, σ0 feature 1: [x1_1, x2_1, x3_1, x4_1, x5_1] → μ1, σ1 feature 2: [x1_2, x2_2, x3_2, x4_2, x5_2] → μ2, σ2

不是

把 5×3 = 15 个数混在一起算一个均值

再和 LayerNorm 对照一次(非常重要)

同一个输入:

BatchNorm(你刚确认的)

对每一列(feature): 在 batch 维度算统计量

LayerNorm

对每一行(样本): 在 feature 维度算统计量

数学上:

  • BN:
    [
    \mu_d = \frac{1}{B}\sum_b x_{b,d}
    ]

  • LN:
    [
    \mu_b = \frac{1}{D}\sum_d x_{b,d}
    ]

👉正交的两个方向


用一句“防混淆记忆法”

BatchNorm:同一个神经元,看不同样本
LayerNorm:同一个样本,看不同神经元


再补一个你马上会遇到的误区(提前踩刹车)

❓“那 BatchNorm 是不是假设每个 feature 在 batch 中分布相似?”

✔️是的,这正是它的隐含假设
这也是为什么:

  • 数据异质性大
  • batch 小
  • 多模态 / NLP

→ BN 容易出问题


最后确认一次你的理解(你现在应该是这个状态)

  • ✔️ 不是算一个总均值
  • ✔️ 是D 个均值 + D 个方差
  • ✔️ 每个 feature 只和 batch 中“同一维度”的值有关
  • ✔️ feature 间互不影响(统计层面)

如果你愿意,下一步我可以:

  • 🔍 用PyTorch 的 BatchNorm1d 源码维度对照一遍
  • 🔍 给你画BN / LN / RMSNorm 的张量切片方向
  • 🔍 推导为什么 BN 会“吃掉 bias”

你已经完全站在“搞懂而不是背结论”的那一边了。
RMSNorm 不是 BatchNorm,它属于LayerNorm 的变体,跟 Batch Normalization 完全不是一家人。下面把容易混淆的三个概念一次说清,方便你直接背考点。

名称归一化维度训练/推断行为依赖 batch?典型用途
BatchNorm一个特征维跨样本做归一化(N 维)用当前 batch 的 μ/σ,推断时用滑动平均✅ 依赖 batch sizeCNN、ResNet
LayerNorm一个样本内部跨特征做归一化(C×H×W 或 D 维)不依赖 batch,当前样本即时算 μ/σ❌ 不依赖 batchTransformer、RNN
RMSNormLayerNorm 的简化版:只除以均方根RMS(x),不减去均值同 LayerNorm❌ 不依赖 batch现代 Transformer(LLaMA、T5、GPT-NeoX 等)

考点速记(面试/试卷一句话答法)

  1. RMSNorm 是 LayerNorm 的变体,不是 BatchNorm。
  2. Transformer 系列用 LayerNorm/RMSNorm 而不用 BatchNorm 的核心原因:
    • 训练时 batch size 可能很小(甚至为 1),BatchNorm 统计量噪声大;
    • 推断时序列长度可变,BatchNorm 的滑动平均失效;
    • LayerNorm/RMSNorm 只依赖当前样本,稳定且与 batch 无关。

背住这三句,碰到“LayerNorm 和 BatchNorm 哪个更好/为什么 Transformer 不用 BatchNorm”的题,直接默写就能拿分。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 0:59:17

Windows下I2C HID驱动加载原理通俗解释

深入理解Windows下的I2C HID驱动加载机制 你有没有遇到过这样的情况:笔记本合盖休眠后,轻点一下触摸板就能唤醒系统?或者在低功耗待机(Modern Standby)状态下,手指滑动依然灵敏响应?这些看似平…

作者头像 李华
网站建设 2026/4/18 8:00:01

WPF 布尔属性命名指南:何时使用 Is 前缀?

在 WPF 开发中,我们经常需要定义布尔类型的依赖属性或附加属性。一个常见的困惑是:布尔属性是否都应该以 Is 开头?最近在开发一个重置功能时,我遇到了这个问题。我需要为控件添加一个附加属性,用于标记该控件是否应该跳…

作者头像 李华
网站建设 2026/4/10 19:57:16

SSM校园快件配送系统80rnf(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面

系统程序文件列表系统项目功能:配送员,机会信息,配送订单,配送处理,客户,配送分配,配送反馈,客户投诉,配送员投诉,公告信息,联系结果SSM校园快件配送系统开题报告一、课题研究背景与意义(一)研究背景随着高校校园快件量逐年激增,现…

作者头像 李华
网站建设 2026/4/12 19:28:28

黄仁勋:物理AI的“ChatGPT时刻”,即将到来

来源:中国企业家俱乐部CES 2026最具热度的演讲,无疑属于英伟达创始人兼CEO黄仁勋。他抛出核心判断:“物理AI的‘ChatGPT时刻’,即将到来。”黄仁勋指出,计算机行业正经历十年一遇的“平台重置”:我们正从“…

作者头像 李华
网站建设 2026/4/18 3:58:34

鸿蒙应用的自动化测试与持续集成实战:智能待办的质量保障

🚀 鸿蒙应用的自动化测试与持续集成实战:智能待办的质量保障 一、章节概述 ✅ 学习目标 掌握鸿蒙自动化测试框架(方舟测试框架/DevEco Test/第三方工具)的核心原理落地《全生态智能待办》的自动化测试方案:单元测试/UI…

作者头像 李华
网站建设 2026/4/18 3:25:03

车牌识别系统界面](https://fakeimg.pl/600x400/ff0000/000?text=LabVIEW+车牌识别

基于labview的车牌识别系统,实现对车牌位置识别和数字识别,程序为虚拟资料(假装这里有张LabVIEW程序前面板的截图,左边是原始图像,右边实时显示定位框和识别结果)最近在LabVIEW里折腾车牌识别挺有意思的——…

作者头像 李华