CNN 中的批量归一化和输入归一化

数据挖掘 美国有线电视新闻网 正常化 批量标准化
2022-02-13 06:28:14

我在 Keras 上构建了我的 CNN,通常在ImageDataGenerator我看到rescale = 1. / 255用于将输入数据(像素值)从 [0-255] 标准化到 [0-1] 的过程中。然后我阅读了Batch Normalization Layer,我想知道它们是互斥的还是可以在同一个网络中一起使用?

我已经尝试将 BN 层调整到我的网络(每个激活层之后的 BN),但损失比不使用 BN 时波动更大。

1个回答
  1. 将输入重新缩放到 [0,1] 基本上并不重要。您的输入数据应该只是在相同的范围内。所以 [0,255] 也是一个合法的范围。

  2. BN 应该有不同的解释。它有助于将整个网络的激活保持在同一水平。当我们谈论更深层次的架构时,它尤其有用。实际上,当您花费一些额外的时间/迭代时,您的网络也应该在没有 BN 的情况下收敛。