使用批量标准化时是否需要缩放数据 [0,1]?

机器算法验证 回归 神经网络 正常化 批量标准化
2022-01-30 18:05:11

虽然 Relu 激活函数可以处理实数值,但我尝试在 [0,1] 范围内缩放数据集(最小-最大缩放)在将其馈送到神经网络之前更有效。另一方面,批量归一化(BN)也是在传递给非线性层(激活函数)之前对数据进行归一化。我想知道在应用 BN 时是否仍需要 min-max 缩放。我们可以一起执行 min-max scaling 和 BN 吗?如果有人指导我更好地理解,那就太好了

2个回答

如前所述,最好使用 [-1, 1] 最小-最大缩放或零均值、单位方差标准化。将数据缩放到 [0, 1] 会导致学习缓慢。

要回答您的问题:的,您仍然应该将您的输入标准化到使用 Batch Normalization 的网络。这将确保第一层的输入具有零均值并且来自相同的分布,而后续层上的批量标准化将确保这些层的输入在预期中具有零均值,并且它们的分布不会随时间漂移。

我们想要零均值和稳定输入分布的原因将在Efficient BackProp的第 4.3 节中进一步讨论。

在这种情况下,扩展数据只会影响网络的第一层。此外,如果您要缩放输入,最好将其缩放为 [-1, 1],但最好将其缩放为 0 均值和 1 方差(因为您的权重可能已初始化为期望这种分布)。

并不是说它无论如何都会产生巨大的影响。