Batch normalization相关理解

normalization–归一化

BN–批标准化
定义将一批数据统一到指定格式。(在数据处理时常用的是将一组范围差距较大或者单位不同的数据依据一定规则变化到指定的范围之内)

BN来源之前的研究表明如果在图像处理中对输入图像进行白化(Whiten)操作的话——所谓白化,就是对输入数据分布变换到0均值,单位方差的正态分布——那么神经网络会较快收敛。 图像是深度神经网络的输入层,做白化能加快收敛,那么其实对于深度网络来说,其中某个隐层的神经元是下一层的输入,意思是其实深度神经网络的每一个隐层都是输入层,不过是相对下一层来说而已,那么能不能对每个隐层都做白化呢?这就是启发BN产生的原初想法,而BN也确实就是这么做的,可以理解为对深层神经网络每个隐层神经元的激活值做简化版本的白化操作。

BN的原因
这个写的很好:

Batch normalization相关理解_第1张图片

BN的做法 BatchNorm就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布的。

BN的优缺点

  • 减少梯度消失,加快了收敛过程。
  • 起到类似dropout一样的正则化能力,一定程度上防止过拟合。
  • 放宽了一定的调参要求。
    但是需要计算均值与方差,不适合动态网络或者RNN。计算均值方差依赖每批次,因此数据最好足够打乱。

参考:https://blog.csdn.net/hffhjh111/article/details/86994445
(这个写得好)https://www.cnblogs.com/guoyaohua/p/8724433.html

你可能感兴趣的:(batch,计算机视觉,开发语言)