神经网络可以学习噪声吗?

人工智能 神经网络 机器学习 过拟合 极简主义
2021-11-07 21:28:24

我对以下图表感兴趣。训练神经网络以识别 MNIST 数据集中的数字,然后随机打乱标签并观察以下行为。如何解释这种行为?

什么解释了 RHS 图表的明显“镜像”,以及 RHS 上的训练误差大约为 1 的事实。等于 LHS 上的验证错误?

从图中可以明显看出,神经网络没有学习噪声——那么它到底在学习什么?

在此处输入图像描述

1个回答

什么解释了 RHS 图表的明显“镜像”,

该模型在未经训练的情况下开始,并不比随机猜测(基线)好。随着训练的进行,该模型在训练数据上的表现优于随机猜测,但在验证数据上的表现却比最初更差。

性能下降是因为它正在训练的数据现在被故意标记为与验证集不同。该任务无法概括,例如,如果4在训练数据库中有一个手写的“8”标记为,那么验证数据库中可能会标记一个看起来非常相似的“8” 1——如果训练的模型正确匹配特征,它会一直猜测4这个问题会在数据集上频繁发生,类似的问题会影响与训练样本不接近的验证示例(在特征空间中它们将“介于”许多训练示例之间,其中大部分将与验证进行不同的标记标签示例)。

随机标签图上的曲线发散程度大致受以下因素影响:

  • 训练数据的大小。更大的训练数据集将导致更少的分歧。对于训练和验证结果,近乎无限的数据集将导致接近基线的平线。
  • 模型的容量。具有更大学习复杂函数能力的模型可以更好地逼近训练数据。它做得越好,训练误差越接近零,结果验证误差就越大。

训练曲线和验证曲线之间的镜像效果并不完美,无论是在实践中还是“理想情况下”。对于一个大数据集和能够过拟合该数据集的非常高容量的模型,那么验证分数应该类似于随机猜测,因此接近基线,而训练曲线将趋向于零误差。

并且 RHS 上的训练误差约为。等于 LHS 上的验证错误?

那是巧合。但是,您可以粗略地将其解读为“尽管有乱码标签,但该模型确实学会了预测训练数据集上的标签,以及之前在未乱码数据上的泛化”。

从图中可以明显看出,神经网络没有学习噪声——那么它到底在学习什么?

它正在学习一种噪音——它正在尽最大努力逼近一个返回一组固定的不正确、随机分配的标签的函数。当随机值在数据集中冻结时,它们定义了一个可以学习的复杂函数,即使它对任何其他目的没有意义或有用。

验证错误的问题在于该噪声函数不连贯,因此当您查看泛化能力时,没有任何近似会比随机机会做得更好。事实上,它通常会随着它对训练数据的学习程度而变得更糟。

如果以某种方式使用连贯噪声分配标签,例如特征空间中的Perlin 噪声(我不确定你会如何做到这一点,但它是可行的),那么模型在验证集上的表现可能会更好。

如果标签在每个时期都被随机化,因此它们不是固定的,那么训练将不会学到任何东西,你最终会得到一条大致平坦的线来表示训练和验证错误。