一文理解深度学习中的BN,LN,IN,GN,SN的归一化操作( 二 )


4.

一文理解深度学习中的BN,LN,IN,GN,SN的归一化操作

文章插图
是对一个样本中的每一个通道进行单独的标准化操作,一般用于风格化迁移,但如果特征图可以用到通道之间的相关性,那么就不建议使用它做 处理 。
还是把图像的尺寸表示为[N, C, H, W]的话,IN则是针对于[H,W]进行归一化 。
5. Group
Group(GN)是 Layer和标准化的折中做法,GN算法将一个样本的的通道划分为多个group,然后在对每一个group进行标准化 。
GN将分组,然后再做归一化 。GN 相当于把一本C页的书平均分成G份,每份成为有C/G页的小册子,对每个小册子做Norm 。
以CNN训练图像为例,使用多个卷积核对图像进行卷积会得到多个 map,但这些 map,并不一定都是相互独立的,某些 map 之间可能存在某些联系,这时使用IN算法对每一个 map做标准化无疑会丢失这些关联,而为了某些 map之间的联系而使用LN算法对整个样本进行标准化又会占用大量内存资源,造成不必要的浪费 。
GN算法首先将相互关联的 map组合成一个group 然后再这个group上进行标准化,这样保留了通道之间的关联,又节省了资源 。GN同样可以针对于 size较小的情况 。因为它有不受batch size的约束 。
可以看到与BN不同,LN/IN和GN都没有对batch作平均,所以当batch变化时,网络的错误率不会有明显变化 。但论文的实验显示:LN和IN 在时间序列模型(RNN/LSTM)和生成模型(GAN)上有很好的效果,而GN在视觉模型上表现更好 。
6.
将 BN、LN、IN 结合,赋予权重,让网络自己去学习归一化层应该使用什么方法 。
SN具有以下三个优点:
鲁棒性:无论的大小如何,SN均能取得非常好的效果;
通用性:SN可以直接应用到各种类型的应用中,减去了人工选择归一化策略的繁琐;
多样性:由于网络的不同层在网络中起着不同的作用,SN能够为每层学到不同的归一化策略,这种自适应的归一化策略往往要优于单一方案人工设定的归一化策略 。
参考: