假如现有6张图片x1,x2,x3,x4,x5,x6,每张图片在CNN的某一卷积层有6个通道,也就是6个feature map。
上图中,从C方向看过去是指一个个通道,从N看过去是一张张图片。每6个竖着排列的小正方体组成的长方体代表一张图片的一个feature map。蓝色的方块是一起进行Normalization的部分。
Batch Normalization
BN作用于一个batch
适用范围:
BN适用于判别模型中,比如图片分类模型。因为BN注重对每个batch进行归一化,从而保证数据分布的一致性,而判别模型的结果正是取决于数据整体分布。但是BN对batchsize的大小比较敏感,由于每次计算均值和方差是在一个batch上,所以如果batchsize太小,则计算的均值、方差不足以代表整个数据分布;
计算:
沿着通道计算每个batch的均值u
沿着通道计算每个batch的方差σ^2
对x做归一化,x’=(x-u)/开根号(σ^2+ε)
加入缩放和平移变量γ和β ,归一化后的值,y=γx’+β
Layer Normalization
LN是指对同一张图片的同一层的所有通道进行Normalization操作。
Instance Normalization
IN是作用于单张图片。对一个批次中单个图片进行归一化,而不是像batch normaliztion一样对整个批次的所有图片进行归一化,提取出平均值等。
适用范围:
IN适用于生成模型中,比如图片风格迁移。因为图片生成的结果主要依赖于某个图像实例,所以对整个batch归一化不适合图像风格化中,在风格迁移中使用Instance Normalization不仅可以加速模型收敛,并且可以保持每个图像实例之间的独立。
计算:
沿着通道计算每张图的均值u
沿着通道计算每张图的方差σ^2
对x做归一化,x’=(x-u)/开根号(σ^2+ε)
加入缩放和平移变量γ和β ,归一化后的值,y=γx’+β
论文:https://arxiv.org/abs/1607.08022
Github:https://github.com/DmitryUlyanov/texture_nets
Group Normalization
GN是指对同一张图片的同一层的某几个(不是全部)通道一起进行Normalization操作。这几个通道称为一个Group。
参考:
文章介绍了深度学习中几种不同的归一化技术,包括BatchNormalization(BN),LayerNormalization(LN),InstanceNormalization(IN)和GroupNormalization(GN)。BN适用于判别模型,如图片分类,而IN常用于生成模型,如风格迁移。GN是对通道的子集进行归一化,提供了一种平衡BN和IN的方法。每种技术都涉及到计算通道内的均值和方差,然后对数据进行归一化处理,以改善模型的训练效果。
3125

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



