全连接层后面加bn层_深度学习推理时融合BN,轻松获得约5%的提速

3e8b6610044e539bda554f5733537f4a.png
批归一化(Batch Normalization)因其可以加速神经网络训练、使网络训练更稳定,而且还有一定的正则化效果,所以得到了非常广泛的应用。但是,在推理阶段,BN层一般是可以完全融合到前面的卷积层的,而且丝毫不影响性能。
本文首发:AIZOO

Batch Normalization是谷歌研究员于2015年提出的一种归一化方法,其思想非常简单,一句话概括就是,对一个神经元(或者一个卷积核)的输出减去统计得到的均值除以标准差然后乘以一个可学习的系数,再加上一个偏置,这个过程就完成了。

下面我们简单介绍一下BN训练时怎么做,推理的时候为什么可以融合,以及怎么样融合。

一. BN训练时如何做

训练过程中BN层的运算,用公式表达也很简单,对于一个Batch内的第

个样本,假设某个神经元的输出是
, 则经过 BN 层后的输出 也就是:

其中

为一个Batch内 的均值,
为一个Batch内的 的标准差,
为一个非常小的常数,例如 0.001, 主要是为了避免除零错误,均值和方差的计算方法分别为:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值