我可以在输入层之后使用批处理规范化层,而不对数据进行规范化吗?我可以期望获得类似的效果/性能吗?
在keras函数中,它将是这样的:
x = Input (...)
x = Batchnorm(...)(x)
...
最佳答案
你能行的。但是关于batchnorm的好处是,除了激活分布稳定之外,随着网络的学习,均值和std偏差可能会迁移。
实际上,在输入层之后立即设置batchnorm是一个花哨的数据预处理步骤。有时会很有帮助(例如线性回归)。但是,一次计算整个训练样本的均值和方差比逐批学习更容易,更有效。请注意,batchnorm在性能方面并非免费的,您不应滥用它。