TalentMe
How To
🗺️
AI Industry Map
NEW
Knowledge ▾
Intro & Usage
Machine Learning Repo
Data Science Repo
Resources ▾
Intro & Usage
AI Tech Vault (Tech Wiki)
Industry News
Tech Blogs
Research Papers
Open Source Projects
Tools Hub ▾
🛠️ Tools & Skills Overview
🌐 Interactive Web Tools
🗺️ AI Industry & Career Map
🧭 AI Career Transition Navigator & Roadmap
📚 AI Multi-Module Practice Hub
🎯 AI Skill Assessment
🧠 AI Skills Library
AI Skills & Prompts Overview
Local Agent Guide
Cloud Skills Templates
⚡ MCP Tools Suite
TalentMe MCP Guide
CLI Tools & Commands
Services ▾
🚀 Services & Plans Suite
🧭 1v1 Coaching & Services
💎 Plans & Pricing
💬 Contact & Consultation
Contact Us
💬 Discord
🌐
中
☀️
🔑
Login / Register
☰
技术知识库
›
复习路线图
›
深度学习 思维导图
›
BatchNorm 批归一化
← 返回 深度学习 思维导图
中文
·
English
🧠 深度学习
ID:
batchnorm
BatchNorm 批归一化
Batch Normalization
🎯
核心定义
BatchNorm (批归一化) 沿 batch 维对每个特征通道做标准化, 消除内部协变量偏移 (ICS)。对输入
x
x
x
, 先计算当前 batch 的均值与方差
μ
B
=
1
m
∑
i
=
1
m
x
i
\mu_B = \frac{1}{m}\sum_{i=1}^{m} x_i
μ
B
=
m
1
∑
i
=
1
m
x
i
、
σ
B
2
=
1
m
∑
i
=
1
m
(
x
i
−
μ
B
)
2
\sigma_B^2 = \frac{1}{m}\sum_{i=1}^{m}(x_i - \mu_B)^2
σ
B
2
=
m
1
∑
i
=
1
m
(
x
i
−
μ
B
)
2
, 再归一化
x
^
=
x
−
μ
B
σ
B
2
+
ϵ
\hat{x} = \frac{x - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}
x
^
=
σ
B
2
+
ϵ
x
−
μ
B
, 最后做可学习的仿射变换
y
=
γ
x
^
+
β
y = \gamma\hat{x} + \beta
y
=
γ
x
^
+
β
(CNN 中每个通道一组
γ
,
β
\gamma, \beta
γ
,
β
,
ϵ
\epsilon
ϵ
取 1e-5 量级防除零)。
💡
使用场景
图像 CNN 标配 (ResNet 等), 用于稳定训练、允许更大学习率、降低对初始化与 Dropout 的依赖; 面试常问训练/推理统计量差异、小 batch 为何失效、为什么 NLP/Transformer 改用 LN。
⚡
解决的核心痛点
使每层激活保持零均值单位方差, 大幅平滑 loss 曲面, 收敛速度通常提升数倍 (训练 epoch 可减半量级), 并带轻微正则化副作用 (batch 统计噪声)。关键工程点: 训练时用当前 batch 统计量; 推理时用训练期指数滑动平均 (EMA, momentum 通常 0.1) 累积的 running mean/var——因此小 batch (batch=1 时
σ
B
=
0
\sigma_B=0
σ
B
=
0
) 会使统计量失真、训练与推理行为不一致, 模型近乎失效, 这是 BN 的固有缺陷。
🎯
5 个高频面试考点 (Exam Points)
1
写出 BatchNorm 的完整计算流程: 如何算
μ
B
\mu_B
μ
B
、
σ
B
2
\sigma_B^2
σ
B
2
, 归一化公式
x
^
=
x
−
μ
B
σ
B
2
+
ϵ
\hat{x} = \frac{x-\mu_B}{\sqrt{\sigma_B^2+\epsilon}}
x
^
=
σ
B
2
+
ϵ
x
−
μ
B
与仿射变换
y
=
γ
x
^
+
β
y = \gamma\hat{x}+\beta
y
=
γ
x
^
+
β
中
γ
,
β
\gamma,\beta
γ
,
β
的作用?
2
训练与推理时 BN 的行为差异: 训练用 batch 统计量, 推理为什么必须用滑动平均 (running mean/var)? EMA 在哪个阶段更新?
3
小 batch 下 BN 为什么失效? batch=1 时会发生什么? 训练/推理统计量不一致会造成什么问题?
4
为什么 Transformer/LLM 中 BN 很少用而改用 LayerNorm? BN 在变长序列、padding 上的问题是什么?
5
BN 为何能加速收敛 (内部协变量偏移/loss 平滑)? 它有什么正则化副作用, 与 Dropout 并用的顺序如何?
📖 关联深度指南:
📄 normalization-and-regularization →
更新于 2026-08-12
🎯
检验攻克程度:针对「BatchNorm 批归一化」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题 ➔
← 上一个知识点
损失函数族
下一个知识点 →
LayerNorm 与 RMSNorm
🔗 更多 深度学习 知识点卡片
激活函数演进
Adam/AdamW
Autograd 动态图
经典 CNN 演进