normalization in NNs

本文主要介绍neural networks中使用的normalization的方法

Normalization的一般形式为
y = a σ ( x − μ ) + b y=\frac{a}{\sigma}(x-\mu)+b y=σa(xμ)+b

x x x为normalization layer的输入, μ \mu μ为均值, σ \sigma σ为标准差, a a a b b b为待学习的参数,主要作用是为了使得normalization layer的输出大小依然可以处于任何范围。

那么问题来了,均值为谁的均值,方差为谁的方差呢?

答案是这是因不同的normalization策略而异的,那么下面我们来看看都有哪些normalization的策略

Batch Norm

是目前使用最多的normalization方法,分别对每一个channel做normalization,均值为所有样本在所有位置的输入的均值,方差为所有样本在所有位置的输入的方差。
在这里插入图片描述

Layer Norm

分别对每一个样本,对所有channel的所有位置的输入做normalization,均值和方差每个样本各不相同,均值为所有channel在所有位置的输入的均值,方差为所有channel在所有位置的输入的方差。

这种方法不总是work,建议在目前有人用该方法做过成功实验的任务上去用。

在这里插入图片描述

Instance Norm

分别对每一个样本,对每一个channel的所有位置的输入做normalization,均值和方差每个样本每个channel各不相同,均值为该channel在所有位置的输入的均值,方差为该channel在所有位置的输入的方差。
在这里插入图片描述

Group Norm

Group Norm与Layer Norm的区别在于不是针对所有channel做,而是针对在一开始就分好组的channel group做。
每组包含的channels的个数是需要去调的超参数,一般可以设置为32。

在这里插入图片描述

  • 对于Batch/Instance Norm,在训练结束后,均值和方差就要被确定下来,在验证/测试的时候直接使用;而对于Layer/Group Norm则不用。

参考资料:NYU《Deep Learning》2020

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值