记录 之 不同的Normalization方式

        Normalization是加速神经网络训练的一种重要方法,随着深度学习的发展以及各种任务的出现,催生出了一系列的Normalization方式,现在主流的正则化方式有Batch Normalization,Group Normalization,Instance Normalization,Layer Normlization,Positional Normalization五种。

批规范化 (Batch Normalization) 方法用于计算机视觉任务的深度神经网络。

如上图,我们将其理解为一个size为(B,C,H,W)的特征图(5,3,2,2),为方便表示,将特征图拉伸后尺寸为(5,3,4)。
Batch Normalization在计算均值(一阶矩)\mu 和 标准差(二阶矩)\sigma时,是分通道进行的,上图展示了参与运算的某一通道的所有元素,共计(BxHxW)= 20 个。
求取了这20个元素的E[x] = \mu 和Var[x] = \sigma 后,对这20个元素分别进行更新,这里的γ 和 β 是仿射变换的系数:

这里我们以批归一化为例详细介绍计算过程,接下来的几个归一化操作,我们只给出示意图,计算过程大抵相当,只不过参与计算的元素不同。

分组归一化 (Group Normalization) 主要用于目标检测和实力分割任务。

这里参与正则化操作的是一个batch中某一样例的某组特征通道分量,依次计算

实例归一化 (Instance Normalization) 因其具有从输入中删除样式信息的能力而广泛用于图像合成。

这里参与正则化操作的是一个batch中某一样例的某一特征通道分量,依次计算

分层归一化 ( Layer Normalization) 适用于序列模型, 常见于自然语言处理任务

这里参与正则化操作的是一个batch中某一样例的全部特征通道分量,依次计算

位置正则化(Positional Normalization)适用于生成模型,常见与GAN等生成模型。

这里参与正则化操作的是一个batch中某一样例在某一位置(h1,w1)上的所有特征分量,依次计算。

到这里我们就了解了上述几种正则化操作的操作对象,以及计算过程,我们在进行不同的工作时要选择合适的正则化操作,不仅能加快训练网络,有可能还能提高精度。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值