为什么不直接抛弃神经网络和深度学习呢?

机器算法验证 机器学习 神经网络 支持向量机 深度学习
2022-01-19 08:22:20

深度学习和神经网络的基本问题。

  1. 适合训练数据的解决方案是无限的。我们没有精确的数学方程,只能由一个方程满足,我们可以说是最好的概括。简单地说,我们不知道哪个概括最好。

  2. 优化权重不是凸问题,所以我们永远不知道最终会得到全局最小值还是局部最小值。

那么为什么不直接抛弃神经网络,而是寻找更好的 ML 模型呢?我们理解的东西,以及与一组数学方程一致的东西?线性和 SVM 没有这个数学缺点,并且完全符合一组数学方程。为什么不直接考虑相同的思路(尽管不一定是线性的)并提出一个比线性和 SVM 以及神经网络和深度学习更好的新 ML 模型?

4个回答
  1. 无法知道哪种解决方案最能概括是一个问题,但它不应该阻止我们以其他方式使用一个好的解决方案。人类自己通常不知道什么是最好的概括(例如,考虑相互竞争的统一物理学理论),但这不会给我们带来太多问题。

  2. 已经表明,由于局部最小值而导致训练失败的情况极为罕见。深度神经网络中的大多数局部最小值都接近全局最小值,因此这不是问题。来源

但更广泛的答案是,你可以整天谈论非凸性和模型选择,人们仍然会使用神经网络,仅仅是因为它们比其他任何东西都更好(至少在图像分类之类的事情上)。

当然,也有人认为我们不应该像几十年前社区专注于 SVM 那样过于关注 CNN,而是继续寻找下一件大事。特别是,我想我记得 Hinton 对 CNN 的有效性感到遗憾,因为它可能会阻碍研究。相关帖子

正如您对问题的评论所指出的那样,有很多人正在努力寻找更好的东西。我想通过扩展@josh 留下的评论来回答这个问题


所有模型都是错误的,但有些是有用的 (Wiki)

上述陈述是用于描述统计模型性质的一般真理。使用我们可用的数据,我们可以创建模型,让我们做有用的事情,例如近似预测值。

以线性回归为例

使用大量观察,我们可以拟合一个模型,给我们一个因变量的近似值,给定自变量的任何值。

伯纳姆,KP;Anderson, DR (2002),模型选择和多模型 > 推理:实用信息理论方法(第 2 版):

“模型是对现实的简化或近似,因此不会反映所有现实。……Box 指出,“所有模型都是错误的,但有些模型是有用的。” 虽然一个模型永远不可能是“真理”,但一个模型可能会从非常有用、到有用、到有点有用到最后基本上没用。”

与我们模型的偏差(如上图所示)看起来是随机的,一些观察值低于该线,一些高于该线,但我们的回归线显示出一般相关性。虽然我们模型中的偏差看起来是随机的,但在现实场景中,还会有其他因素导致这种偏差。例如,想象一下当汽车驶过一个必须左转或右转才能继续行驶的交叉路口时,汽车的转弯没有特定的模式。虽然我们可以说汽车转向的方向是完全随机的,但是否每个司机都到达了路口,然后随机决定转向哪个方向?实际上,他们可能出于特定原因前往特定的地方,并且没有试图停下每辆车询问他们的推理,我们只能将他们的行为描述为随机的。

在我们能够以最小偏差拟合模型的情况下,我们如何确定未知、未被注意到或不可测量的变量在某个时候不会抛出我们的模型?巴西蝴蝶扇动翅膀是否会在德克萨斯州掀起龙卷风?

使用您单独提到的线性和 SVN 模型的问题在于,我们在某种程度上需要手动观察我们的变量以及它们如何相互影响。然后我们需要决定哪些变量是重要的,并编写一个特定于任务的算法。如果我们只有几个变量,这可能是直截了当的,但如果我们有数千个变量呢?如果我们想创建一个通用的图像识别模型,用这种方法可以实现吗?

深度学习和人工神经网络 (ANN) 可以帮助我们为包含大量变量的庞大数据集(例如图像库)创建有用的模型。正如您所提到的,有很多难以理解的解决方案可以使用人工神经网络来拟合数据,但是这个数字与我们需要通过反复试验来开发自己的解决方案的数量真的有什么不同吗?

ANN 的应用为我们做了很多工作,我们可以指定我们的输入和我们想要的输出(并在以后对其进行调整以进行改进)并将其留给 ANN 来找出解决方案。这就是为什么人工神经网络经常被描述为“黑匣子”他们从给定的输入输出一个近似值,但是(一般而言)这些近似值不包括关于它们如何被近似的细节。

因此,这实际上归结为您要解决的问题,因为问题将决定哪种模型方法更有用。模型不是绝对准确的,因此总是存在“错误”的因素,但是您的结果越准确,它们就越有用。在结果中提供更多关于如何进行近似的详细信息也可能很有用,具体取决于问题,它甚至可能比提高准确性更有用。

例如,如果您正在计算一个人的信用评分,则使用回归和 SVM 可以提供可以更好地探索的计算。能够直接调整模型并向客户解释单独的自变量对其总体得分的影响是非常有用的。人工神经网络可能有助于处理大量变量以获得更准确的分数,但这种准确性会更有用吗?

全局最小值可能无用,所以我们并不关心是否找到它。原因是,对于深度网络,不仅找到它的时间随着网络规模的增加而呈指数增长,而且全局最小值通常对应于过度拟合训练集。因此,DNN 的泛化能力(这是我们真正关心的)会受到影响。此外,我们通常更喜欢对应于较高损失函数值的更平坦的最小值,而不是对应于较低损失函数值的更尖锐的最小值,因为第二个将非常糟糕地处理输入中的不确定性。随着贝叶斯深度学习的发展,这一点变得越来越清晰。当应用于不确定性很重要的现实问题时,稳健优化经常击败确定性优化。

最后,DNN 只是在图像分类和 NLP 中使用了 XGBoost 等方法,这是一个事实。一家必须从图像分类中获利的公司将正确地选择它们作为要在生产中部署的模型(在特征工程、数据管道等方面投入大量资金,但我离题了)。这并不意味着它们在所有 ML 环境中占主导地位:例如,它们在结构化数据上的表现比 XGBoost 差(参见 Kaggle 比赛的最后获胜者),而且它们在时间序列建模上的表现似乎仍然不如粒子过滤器。然而,最近一些关于 RNN 的创新可能会改变这种情况。

我认为思考这个问题的最佳方式是通过竞争激烈的市场。如果你抛弃深度学习,而你的竞争对手使用它,而它恰好比你使用的更好,那么你将在市场上被击败。

我认为这就是今天发生的部分情况,即对于市场上的所有问题,深度学习似乎比任何事情都更有效。例如,使用深度学习的在线语言翻译比以前使用的纯语言方法要好。就在几年前,情况并非如此,但深度学习的进步使那些曾经在市场上处于领先地位的人。

我一直在重复“市场”,因为这是推动当前深度学习激增的原因。企业一旦发现有用的东西,就会广泛传播。并不是我们委员会决定深度学习应该流行。这是商业和竞争。

第二部分,除了 ML 的实际成功之外,还有人害怕错过机会。许多企业都偏执,如果他们错过了人工智能,他们就会失败。所有这些咨询公司、Gartners等都在加剧这种恐惧,他们向 CEO 低声说他们必须做人工智能,否则明天就死了。

没有人强迫企业使用深度学习。IT 和研发部门对新玩具感到兴奋。学术界的欢呼,所以这场派对将持续到音乐停止,即直到深度学习停止交付。与此同时,您可以转储它并提出更好的解决方案。