第 3 题:Layer Normalization 的作用及为何不用 Batch Normali
题目
解释 Layer Normalization 的作用,以及为什么 Transformer 使用它而不是 Batch Normalization。
一、Layer Normalization 在做什么?
Layer Normalization(LN) 对单个样本、同一层内的所有特征做标准化:先在这一层的 个神经元上算均值和方差,再对每个神经元减均值、除标准差,最后用可学习的
做缩放和平移。
设该层输出为 :
作用:稳定每层输出的分布,减轻“内部协变量偏移”,让深层网络更好训、可以用更大学习率。 让模型能学“要不要标准化、偏到哪”,避免丢失表达能力。
和 BN 的本质区别:LN 的均值和方差是在特征维 (同一样本、同一层)上算的;BN 是在 batch 维(同一特征、不同样本)上算的。所以 LN 不依赖 batch,单样本也能算;BN 依赖 batch,batch 小时不稳定。
二、Batch Normalization 简要回顾
Batch Normalization(BN):对每个特征维度,在当前 batch 的 个样本上算均值和方差,然后对该特征做标准化。
- 训练时用当前 batch 的统计;推理时通常用训练阶段的移动平均(running mean/var),所以训练和推理不一致。
- Batch 小时,batch 统计噪声大;序列长度不一或变长时,BN 在“batch×长度”上的统计也很难统一,推理时若长度和训练差很多,running 统计可能不适用。
三、Transformer 为什么用 LN 而不用 BN?
| 维度 | LN | BN |
|---|---|---|
| 统计维度 | 同一样本、层内 |
同一特征、batch 内 |
| 序列长度 | 与 |
长度不一/变长时统计难统一 |
| Batch 大小 | 不依赖 bat |
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
Ai Agent:面试300问 文章被收录于专栏
《AI Agent 300 问》专为备战 AI Agent 相关岗位的求职者打造,适配校招、社招全场景,覆盖算法研发、产品、解决方案等全岗位。专栏汇总 300 道大厂高频面试真题,全维度覆盖提示工程、智能体规划推理、记忆机制、工具调用、多智能体协作、框架落地、行业应用等核心领域,拆解考点底层逻辑,分享一线实战经验,助你一站式通关高薪面试。

查看3道真题和解析