一:各种归一化
- Batch Normalization,其论文:https://arxiv.org/pdf/1502.03167.pdf
- Layer Normalizaiton,其论文:https://arxiv.org/pdf/1607.06450v1.pdf
- Instance Normalization,其论文:https://arxiv.org/pdf/1607.08022.pdf
- Group Normalization,其论文:https://arxiv.org/pdf/1803.08494.pdf
- Switchable Normalization,其论文:https://arxiv.org/pdf/1806.10779.pdf
二:详细介绍
BN、LN、IN和GN这四个归一化的计算流程几乎是一样的,可以分为四步:
1.计算出均值
2.计算出方差
3.归一化处理到均值为0,方差为1
4.变化重构,恢复出这一层网络所要学到的分布

下面简答你说一下各个部分的
他们的区别如下图所示

众所周知,深度网络中的数据维度一般是[N, C, H, W]或者[N, H, W,C]格式,N是batch size,H/W是feature的高/宽,C是feature的channel,压缩H/W至一个维度,其三维的表示如上图。
Batch Normalization:
1.BN的计算就是把每个通道的NHW单独拿出来归一化处理
2.针对每个channel我们都有一组γ,β,所以可学习的参数为2*C
3.当batch size越小,BN的表现效果也越不好,因为计算过程中所得到的均值和方差不能代表全局。
Layer Normalizaiton:
1.LN的计算就是把每个CHW单独拿出来归一化处理,不受batchsize 的影响
2.常用在RNN网络,但如果输入的特征区别很大,那么就不建议使用它做归一化处理
Instance Normalization
1.IN的计算就是把每个HW单独拿出来归一化处理,不受通道和batchsize 的影响
2.常用在风格化迁移,但如果特征图可以用到通道之间的相关性,那么就不建议使用它做归一化处理
Group Normalizatio
1.GN的计算就是把先把通道C分成G组,然后把每个gHW单独拿出来归一化处理,最后把G组归一化之后的数据合并成CHW
2.GN介于LN和IN之间,当然可以说LN和IN就是GN的特列,比如G的大小为1或者为C
Switchable Normalization
1.将 BN、LN、IN 结合,赋予权重,让网络自己去学习归一化层应该使用什么方法
2.集万千宠爱于一身,但训练复杂
======================
本文学习抄录自:https://blog.youkuaiyun.com/u013289254/article/details/99690730
本文详细介绍了深度学习中常见的四种归一化技术:BatchNormalization (BN)、LayerNormalization (LN)、InstanceNormalization (IN) 和 GroupNormalization (GN),以及Switchable Normalization (SN)。BN通过每个通道的NHW进行归一化,适合大型batch,但batchsize小时效果下降;LN独立于batchsize,适用于RNN,但不适用于特征差异大的情况;IN忽略通道信息,常用于风格迁移;GN将通道分为组进行归一化,平衡了BN和IN的特性;SN则允许网络自适应选择合适的归一化方法。这些技术对于稳定网络训练、加速收敛有着重要作用。
3091

被折叠的 条评论
为什么被折叠?



