深入理解Batch Normalization批标准化

Batch Normalization是一种被广泛采用的技术,使训练更加快速和稳定,已成为最有影响力的方法之一。然而,尽管它具有多种功能,但仍有一些地方阻碍了该方法的发展,正如我们将在本文中讨论的那样,这表明做归一化的方法仍有改进的余地。

为什么要用BN?

什么是Batch Normalization

在训练过程中,当我们更新之前的权值时,每个中间激活层的输出分布会在每次迭代时发生变化。这种现象称为内部协变量移位,所以很自然的一件事,如果我想防止这种情况,就是修正所有的分布。简单来说,如果我的分布变化了,我会限制这个分布,不会让他移动,以帮助梯度优化和防止梯度消失,这就帮助我的神经网络训练的更快,因此减少这种内部协变量位移是推动BN发展的关键原则。

它如何工作

BN通过在batch上减去经验平均值除以经验标注差来对前一个输出层的输出进行归一化,这种数使数据看起来更像高斯分布

优点

我将列举使用BN的一些好处

  • 更快的收敛
  • 降低初始权重的重要性
  • 鲁棒的超参数
  • 需要较少的数据进行泛化
缺点

在使用小batch的时候不稳定
如上所述,BN必须计算平均值和方差,以便在batch中对之前的输出进行归一化,如果batch大小比较大的话,这种统计是比较准的,而随着batch大小的减少,估计的准确性持续减少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值