kar*_*rla 126 normalization neural-network
关于神经网络理论,这是一个主要问题:
为什么我们必须规范化神经网络的输入?
我理解有时,例如当输入值是非数字时,必须执行某个转换,但是当我们有数字输入时?为什么数字必须在一定的间隔内?
如果数据未规范化会发生什么?
fin*_*nnw 90
这里解释得很好.
如果输入变量是线性组合的,就像在MLP中一样,那么至少在理论上很少有必要对输入进行标准化.原因是通过改变相应的权重和偏差可以有效地撤消输入向量的任何重新缩放,从而使您具有与之前完全相同的输出.但是,有很多实际的原因可以解释为什么标准化输入可以使训练更快,并减少陷入局部最优的可能性.此外,使用标准化输入可以更方便地完成重量衰减和贝叶斯估计.
Yur*_*kyy 53
在神经网络中,不仅要对数据进行标准化,还要对其进行扩展,这是一个好主意.这旨在更快地接近错误表面的全局最小值.见下图:


图片来自关于神经网络的课程.该课程的作者是Geoffrey Hinton.
Mch*_*chl 19
NN的某些输入可能没有"自然定义"的值范围.例如,平均值可能缓慢,但随着时间的推移不断增加(例如数据库中的多个记录).
在这种情况下,将此原始值提供给您的网络将无法正常工作.您将使用范围较低部分的值来教您的网络,而实际输入将来自此范围的较高部分(并且很可能在网络已学会使用的范围之上).
您应该规范化此值.例如,您可以告诉网络自上一次输入以来值的变化程度.通常可以在特定范围内以高概率定义该增量,这使其成为网络的良好输入.
Ten*_*ort 12
在将输入特征提供给神经网络之前,我们必须对其进行归一化的原因有两个:
原因 1:如果 aFeature在Dataset规模上比其他人大,那么这个大尺度特征将成为主导,因此,神经网络的预测将不准确。
示例:在员工数据的情况下,如果我们考虑年龄和薪水,年龄将是两位数,而薪水可以是 7 或 8 位数字(100 万等)。在这种情况下,薪水将主导神经网络的预测。但是如果我们对这些特征进行归一化,那么这两个特征的值将位于(0 到 1)的范围内。
原因 2:神经网络的前向传播涉及具有输入特征的权重的点积。因此,如果值非常高(对于图像和非图像数据),则输出的计算需要大量的计算时间和内存。反向传播期间的情况也是如此。因此,如果输入未归一化,则模型收敛缓慢。
示例:如果我们进行图像分类,图像的大小会非常巨大,因为每个像素的值范围从 0 到 255。在这种情况下,归一化非常重要。
下面提到的是标准化非常重要的实例:
Osw*_*ald 11
从外部看神经网络,它只是一个需要一些参数并产生结果的函数.与所有函数一样,它有一个域(即一组合法参数).您必须规范化要传递给神经网络的值,以确保它在域中.与所有函数一样,如果参数不在域中,则不保证结果是合适的.
神经网络对域外参数的确切行为取决于神经网络的实现.但总的来说,如果参数不在域内,结果就没用了.
当您使用未归一化的输入特征时,损失函数可能具有非常细长的谷。当使用梯度下降进行优化时,这会成为一个问题,因为对于某些参数,梯度会很陡峭。当您在陡坡之间跳跃时,这会导致搜索空间中出现较大的振荡。为了补偿,您必须以较小的学习率来稳定优化。
考虑特征 x1 和 x2,其范围分别为 0 到 1 和 0 到 100 万。事实证明,相应参数(例如 w1 和 w2)的比率也会很大。
归一化倾向于使损失函数更加对称/球形。这些更容易优化,因为梯度倾向于指向全局最小值,您可以采取更大的步骤。
| 归档时间: |
|
| 查看次数: |
99539 次 |
| 最近记录: |