批量归一化而不是输入归一化

Batch normalization instead of input normalization

我可以在输入层之后立即使用批量归一化层而不对数据进行归一化吗?我可以期望得到类似的 effect/performance 吗?

在 keras 函数中它会是这样的:

x = Input (...)
x = Batchnorm(...)(x)
...

你可以的。但是 batchnorm 的好处,除了激活分布稳定之外,平均值和标准偏差可能会随着网络的学习而迁移。

实际上,在输入层之后立即设置 batchnorm 是一个奇特的 数据预处理 步骤。它有帮助,有时很多(例如在线性回归中)。但是一次计算整个训练样本的均值和方差比逐批学习更容易和更有效。请注意,batchnorm 在性能方面不是免费的,您不应该滥用它。