为什么批标准化层遵循caffe中的缩放层?

时间:2018-10-12 07:07:55

标签: deep-learning caffe batch-normalization

我注意到,批处理规范化层在移动网络中紧随Scale层之后。 BN层和刻度层似乎是一对。
 卷积层+ BN层+缩放层+ ReLU层效果很好。
那是什么比例层呢?
似乎caffe无法在BN层中学习参数,因此Scale层很有用,但是为什么呢?
在tensorflow文档中,https://www.tensorflow.org/api_docs/python/tf/contrib/layers/batch_norm

  

当下一层是线性的(例如nn.relu)时,可以是   由于可以在下一层进行缩放,因此已禁用。

这让我更加困惑。 请帮助我,谢谢!

1 个答案:

答案 0 :(得分:1)

批处理规范化有两件事:首先用批处理中的激活平均值和标准偏差进行规范化,然后执行缩放和偏差以恢复适当范围的激活。

Caffe通过两层实现了这一点,批处理归一化层仅执行归一化部分,而没有缩放和偏差,这可以通过缩放层来完成,或者甚至在下一层也可以进行缩放时甚至不需要(这就是TF文档提到的内容。

希望这会有所帮助。