为什么正则化不能解决深度神经网络对数据的渴望?

机器算法验证 神经网络 深度学习 正则化
2022-02-07 17:21:09

在一般的神经网络,尤其是深度神经网络的背景下,我经常看到的一个问题是它们“需要大量数据”——也就是说,除非我们拥有大量数据集,否则它们的性能不佳用来训练网络。

我的理解是,这是因为 NNets,尤其是 Deep NNets,具有大量的自由度。所以作为一个模型,一个 NNet 的参数数量非常多,如果模型的参数数量相对于训练数据点的数量很大,就会增加过度拟合的趋势。

但是为什么这个问题不能通过正则化来解决呢?据我所知,NNets 可以使用 L1 和 L2 正则化,也有自己的正则化方法,如 dropout,可以减少网络中的参数数量。

我们可以选择我们的正则化方法,以便它们强制简约并限制网络的大小吗?


澄清一下我的想法:假设我们正在使用大型 Deep NNet 来尝试对我们的数据进行建模,但数据集很小,实际上可以通过线性模型进行建模。那么为什么网络权重不以一个神经元模拟线性回归而所有其他神经元收敛为零的方式收敛呢?为什么正则化对此没有帮助?

4个回答

解释它的简单方法是正则化有助于不适应噪声,它在确定信号的形状方面没有多大作用。如果您将深度学习视为一个巨大的光荣的函数逼近器,那么您就会意识到它需要大量数据来定义复杂信号的形状。

如果没有噪声,那么增加 NN 的复杂性会产生更好的近似值。NN 的大小不会受到任何惩罚,在任何情况下更大会更好。考虑泰勒近似,对于非多项式函数,更多的项总是更好(忽略数值精度问题)。

这在出现噪音时会失效,因为您开始适应噪音。因此,正则化可以提供帮助:它可能会减少对噪声的拟合,从而使我们能够构建更大的NN 来拟合非线性问题。

以下讨论对我的回答不是必需的,但我部分补充是为了回答一些评论并激发上述答案的主体。基本上,我的其余答案就像汉堡餐附带的法国大火,您可以跳过它。

(Ir)相关案例:多项式回归

让我们看一个多项式回归的玩具示例。它也是许多函数的一个很好的逼近器。我们将研究区域函数。从下面的泰勒级数中可以看出,7 阶展开式已经非常适合,因此我们可以预期 7+ 阶的多项式也应该非常适合:sin(x)x(3,3)

在此处输入图像描述

接下来,我们将逐步将具有更高阶的多项式拟合到具有 7 个观测值的非常嘈杂的小型数据集:

在此处输入图像描述

我们可以观察到许多知情人士告诉我们的关于多项式的内容:它们是不稳定的,并且随着多项式阶数的增加而开始剧烈振荡。

然而,问题不在于多项式本身。问题是噪音。当我们将多项式拟合到噪声数据时,拟合的一部分是噪声,而不是信号。这是相同的精确多项式适合相同的数据集,但噪声已完全消除。合身很棒!

注意 6 阶视觉上的完美拟合。这不足为奇,因为我们只需要 7 次观察就可以唯一识别 6 阶多项式,而且我们从上面的泰勒近似图中看到,6 阶已经是在我们的数据范围内。sin(x)

在此处输入图像描述

另请注意,高阶多项式的拟合不如 6 阶,因为没有足够的观测值来定义它们。那么,让我们看看 100 次观察会发生什么。在下面的图表中,您可以看到更大的数据集如何使我们能够拟合高阶多项式,从而实现更好的拟合!

在此处输入图像描述

很好,但问题是我们通常处理嘈杂的数据。看看如果你对 100 个非常嘈杂的数据进行相同的观察,会发生什么,见下表。我们回到第一方:高阶多项式产生可怕的振荡拟合。因此,增加数据集对增加模型的复杂性以更好地解释数据并没有太大帮助。这又是因为复杂模型不仅更适合信号的形状,而且也更适合噪声的形状。

在此处输入图像描述

最后,让我们在这个问题上尝试一些蹩脚的正则化。下图显示了应用于 9 阶多项式回归的正则化(具有不同的惩罚)。将此与上述 9 阶多项式拟合进行比较:在适当的正则化水平下,可以将高阶多项式拟合到噪声数据。

在此处输入图像描述

以防万一不清楚:我不建议以这种方式使用多项式回归。多项式适用于局部拟合,因此分段多项式可能是一个不错的选择。用它们来拟合整个域通常是一个坏主意,因为它们对噪声很敏感,事实上,从上面的图中应该可以看出这一点。在这种情况下,噪声是数字还是来自其他来源并不重要。噪音就是噪音,多项式会对它做出热情的反应。

目前,尚不清楚某些正则化方法何时以及为何成功和失败。事实上,它根本不理解为什么深度学习首先会起作用。

考虑到足够深的神经网络可以完美地记住大多数表现良好的训练数据这一事实,对于任何特定的深度网络来说,错误的解决方案比正确的解决方案要多得多。从广义上讲,正则化是一种尝试限制模型对这些“错误”解决方案的表达能力——其中“错误”是由我们认为对特定领域很重要的启发式定义的。但通常很难定义启发式,这样您就不会失去“正确”的表达能力。L2 惩罚就是一个很好的例子。

很少有被认为是正则化形式的方法通常适用于 ML 的所有应用领域。视觉、NLP 和结构化预测问题都有自己的正则化技术食谱,这些技术已被证明在这些特定领域的实验中是有效的。但即使在这些领域内,这些技术也仅在某些情况下有效。例如,深度残差网络上的批量归一化似乎使 dropout 变得多余,尽管事实证明两者都可以独立地提高泛化能力。

另外,我认为正则化这个词太宽泛了,以至于很难理解它的任何内容。考虑到卷积相对于像素以指数方式限制参数空间这一事实,您可以将卷积神经网络视为普通神经网络上的正则化形式。

说明为什么这个问题是根本性的一类定理是无免费午餐定理对于有限样本的每个问题,某种正则化会有所帮助,还有另一个问题是相同的正则化会使事情变得更糟。正如 Austin 指出的那样,我们通常发现 L1/L2 正则化有助于解决许多现实世界的问题,但这只是一个观察结果,并且由于 NFL 定理,不能有一般的保证。

我想说的是,在高层次上,DNN(深度神经网络)的归纳偏差是强大的,但有点过于松散或不够固执。我的意思是,DNN 捕获了很多关于正在发生的事情的表面统计数据,但未能深入到更深层次的因果/成分高级结构。(您可以将卷积视为穷人归纳偏差规范)。

此外,机器学习社区认为,最好的泛化方法(用很少的数据做出好的推断/预测)是找到产生数据的最短程序。但是程序归纳/综合很难,我们没有有效的方法来做到这一点。所以相反,我们依赖于一个近似的电路搜索,我们知道如何通过反向传播来做到这一点。在这里,Ilya Sutskever 概述了这个想法。


为了说明以实际程序表示的模型与深度学习模型的泛化能力的差异,我将在本文中展示一个:模拟作为物理场景理解的引擎

在此处输入图像描述

(A) IPE [直觉物理引擎] 模型采用输入(例如,感知、语言、记忆、图像等)实例化场景分布(1),然后模拟物理对分布的影响(2),然后汇总结果以输出到其他感觉运动和认知能力 (3)

在此处输入图像描述

(B) 经验。1(它会掉下来吗?)塔刺激。红色边框的塔其实很平衡,另外两个高度一样,但是蓝色边框的那座被模特和人判断摔倒的可能性要小得多。

(C) Exp 中的概率 IPE 模型(x 轴)与人类判断平均值(y 轴)。1. 其他 σ 和 φ 值的相关性参见图 S3。每个点代表一个塔(带SEM),三个彩色圆圈对应B中的三个塔。

(D) 基本事实(非概率)与人类判断(实验 1)。因为它不代表不确定性,所以它无法捕捉人们对我们的一些刺激的判断,例如 B 中的红边塔。(请注意,这些情况在自然场景中可能很少见,其中配置往往更明显稳定或不稳定,预计 IPE 与地面实况的相关性要好于我们的刺激。)

我的观点是,C 语言的拟合度非常好,因为该模型捕捉到了关于人类如何做出物理判断的正确偏见。这在很大程度上是因为它模拟了实际的物理(请记住,它一个实际的物理引擎)并且可以处理不确定性。

现在显而易见的问题是:你能通过深度学习做到这一点吗?这就是 Lerer 等人在这项工作中所做的:Learning Physical Intuition of Block Towers by Example

他们的模型: 在此处输入图像描述

他们的模型实际上在手头的任务上非常好(预测下落块的数量,甚至它们的下落方向)

在此处输入图像描述

但它有两个主要缺点:

  • 它需要大量数据才能正确训练
  • 仅以浅显的方式概括:您可以转移到更逼真的图像,添加或删除 1 或 2 个块。但除此之外,性能会灾难性地下降:添加 3 或 4 个块,更改预测任务......

Tenenbaum 的实验室对这两种方法进行了比较研究:近似概率模拟和深度神经网络的比较评估作为人类物理场景理解的帐户

引用讨论部分:

CNN 的性能随着训练数据的减少而降低。尽管 AlexNet(未预训练)在 200,000 张训练图像中表现更好,但它也因缺乏数据而受到更多影响,而预训练的 AlexNet 能够从少量训练图像中更好地学习。对于我们的任务,两个模型都需要大约 1,000 张图像才能使其性能与 IPE 模型和人类相媲美。

即使是很小的场景变化,例如改变块的数量,CNN 的泛化能力也有限。相比之下,IPE 模型自然地概括并捕捉了人类判断准确性随着堆栈中的块数量而降低的方式。

总而言之,这些结果指出了神经网络(或至少是 CNN)目前没有捕捉到的人类认知的一些基本要素:世界因果过程的心智模型的存在。可以模拟因果心理模型来预测在质量新颖的情况下会发生什么,并且它们不需要大量和多样化的训练数据来广泛概括,但它们本质上会受到某些类型的错误(例如,由于状态和不确定性的传播)动态噪声)只是凭借模拟操作。

回到我想说的一点:虽然神经网络是强大的模型,但它们似乎缺乏表示因果、组合和复杂结构的能力。他们通过需要大量的训练数据来弥补这一点。

回到你的问题:我敢冒险,广泛的归纳偏差和神经网络不模拟因果关系/组合性的事实是它们需要如此多训练数据的原因。正则化不是一个很好的解决方法,因为它们泛化的方式。一个更好的解决方法是改变他们的偏见,正如 Hinton 目前正在尝试使用胶囊来建模整体/部分几何形状,或用于建模关系的交互网络。