【DeepSeek-R1背后的技术】系列十三:归一化方式介绍(BatchNorm, LayerNorm, Instance Norm 和 GroupNorm)
【DeepSeek-R1背后的技术】系列博文:
第1篇:混合专家模型(MoE)
第2篇:大模型知识蒸馏(Knowledge Distillation)
第3篇:强化学习(Reinforcement Learning, RL)
第4篇:本地部署DeepSeek,断网也能畅聊!
第5篇:DeepSeek-R1微调指南
第6篇:思维链(CoT)
第7篇:冷启动
第8篇:位置编码介绍(绝对位置编码、RoPE、ALiBi、YaRN)
第9篇:MLA(Multi-Head Latent Attention,多头潜在注意力)
第10篇:PEFT(参数高效微调——Adapter、Prefix Tuning、LoRA)
第11篇:RAG原理介绍和本地部署(DeepSeek+RAGFlow构建个人知识库)
第12篇:分词算法Tokenizer(WordPiece,Byte-Pair Encoding (BPE),Byte-level BPE(BBPE))
第13篇:归一化方式介绍(BatchNorm, LayerNorm, Instance Norm 和 GroupNorm)
目录
- 1 Batch Normalization (BatchNorm)
- 2 Layer Normalization (LayerNorm)
- 3 Instance Normalization (InstanceNorm)
- 4 Group Normalization (GroupNorm)
- 5 总结
我们用一张图就能快速理解四种归一化方式的不同之处了,其中C是通道数,N是batchsize。
1 Batch Normalization (BatchNorm)
方法:对每个特征通道,在 整个mini-batch 的样本和空间维度(如图像的高、宽)上计算均值和方差,进行归一化。
公式:
优点:
- 加速训练收敛,减少内部协变量偏移。
- 提供轻微的正则化效果(依赖噪声化的统计量)。
- 在CNN中广泛应用,尤其在图像分类任务(如ResNet)。
缺点:
- 依赖较大的batch size(小batch时统计量估计不准确)。
- 训练与测试逻辑不同(测试时使用移动平均的均值和方差)。
- 不适用于RNN或动态网络(序列长度变化导致统计量不稳定)。
2 Layer Normalization (LayerNorm)
方法:对 单个样本的所有特征(通道、空间维度)计算均值和方差,独立归一化。
公式:
优点:
- 不依赖batch size,适合小批量或单样本训练。
- 在RNN、Transformer中表现稳定(逐样本归一化)。
缺点:
- 在CNN中效果通常不如BatchNorm(忽略局部空间相关性)。
- 对输入特征的尺度敏感,需谨慎初始化。
适用场景:序列模型(如LSTM、Transformer)、强化学习。
3 Instance Normalization (InstanceNorm)
方法:对 每个样本的每个通道 单独计算均值和方差,独立归一化。
公式:
优点:
- 保留样本间独立性,适合风格迁移、GAN等生成任务。
- 消除内容图像的对比度信息,突出风格特征。
缺点:
- 丢失通道间的关联信息,可能影响识别任务性能。
适用场景:图像生成(如StyleGAN)、风格迁移。
4 Group Normalization (GroupNorm)
方法:将通道分为 (G) 组,对 每组通道 在单个样本的空间维度上计算均值和方差。
公式:
优点:
- 不依赖batch size,适合小批量训练(如目标检测、分割)。
- 平衡通道间信息利用与归一化稳定性(通过调节组数 (G))。
缺点:
- 组数 (G) 需调参(通常设为32或16)。
- 在极大batch size下可能弱于BatchNorm。
适用场景:小batch任务(如检测模型Mask R-CNN)、视频处理。
5 总结
方法 | 归一化维度 | 优点 | 缺点 | 典型应用场景 |
---|---|---|---|---|
BatchNorm | (N, H, W) | 加速训练,正则化 | 依赖大batch,RNN不适用 | CNN图像分类(ResNet) |
LayerNorm | (C, H, W) | 不依赖batch,适合序列模型 | CNN效果一般 | Transformer, RNN |
InstanceNorm | (H, W) 单样本单通道 | 保留实例独立性 | 丢失通道间信息 | 风格迁移,GAN |
GroupNorm | (C/G, H, W) 分组通道 | 小batch友好,灵活 | 需调参组数G | 目标检测(Mask R-CNN) |
选择建议 :
- CNN图像分类:优先BatchNorm(batch size足够大时)。
- 小batch任务/检测分割:GroupNorm。
- RNN/Transformer:LayerNorm。
- 图像生成/风格迁移:InstanceNorm。