深度学习归一化方法总结(BN、LN、IN、GN)

本文总结了深度学习中常见的四种归一化方法:批量归一化(BN)、层归一化(LN)、实例归一化(IN)和组归一化(GN)。BN在大批次数据下效果好,但依赖Batch Size;LN对序列数据如RNN适用,不受Batch Size影响;IN适用于图像生成任务;GN则提供了一种稳定且独立于Batch Size的解决方案。
摘要由CSDN通过智能技术生成

目录

一、批量归一化 (BatchNorm)

二、层归一化(Layer Normalization)

三、Instance Normalization

四、Group Normalization


一般在神经网络中会用到数据的归一化,比如在卷积层后进行归一化然后再下采样然后再激活等。目前比较受欢迎的数据归一化层有:BN(Batch Normalization),LN(Layer Normalization),IN(Instance Normalization),GN(Group Normalization)这4种。本篇文章主要是对比一下它们各自是怎么计算的。
先看对数据的归一化是这么操作的。其实就是先计算均值和方差然后再标准化即可。具体的对一个标量数据xi\in R,在给定的数据集X = x_{1},x_{2},...,x_{m}中进行标准化是按如下进行计算的:
先计算给定数据集的均值和方差:

\mu = \frac{1}{m}\sum^m_{i=1}{x_{i}}

\sigma ^{2} = \frac{1}{m}\sum^m_{i=1}{(x_{i}-\mu)^{2}}

然后对这个数据集中的每个数进行标准化(归一化):

\widehat{x}= \frac{x_{i}-\mu}{\sqrt{\sigma^{2}+\epsilon }}

BN、LN、IN、GN这4种归一化方法的区别就是用于计算均值和方差的数据集不同。后面我以卷积层后跟归一化来举例,我叫需要进行标准化的值为一个像素点,那么数据集叫像素集。我们来看一下这4种方法它们计算均值和方差的像素集有什么区别。(蓝色区域即为该方法对应的计算一次均值和方差的像素集,当然最终是要将整个方块按区域划分分别进行一次归一化)。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值