深度学习:BatchNorm、LayerNorm、InstanceNorm、GroupNorm和SwitchableNorm的理解

深度学习:BatchNorm、LayerNorm、InstanceNorm、GroupNorm和SwitchableNorm的理解

深度学习中的Norm

在深度学习中会经常遇到BatchNorm、LayerNorm、InstanceNorm和GroupNorm,四者区别如下:

除此之外还有SwitchableNorm的方法,下面会逐一进行介绍。

BatchNorm

BatchNorm 的处理对象是对一批样本同一个通道特征,BatchNorm 是对这批样本的同一维度特征计算均值和方差做归一化,BatchNorm在CV领域应用较多。

BatchNorm的好处有以下三点:

1、提高梯度在网络中的流动。Normalization能够使特征全部缩放到0,1,这样在反向传播时候的梯度都是在1左右,避免了梯度消失现象。

2、提升学习速率。归一化后的数据能够快速的达到收敛。

3、减少模型训练对初始化的依赖。

LayerNorm

LayerNorm 的处理对象是每单个样本所有通道特征,LayerNorm 是对这单个样本的所有维度特征计算均值和方差做归一化。LayerNorm在NLP领域应用较多。

由于不同维度的特征量纲往往不同,那么我们为什么还要使用LayerNorm呢?因为NLP领域中,LayerNorm更为合适。

如果我们将一批文本组成一个batch,那么BatchNorm是对每句话的同一维特征(同一个位置)进行操作,而我们理解文本是一句话一句话地阅读,这不符合NLP的规律。

而LayerNorm则是针对一句话进行归一化的,且LayerNorm一般用在第三维度,如batchsize, seq_len, dims中的dims,一般为词向量的维度等等,这一维度各个特征的量纲应该相同。因此也不会遇到上面因为特征的量纲不同而导致的归一化缩放问题。

InstanceNorm

InstanceNorm的处理对象是每单个样本同一个通道特征,InstanceNorm是对单个样本同一个维度特征计算均值和方差做归一化,InstanceNorm在风格化迁移应用较多。

因为在图像风格化中,生成结果主要依赖于某个图像实例,所以对整个batch归一化不适合图像风格化中,因而对HW做归一化。可以加速模型收敛,并且保持每个图像实例之间的独立。

GroupNorm

GroupNorm的处理对象是每单个样本同一组通道特征,GroupNorm是对单个样本同一组维度特征计算均值和方差做归一化。

SwitchableNorm

SwitchableNorm是将BatchNorm、LayerNorm、InstanceNorm结合,赋予不同的权重,让网络自适应地学习归一化层。

附录

Pytorch官网------Normalization Layers

相关推荐
天国梦3 分钟前
同步课本单词APP怎么选?实测3款才知道真实差距
人工智能·机器学习
昇腾CANN3 分钟前
9月14日直播丨人芯对话:昇腾950算力落地算子的编程范式探索
人工智能·昇腾·cann·cann开源
lucas_AI10 分钟前
TableParseMap:榜单 93 分的表格解析,真实复杂表格只有 85 分
人工智能
还是奇怪10 分钟前
OpenAI GPT-5.6 构建指南拆解:创业公司如何用模型选择与 Responses API 降低 Agent 成本
java·数据库·人工智能·gpt
代码Plato11 分钟前
CLAUDE.md 编写简明指南
人工智能
sarasuki13 分钟前
Agent 陷入死循环了怎么办?指纹 + 滑动窗口 + 分层熔断
人工智能·ai编程
长谷深风11117 分钟前
支付审批的智能风险控制设计
大数据·人工智能·ai·大模型·支付·aiagent·hitl
来让爷抱一个18 分钟前
2026 CFG引导实战:八帧跳跃不许跑偏,百智云精灵图把条件契约写进素材包
人工智能·机器学习
超人气王20 分钟前
细说agent心跳机制--agentLoop循环机制中死循环处理,带你进一步了解agent工作底层原理
javascript·人工智能
四点半-企业AI获客20 分钟前
AI搜索引用机制拆解:从抓取、解析到引用打分的完整链路
人工智能·geo·rag·ai搜索·搜索引擎优化