Machine learning 批处理规范化而不是输入规范化

Machine learning 批处理规范化而不是输入规范化,machine-learning,neural-network,keras,artificial-intelligence,batch-normalization,Machine Learning,Neural Network,Keras,Artificial Intelligence,Batch Normalization,我可以在输入层之后使用批处理规范化层而不规范化我的数据吗?我可以期望得到类似的效果/性能吗 在keras functional中,它是这样的: x = Input (...) x = Batchnorm(...)(x) ... 你能做到。但batchnorm的优点是,除了激活分布稳定外,平均值和标准偏差可能会随着网络的学习而迁移 实际上,在输入层之后设置batchnorm是一个奇特的数据预处理步骤。它有时很有帮助(例如,在线性回归中)。但是,一次计算整个训练样本的均值和方差要比一批学习更容易、

我可以在输入层之后使用批处理规范化层而不规范化我的数据吗?我可以期望得到类似的效果/性能吗

在keras functional中,它是这样的:

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

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

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



如何提前标准化整个数据(例如通过standardscaler)并使用batchnormalization?如果要标准化输入,是否需要始终在Inputlayer之后添加BN层?如果我在Inputlayer之前添加BN会发生什么?