均值归一化_【Normalization】CNN中常用的归一化操作

15025e7e-7c11-eb11-8da9-e4434bdf6706.png

在深度学习中,随着网络的层数逐渐加深,Internal Covariate Shift现象会变得愈发严重,为了有效缓解这一现象,很多归一化操作被先后提出。如,最常用的BN(Batch Normalization),LN(Layer Normalization),IN(Instance Normalization),SN(Switchable Normalization),GN(Group Normalization)等。本文对几种常用的归一化操作进行简单总结,以作备忘。下文中feature的尺寸都为

简单来说,不同的归一化操作之间的区别是归一化的维度不同,导致不同的归一化操作应用于某些特定的领域时效果较好。

17025e7e-7c11-eb11-8da9-e4434bdf6706.png
BN,LN,IN,GN示意图

1. Batch Normalization

BN应该是我们最熟悉的归一化操作了,其作用在整个mini-batch上,沿着C维度对N,H,W三个维度进行归一化,换句话说,是对mini-batch中相应的feature进行归一化。假设一个mini--batch中相应的feature可表示为

的尺寸为
,BN可以定义为:
for i=1, ..., C

可见,BN对于均值和方差的计算与mini-batch的大小有关。当batch size足够大时,每个mini-batch可以较好地反映真实数据的分布;但是,若batch size较小,每个mini-batch就无法反映所有数据的真实分布。因此,BN操作对batch size的选择有较高的要求。

2. Layer Normalization

LN不再对mini-batch中的所有特征计算均值和方差,而是沿着batch维度对CHW三个维度进行归一化操作,从而克服了BN操作对于batch size大小比较敏感的缺点,非常适用于RNN网络的加速训练。

对于mini-batch中的每组特征,令

,
的尺寸为
,LN操作可以定义为:
for i = 1, ..., B

3. Instance Normalization

IN操作是将归一化作用于具体的某个图像实例,在HW维度进行归一化,用于图像风格转换是非常有效的。

,
的尺寸为
,是一个具体的图像实例,此时,IN操作可以定义为:
for i = 1, ..., N
for j = 1, ..., C

4. Switchable Normalization

SN操作时上述BN,LN和IN操作的加权平均,是为了避免人为设计的归一化操作带来的影响模型泛化能力的问题。通过对几种归一化操作加权求和,使得网络本身学习一种适用于自身的归一化操作,增强模型的泛化能力。SN操作的输出可以定义为:

关于SN的有效性,论文中针对不同的应用领域进行了仿真,实验结果表明,不同的领域对于归一化操作有着不同的权重要求。如下图所示:

19025e7e-7c11-eb11-8da9-e4434bdf6706.png

Reference

[1] BN https://arxiv.org/pdf/1502.03167.pdf

[2] LN https://arxiv.org/pdf/1607.06450v1.pdf

[3] IN https://arxiv.org/pdf/1607.08022.pdf

[4] SN https://arxiv.org/pdf/1806.10779.pdf

About

我的专栏

深度图像与视频增强​zhuanlan.zhihu.com
1b025e7e-7c11-eb11-8da9-e4434bdf6706.png

我的Github

https://github.com/z-bingo​github.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值