Batch Normalization:批量归一化详解

为什么要使用BN

在深度学习中,层数很多,可能有几十层甚至上百层,每次训练激活的过程中,参数不断改变,导致后续每一层输入的分布也发生变化,而学习的过程就是要使每一层适应输入的分布,如果不做BN就会使模型学的很小心,也会使学习速率变慢,因此我们不得不降低学习率、小心地初始化。

那怎么才能让我们的模型学习的更高效呢?
原有的方式可能是歪着学的,学的效果不是很好,如下图B所示,现在我们需要让它激活到一个更适合学习的位置上,那就需要把它放到原点,这个位置更适合,这时候就需要BN了

原点周围更敏感,假定一开始你的数据不在原点周围,后面如果越来越偏,说不定会偏去哪,也就是指W一会大一会小,一会是正值,一会是负值,如下图B所示,也不利于更新。

在这里插入图片描述

BN的工作原理

批量归一化 (Batch Normalization, BN)方法是一种有效的逐层归一化方法,可以对神经网络中任意的中间层进行归一化操作。

Batch Normalization,顾名思义,以进行学习时的batch为单位,按batch进行规范化。具体而言,把每层神经网络任意神经元输入值的分布强行拉回到均值为0方差为1的标准正态分布,用数学式表示的话,如下所示:

在这里插入图片描述

m代表batch的大小, μ B μ_B μ<

  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雷恩Layne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值