我刚刚读了这篇文章:理解深度学习(仍然)需要重新思考泛化
在第 6.1 节中,我偶然发现了以下句子
具体来说,在模型容量大大超过训练集大小的过度参数化机制中,拟合所有训练示例(即,对训练集进行插值),包括噪声样本,不一定与泛化不一致。
在拟合训练数据的情况下,我不完全理解“插值”一词。为什么我们在这种情况下说“插值”?这个词在这里到底是什么意思?有没有其他术语可以代替?
在我的理解中,插值意味着在训练域内对一些不属于训练集的新输入进行预测。
我刚刚读了这篇文章:理解深度学习(仍然)需要重新思考泛化
在第 6.1 节中,我偶然发现了以下句子
具体来说,在模型容量大大超过训练集大小的过度参数化机制中,拟合所有训练示例(即,对训练集进行插值),包括噪声样本,不一定与泛化不一致。
在拟合训练数据的情况下,我不完全理解“插值”一词。为什么我们在这种情况下说“插值”?这个词在这里到底是什么意思?有没有其他术语可以代替?
在我的理解中,插值意味着在训练域内对一些不属于训练集的新输入进行预测。
你的问题已经得到了两个很好的答案,但我觉得需要更多的上下文。
首先,我们在这里讨论的是过度参数化的模型和双下降现象。通过过度参数化模型,我们的意思是具有比数据点更多的参数。例如,Neal (2019) 和 Neal 等人 (2018) 为 100 个 MNIST 图像的样本训练了一个具有数十万个参数的网络。讨论的模型太大了,以至于它们对于任何实际应用都是不合理的。因为它们太大了,它们能够完全记住训练数据。在双重下降现象在机器学习界引起更多关注之前,人们普遍认为记忆训练数据会导致过度拟合和泛化能力差。
正如@jcken 已经提到的,如果一个模型有大量的参数,它可以很容易地将一个函数拟合到数据中,这样它就可以“连接所有的点”,并且在预测时只是在点之间进行插值。我再重复一遍,但直到最近我们还认为这会导致过度拟合和性能下降。对于极其庞大的模型,情况并非如此。模型仍然会进行插值,但函数会非常灵活,不会损害测试集的性能。
为了更好地理解它,请考虑彩票假设。粗略地说,如果你随机初始化和训练一个大型机器学习模型(深度网络),这个网络将包含一个较小的子网络,即“彩票”,这样你就可以在保持性能的同时修剪大型网络保证。下面的图片(取自链接的帖子)说明了这种修剪。拥有大量的参数就像买了一堆彩票,你拥有的越多,你中奖的机会就越高。在这种情况下,您可以找到一个彩票模型,它在数据点之间进行插值,但也可以泛化。
另一种思考方式是将神经网络视为一种集成模型。每个神经网络都有一个 pre-ultimate 层(下图,改编自此),您可以将其视为问题的中间表示的集合。然后聚合该层的输出(通常使用密集层)以进行最终预测。这就像集成许多较小的模型。同样,如果较小的模型记住了数据,即使每个模型都会过拟合,通过聚合它们,效果也有望抵消。
所有机器学习算法都在数据点之间进行插值,但如果参数多于数据,您实际上会记住数据并在它们之间进行插值。
除了插值的字面意思外,这与所谓的深度学习模型有关totally memorize the training data
。因此,interpolating
在memorisation
本文/上下文中都意味着零训练损失,但在测试集上仍然没有过度拟合。因此,奇怪的现象,通常我们称之为过度拟合(实际上是过度训练),尚未解决。
我要补充一点,引用实际上包含定义,“拟合所有训练示例......包括嘈杂的示例”。所以训练损失为零。评论“包括嘈杂的”意味着数据是由一个过程生成的说
其中表示噪声。通过拟合模型使得即使在非零时,您也可以进行插值。