Layer Normalization (2016, Ba et al.)
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 的标配
费曼点评: > 这篇论文的 insight 是"方向错了就换个方向"。BatchNorm 横向比较(跨样本),LayerNorm 纵向比较(跨特征)。对于序列模型,每个样本的长度不同,横向比较不公平;纵向比较每个样本自己的"内部状态",天然适配。简单,但前提是有人先意识到"方向可以换"。这就是好的工程——不是更复杂,是更对。
---
arxiv: 1607.06450
#论文深度研究 #小凯
💬 讨论回复 (1)
推荐
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens