首页 > 几种Normalization算法.md

几种Normalization算法.md

神经网络有各种归一化算法,BN,LN,IN,GN。

1. Batch Normalization

实现流程:对Tensor为[N, C, H, W], 把第1个样本的第1个通道,加上第2个样本的第1个通道, 加上第N个样本的第1个通道,求平均,得到通道1的均值。(注意是将累加和除以NxHxW,得到均值)

计算方差过程类似。

对于N本书,BN相当于把所有书的第x页加起来,计算平均值。

2. Layer Normalization

BN的一个缺点是需要较大的batchsize才能合理估计出训练数据的均值和方差,可能导致内存的大量消耗。

而layer Normalization 的一个优势是不需要批训练,在单条数据内部就能归一化。

LN对于每个样本的C、H、W维度上的数据求均值和方差。

对于N本书,LN相当于把每一本书的所有字加起来,计算平均值。

3. Instance Normalization

IN是对每一个样本上的一个通道计算平均值,只在channel 内部求均值。

对于N本书,相当于把一页书中的所有字加起来,再除以该页的总字数。

4. Group Normalization

GN相当于把一本C页的书,平均分成G份, 每份称为有若干页的小册子,求每个小册子的均值和方差。

转载于:https://www.cnblogs.com/yeran/p/11289879.html

更多相关:

  • OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式 以最简单的4 x 5三通道图像为例,其在内存中Mat类型的数据组织形式如下:   每一行的每一列像素的三个通道数据组成一个一维数组,一行像素组成一个二维数组,整幅图像组成一个三维数组,即: Mat.data[4, 5...

  • 2019独角兽企业重金招聘Python工程师标准>>> Java NIO: Channels and Buffers//通道和缓冲区Java NIO: Non-blocking IO//异步IO //一个线程可以请求通道读取数据到buffer中,当通道读取数据到buffer中的时候,这个线程依然可以做其它的事情,buffer...