我正在尝试在我的卷积神经网络中实现批量标准化(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 =?)
答案 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