Neural network 批次标准化:取均值和方差的轴

Neural network 批次标准化:取均值和方差的轴,neural-network,conv-neural-network,Neural Network,Conv Neural Network,我试图在我的卷积神经网络中实现批标准化(),但我真的很困惑,我应该围绕哪个轴计算均值和方差 如果conv层的输入为形状3*224*224*32 其中: 3-输入通道。 224*224-单通道的形状 32-小批量 以下公式中的轴应该是什么 平均值=numpy.Mean(输入层,轴=?) 并且,如果全连接层的输入为形状100*32 其中: 100-输入数量 32-小批量大小 同样,以下公式中的轴应该是什么 平均值=numpy.Mean(输入层,轴=?) 对于具有共享权重的卷积层,它使用基于特征的归一

我试图在我的卷积神经网络中实现批标准化(),但我真的很困惑,我应该围绕哪个轴计算均值和方差

如果conv层的输入为形状3*224*224*32
其中:
3-输入通道。
224*224-单通道的形状
32-小批量

以下公式中的轴应该是什么
平均值=numpy.Mean(输入层,轴=?)

并且,如果全连接层的输入为形状100*32
其中:
100-输入数量
32-小批量大小

同样,以下公式中的轴应该是什么 平均值=numpy.Mean(输入层,轴=?)

对于具有共享权重的卷积层,它使用基于特征的归一化,对于完全连接的层,它使用基于样本的归一化


Keras库BN层代码供参考:

Hi dontloo,谢谢您的回复。但在第3.2节(Batach归一化卷积网络)下的BN文件中提到:“我们使用大小为m′=|B |=m·pq的有效小批量”,其中p x q是特征图的大小。所以这难道不意味着卷积层和完全连接层的轴应该不同吗?@Amrit是的,你是对的,对我的胡说八道的回答非常抱歉。我会更新它一点,并链接一些代码以供参考。谢谢,对我来说这似乎是正确的。我想我们也可以用“numpy.mean(input_layer,axis=(1,2,3))”来表示conv layer,它是你答案的更简洁的形式。@Amrit yep你又对了,就像你回答了你自己的问题,我只是在这里给你写下来,哈哈
# 1. axis = (1,2,3)
numpy.mean(input_layer,axis=(1,2,3)) 
# 2. axis = 1
numpy.mean(input_layer,axis=1)