我是一个深度学习初学者,最近在看这本书《Deep learning with Python》,例子解释了在keras中使用MNIST实现灰度图像分类的过程,在编译步骤中,它说,
在训练之前,我们将通过将数据重塑为网络期望的形状并对其进行缩放来预处理数据,以便所有值都在 [0, 1] 区间内。例如,以前,我们的训练图像存储在 uint8 类型的形状 (60000, 28, 28) 数组中,其值在 [0, 255] 区间内。我们将其转换为一个形状为 (60000, 28 * 28) 的 float32 数组,其值介于 0 和 1 之间。
图像存储在 uint8 类型的形状 (60000, 28, 28) 数组中,值在 [0, 255] 区间内。据我了解,这些值在每个像素的 0-255 之间,并存储为 3D 矩阵。有人可以解释为什么需要通过缩放它来将其“转换”为网络期望,并使其“所有值都在 [0, 1] 区间内。”?
如果我没有正确解释某些部分,也请提出建议。