BN层的作用就是通过参数控制了每一层输出的均值和标准差。
BN的实质是对一个batchsize中的所有batch,把所有图片的相同通道的值相加,然后求均值和方差,然后对每个点做归一化,具体可参考博客,讲的很详细。
对于N*C*W*H的输入,进行BN操作时会计算出C个均值和方差,每N*W*H计算出一个均值和方差,再用计算出来的均值和方差对N*W*H个点进行归一化。
BN其实并没有解决ICS问题,而是引入了参数γ和β去调节中间层输出的均值和标准差,γ和β会在训练过程中不断更新,意味着均值和标准差也在不断变化,即BN本质上暗含了ICS。
参考:
https://zhuanlan.zhihu.com/p/152232203
https://zhuanlan.zhihu.com/p/177853578
https://baijiahao.baidu.com/s?id=1621528466443988599&wfr=spider&for=pc