关于空间BN

批次归一化对每个神经元都进行了归一化,或者说对每个特征都进行了归一化,并且用可学习的参数\gamma\beta进行重构。

那么如果卷积神经网络有3个通道,长和宽都是244,BN将需要学习3*244*244*2个参数,计算量是不是太大了?

实际上BN在CNN中只学习了3*2个参数,这里也有一个参数共享,它把一个特征图作为一个神经元,也就是说,对于同一个特征图,不同的像素点,采用的均值和方差是一样的。

那么具体计算均值和方差的时候应该怎么做呢?BN相当于把一个特征图的每个像素点都看成是这个特征的样本,因此,假设一个mini batch的数据是8*3*224*224,那么对于其中一个通道(特征图)的不同样本,就是8*244*244个像素,直接flatten,然后再计算mean和var即可,对每个特征图,都这样计算一次。

以上是个人的理解,网上查不到太多关于BN是“如何把一个特征图作为一个特征”的资料,并且pytorch的源码追不到这里面的细节,唯一的参考链接如下,也在github上进行了一点查证。如果有不对的地方,欢迎大佬指正,感激不尽。

参考的链接:


https://www.cnblogs.com/king-lps/p/8378561.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

白马少年郎

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

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

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

打赏作者

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

抵扣说明:

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

余额充值