噪声如何影响泛化?

人工智能 神经网络 机器学习 统计人工智能 概括
2021-11-14 20:46:30

增加数据中的噪声是否有助于提高网络的学习能力?它有什么不同还是取决于要解决的问题?它如何影响整体的泛化过程?

3个回答

合理数量的数据中的噪声可能有助于网络更好地泛化。有时,它会产生相反的效果。它部分取决于噪声的种类(“真实”与人工)。

ANN 上的AI FAQ提供了一个很好的概述。摘抄:

实际数据中的噪声绝不是一件好事,因为无论训练集有多大,它都会限制泛化的准确性。另一方面,在训练期间向输入中注入人工噪声(抖动)是在训练集较小时提高平滑函数泛化能力的几种方法之一。

在某些领域,例如计算机视觉,通过复制一些样本并添加一些噪声或其他变换来增加训练集的大小是很常见的。

我们通常将机器学习模型视为对训练数据的两个不同部分进行建模——潜在的可概括事实(信号)和特定于该数据集的随机性(噪声)。

拟合这两个部分会提高训练集的准确性,但拟合信号也会提高测试集的准确性(和实际性能),而拟合噪声会降低两者。因此,我们使用正则化和 dropout 等类似技术,以使其更难拟合噪声,从而更有可能拟合信号。

仅仅增加训练数据中的噪声量就是这样一种方法,但似乎不太有用。例如,将随机抖动与对抗性提升进行比较;第一个将缓慢而间接地提高鲁棒性,而后者将显着而直接地提高它。

PS:这里已经提供了一些非常好的答案,我只会添加这个答案,希望有人会觉得这很有用:

将噪声引入数据集确实可以对模型产生积极影响。事实上,这可以看作是在做同样的事情,你通常会用dropout这样的正则化器做同样的事情。这样做的一些例子是Zur at.alCires¸at.al,作者成功地将噪声引入数据集以减少过度拟合。

关键在于知道有多少噪音是太多了。如果添加太多噪音,这可能会使您的数据集变得无用,因为生成的数据集可能不再包含与原始数据集足够的相似性,因此您不妨在完全不同的数据集上进行训练。因此,可以看到过多的噪声会导致拟合不足,就像极高​​的辍学率一样。

俗话说; 改变平衡是生活的调味品:)。