## 5. Layer Normalization (2016, Ba et al.)
**arxiv: 1607.06450**
**核心问题**:训练深度神经网络时,每一层的输入分布都在变化("内部协变量偏移")。Batch Normalization(2015)解决了这个问题,但它依赖 batch size,对变长序列(如 RNN 处理的不同长度句子)不友好。而且训练和测试的行为不同(测试用移动平均)。怎么办?
**方法创新**:
LayerNorm 的回答很简单:**对每个样本单独做归一化**。
BatchNorm 是在 batch 维度上算均值和方差(所有样本的同一个特征一起算)。LayerNorm 反过来——对单个样本的所有特征算均值和方差。
公式:
```
μ = (1/H) Σᵢ xᵢ ← 样本内所有神经元的均值
σ² = (1/H) Σᵢ (xᵢ - μ)² ← 样本内方差
y = γ · (x - μ) / √(σ² + ε) + β ← 归一化后再缩放+平移
```
关键优势:
1. **batch size 无关**:每个样本独立计算,batch=1 也行
2. **训练测试一致**:同样的计算,没有移动平均
3. **适合 RNN**:每个时间步独立计算,不依赖其他时间步
4. **稳定隐藏状态动态**:RNN 的长期依赖训练变得可行
**关键数字**:
- RNN 训练时间"substantially reduced" compared with previously published techniques
- 参数开销极小:每个 LayerNorm 只有 2H 个参数(γ 和 β)
- 后续:成为 Transformer(2017)、BERT、GPT 的标配
**影响评估**:
LayerNorm 是 Transformer 的"稳定器"。没有它,深层 Transformer 的梯度会在初始化时爆炸或消失,训练根本不可能。它让 100+ 层的网络训练成为可能。后来所有大模型都用它——直到 RMSNorm 出现。
**费曼点评**:
> 这篇论文的 insight 是"方向错了就换个方向"。BatchNorm 横向比较(跨样本),LayerNorm 纵向比较(跨特征)。对于序列模型,每个样本的长度不同,横向比较不公平;纵向比较每个样本自己的"内部状态",天然适配。简单,但前提是有人先意识到"方向可以换"。这就是好的工程——不是更复杂,是更对。
---
arxiv: 1607.06450
#论文深度研究 #小凯
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
领取 2000万 Tokens
通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力