Group Normalization

理解论文   Group Normalization

 摘要

1.在batch dimension上normalizing存在问题:由于批量统计估计不准确,批量越小,BN的误差越大。 

2.提出了一种简单的BN的替代品:Group Batchnormalization(GN)。

3.GN将通道划分为多个组,并在每个组内计算平均值和方差以进行归一化。 GN的计算与batch sizes无关,在较宽的batch sizes范围内其精度是稳定的。 

4.更重要的是GN能自然地从pre-training 迁移到 fine-tuning。

5.GN在COCO数据集上针对目标检测和分割由于BN-based。

6.GN用现今的库用少数的代码行就能简单的实现。

一、Introduction

1.GN在一个宽范围batch sizes内表现非常稳定。如图1所示,

2.我们提出GN作为一个层,它将通道划分为多个组,并对每个组内的特征进行归一化 (如图2所示)。GN不利用batch dimension,其计算与batch sizes无关。

3.已经存在一些方法,例如:Layer Normalization(LN) 、Instance Normalization (IN),避免在batch normalization上归一化。这些方法针对训练序列模型(RNN/LSTM)或者是生成模型来说是有效的(GANs)。

4.但是实验表明,LN和IN在视觉识别方面的效果都很有限,而GN在视觉识别方面的效果更好。 相反,GN可以代替LN和IN,从而适用于顺序模型或生成模型。 

二、Related Work

三、Group Normalization

1.类似地,没有必要将深层神经网络特征视为非结构化向量。 例如,对于网络的CONV1(第一卷积层),期望滤波器及其水平翻转在自然图像上呈现滤波器响应的类似分布是合理的。 如果CONV1恰好大致学习了这对滤波器,或者水平翻转(或其他转换)是通过设计[11,8]进入架构的,则这些滤波器的相应通道可以一起归一化。 

2.高级层更抽象,它们的行为也不那么直观。 然而,除了方位(SIFT[39]、HOG[9]或[11,8])之外,还有许多因素可以导致分组,例如频率、形状、光照、纹理。 它们的系数可以是相互依赖的。 

3.事实上,神经科学中一个广为接受的计算模型是跨cell responses的归一化,“具有不同的感受野中心(覆盖视野)和不同的时空频率调谐”(p183,[21]); 这不仅可以发生在初级视觉皮层,而且可以发生在“整个视觉系统”[5]。 

4.受上述启发,提出了针对deep neural networks的通用的group-wise normalization

5.公式

    (1)我们首先描述了特征归一化的一般公式,然后在这个公式中给出了GN。 一系列特征归一化方法,包括BN、LN、IN和GN,执行以下计算: 

    

    (2)上述公式中,x是通过某一层计算的feature,i是其索引。在2D 图像中, 是一个4D向量索引以顺序来索引特征。其中N代表batch axis,C代表channel axis,H、W代表空间Height、width  axes。u和a是通过以下公式计算的均值和方差。

    (3)其中Si代表参与均值和方差计算的像素集合,m是集合的大小。许多类型的feature normalization主要区别在于Si的定义。

    (4)Batch Norm,其中iC表示C axis上的索引。意思就是相同通道的像素一起归一化针对每个channel,BN计算u和a沿轴进行计算

    (5)Layer Norm:,同理LN沿着来计算u、a,针对每个sample

    (6)Instance Norm:IN计算u、a沿着针对每个sample和每个channel。BN、LN、IN之间的关系如上图2所示。

    (7)BN、LN和IN的所有方法学习一个通道线性变换,以补偿可能丧失的表示能力,其中r和B是可训练的缩放和平移(在所有情况下都有iC索引)。

    (8)Group Norm。一个Group Norm layer在集合Si中计算u和a,定义如下:

     ,其中,G是group的数量(是一个事先定义好的超参数,默认G=32)。C/G是一个group中channels的数量,是向下取整操作。意思是索引 i k 位于同一组通道中,假设每组通道都按 C 轴的顺序存储。 GN沿着(H,W)轴和一组 C/G 通道进行计算。 图2中展示了这种计算,是一个简单的例子包含2groups,每个group包含3个channels。

    (9)相同group中的像素使用相同的u和a一起归一化,GN也学习每个通道的r和B。

    (10)代码:

    

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值