为什么我们必须规范化人工神经网络的输入?

kar*_*rla 126 normalization neural-network

关于神经网络理论,这是一个主要问题:

为什么我们必须规范化神经网络的输入?

我理解有时,例如当输入值是非数字时,必须执行某个转换,但是当我们有数字输入时?为什么数字必须在一定的间隔内?

如果数据未规范化会发生什么?

fin*_*nnw 90

这里解释得很好.

如果输入变量是线性组合的,就像在MLP中一样,那么至少在理论上很少有必要对输入进行标准化.原因是通过改变相应的权重和偏差可以有效地撤消输入向量的任何重新缩放,从而使您具有与之前完全相同的输出.但是,有很多实际的原因可以解释为什么标准化输入可以使训练更快,并减少陷入局部最优的可能性.此外,使用标准化输入可以更方便地完成重量衰减和贝叶斯估计.

  • 嗨,在MLP中,在使用恒定学习率的同时不能对功能进行标准化会导致针对不同尺寸的反向传播校正中的补偿过度/补偿不足吗?我从以下帖子中怀疑这是否是CNN专有的,或者MLP是否可能遇到此问题:https://stats.stackexchange.com/questions/185853/why-do-we-need-to-normalize-the将图像放入cnn之前的图像 (2认同)
  • 问题:梯度下降选择。过程可能需要更长的时间。为什么?当特征具有不同尺度(x1=0-1 和 x2=0..1000)时,误差函数曲面可能会变长。含义:不同尺寸(w1,w2)的不同比例。但所有 Dim 的学习率都是*相同* --> 拉长的 Dim (w2) 中的步长非常小,直到达到局部最小值。问题:无法包含 LR,因为它将跳过另一个暗淡 (w1) 中的本地最小值。请参阅演示 https://www.youtube.com/watch?reload=9&v=UIp2CMI0748 (2认同)

Yur*_*kyy 53

在神经网络中,不仅要对数据进行标准化,还要对其进行扩展,这是一个好主意.这旨在更快地接近错误表面的全局最小值.见下图: 标准化之前和之后的错误表面

缩放前后的误差表面

图片来自关于神经网络的课程.该课程的作者是Geoffrey Hinton.

  • 你可以信任你发布的图形的作者.该图片清楚地取自[Geoffrey Hinton的课程](https://www.coursera.org/learn/neural-networks/). (12认同)
  • 我发现[此视频](https://www.youtube.com/watch?reload=9&v=UIp2CMI0748)确实有助于解释上图,这对我来说并不明显。 (2认同)

Mch*_*chl 19

NN的某些输入可能没有"自然定义"的值范围.例如,平均值可能缓慢,但随着时间的推移不断增加(例如数据库中的多个记录).

在这种情况下,将此原始值提供给您的网络将无法正常工作.您将使用范围较低部分的值来教您的网络,而实际输入将来自此范围的较高部分(并且很可能在网络已学会使用的范围之上).

您应该规范化此值.例如,您可以告诉网络自上一次输入以来值的变化程度.通常可以在特定范围内以高概率定义该增量,这使其成为网络的良好输入.


Ten*_*ort 12

在将输入特征提供给神经网络之前,我们必须对其进行归一化的原因有两个:

原因 1:如果 aFeatureDataset规模上比其他人大,那么这个大尺度特征将成为主导,因此,神经网络的预测将不准确。

示例:在员工数据的情况下,如果我们考虑年龄和薪水,年龄将是两位数,而薪水可以是 7 或 8 位数字(100 万等)。在这种情况下,薪水将主导神经网络的预测。但是如果我们对这些特征进行归一化,那么这两个特征的值将位于(0 到 1)的范围内。

原因 2:神经网络的前向传播涉及具有输入特征的权重的点积。因此,如果值非常高(对于图像和非图像数据),则输出的计算需要大量的计算时间和内存。反向传播期间的情况也是如此。因此,如果输入未归一化,则模型收敛缓慢。

示例:如果我们进行图像分类,图像的大小会非常巨大,因为每个像素的值范围从 0 到 255。在这种情况下,归一化非常重要。

下面提到的是标准化非常重要的实例:

  1. K均值
  2. K-最近邻
  3. 主成分分析 (PCA)
  4. 梯度下降


Osw*_*ald 11

从外部看神经网络,它只是一个需要一些参数并产生结果的函数.与所有函数一样,它有一个域(即一组合法参数).您必须规范化要传递给神经网络的值,以确保它在域中.与所有函数一样,如果参数不在域中,则不保证结果是合适的.

神经网络对域外参数的确切行为取决于神经网络的实现.但总的来说,如果参数不在域内,结果就没用了.

  • 如果采用通常的激活函数(ReLu或Sigmoid),则域始终是整个空间R ^ n.所以这不能成为规范化数据的原因. (14认同)
  • 这也不能解释为什么图像被标准化,因为它们已经有一个域 0-255 (2认同)

cry*_*ick 5

当您使用未归一化的输入特征时,损失函数可能具有非常细长的谷。当使用梯度下降进行优化时,这会成为一个问题,因为对于某些参数,梯度会很陡峭。当您在陡坡之间跳跃时,这会导致搜索空间中出现较大的振荡。为了补偿,您必须以较小的学习率来稳定优化。

考虑特征 x1 和 x2,其范围分别为 0 到 1 和 0 到 100 万。事实证明,相应参数(例如 w1 和 w2)的比率也会很大。

归一化倾向于使损失函数更加对称/球形。这些更容易优化,因为梯度倾向于指向全局最小值,您可以采取更大的步骤。