如果你在使用批量归一化时,是否需要标准化输入?

我最近在Keras中尝试使用批量归一化。我在想,批量归一化是否也对神经网络的输入进行了归一化。这是否意味着我无需对网络的输入进行标准化,而是依赖BN来完成这项工作?


回答:

虽然你确实可以用它来做这件事,但批量归一化并不是为此设计的,你很可能会因为样本量有限(样本量即你的批量大小)而在归一化过程中引入抽样误差。

我不建议使用批量归一化来归一化你的输入的另一个原因是,它引入了校正项gamma和beta(训练参数),如果不禁用它们,将会扭曲你的训练数据。

对于测试数据的归一化,我建议在完整的训练集上使用z-score归一化(例如,通过sklearn的StandardScaler)或其他适当的替代方法,但不推荐使用批量归一化。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注