BatchNormalization的一些总结

批归一化简称BN,是一个深度神经网络训练的技巧。

  1. 加快模型的收敛速度
  2. 一定程度上缓解了深层网络中“梯度弥散”的问题,从而使得训练深层网络模型更加容易和稳定。

Batch Normalization(BN),就是对每一批数据进行归一化。(此数据可以是输入也可以是网络中某一层的输出。)

“BN出现之前,我们归一化操作一般都在数据输入层,对输入的数据及逆行求均值以及求方差做归一化。在BN之后,可以在网络中任意一层进行归一化处理。”

数据归一化:

  不同量纲和量纲单位,会影响到数据分析的结果。标准化之后各指标处于同一数量级。

  方法一:

[0 , 1]归一化:

                                      

 

方法二:正态分布归一化:

                                              

 

BN要解决的问题:

  在训练过程中,中间层数据分布发生改变的情况,即Internal Covariate Shitf问题

BN的数据归一化:(正态分布式的归一化的基础上进行的修改)

  

 

γ是尺度因子,β是平移因子

                         

 

“把数据从梯度较小的区域移动到了梯度较大区域,这样的话模型收敛速度就快了。这是sigmoid激活函数被ReLU激活函数普遍替代的原因”

BN的本质就是利用优化变一下方差大小和均值位置,使得新的分布更切合数据的真实分布,保证模型的非线性表达能力。

总结:

BN在深层神经网络的作用非常明显:若神经网络训练时遇到收敛速度较慢或者“梯度爆炸”等无法训练的情况发生时都可以尝试用BN来解决。同时,常规使用情况下同样可以加入BN来加速模型训练,甚至提升模型精度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值