批量标准化:采用均值和方差的轴

时间:2016-03-03 22:44:49

标签: neural-network conv-neural-network

我正在尝试在我的卷积神经网络中实现批量标准化(http://arxiv.org/pdf/1502.03167.pdf),但我真的很困惑,因为围绕我应该计算平均值和方差的轴。

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

以下公式中的轴应该是什么
Mean = numpy.mean(input_layer,axis =?)

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

同样,以下公式中的轴应该是什么
Mean = numpy.mean(input_layer,axis =?)

1 个答案:

答案 0 :(得分:2)

# 1. axis = (1,2,3)
numpy.mean(input_layer,axis=(1,2,3)) 
# 2. axis = 1
numpy.mean(input_layer,axis=1)

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

Keras库的BN层代码供参考:https://github.com/fchollet/keras/blob/0daec53acbf4c3df6c054b36ece5c1ae2db55d86/keras/layers/normalization.py