我注意到,批处理规范化层在移动网络中紧随Scale层之后。 BN层和刻度层似乎是一对。
卷积层+ BN层+缩放层+ ReLU层效果很好。
那是什么比例层呢?
似乎caffe无法在BN层中学习参数,因此Scale层很有用,但是为什么呢?
在tensorflow文档中,https://www.tensorflow.org/api_docs/python/tf/contrib/layers/batch_norm
当下一层是线性的(例如nn.relu)时,可以是 由于可以在下一层进行缩放,因此已禁用。
这让我更加困惑。 请帮助我,谢谢!
答案 0 :(得分:1)
批处理规范化有两件事:首先用批处理中的激活平均值和标准偏差进行规范化,然后执行缩放和偏差以恢复适当范围的激活。
Caffe通过两层实现了这一点,批处理归一化层仅执行归一化部分,而没有缩放和偏差,这可以通过缩放层来完成,或者甚至在下一层也可以进行缩放时甚至不需要(这就是TF文档提到的内容。
希望这会有所帮助。