【问题标题】:Why Batch-normalization Layer follows scale layer in caffe?为什么批量归一化层遵循 caffe 中的缩放层?
【发布时间】:2018-10-12 07:07:55
【问题描述】:

我注意到 Batch Normalization 层遵循移动网络中的 Scale 层。看来BN层和尺度层是一对。
并且卷积层 + BN 层 + Scale 层 + ReLU 层效果很好。
那么比例层是做什么的呢?
看来 caffe 在 BN 层无法学习参数,所以 Scale 层是有用的,但是为什么呢?
在张量流文档中,https://www.tensorflow.org/api_docs/python/tf/contrib/layers/batch_norm

当下一层是线性的(例如 nn.relu)时,这可以是 禁用,因为缩放可以由下一层完成。

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

【问题讨论】:

    标签: deep-learning caffe batch-normalization


    【解决方案1】:

    Batch Normalization 做了两件事:首先使用批次中激活的均值和标准差进行归一化,然后执行缩放和偏差以恢复适当的激活范围。

    Caffe 用两层实现了这一点,Batch Normalization 层只做标准化部分,没有缩放和偏差,这可以通过缩放层完成,或者如果下一层也可以进行缩放甚至可能不需要(这是 TF 文档提到的)。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-09-21
      • 2020-10-23
      • 2017-05-10
      • 2020-04-04
      • 2019-06-16
      • 1970-01-01
      • 2018-04-11
      • 2018-11-08
      • 2017-05-11
      相关资源
      最近更新 更多