人工神经网络背后的理论结果

机器算法验证 机器学习 神经网络 数理统计
2022-03-17 05:34:52

我刚刚在 Coursera 的机器学习课程中介绍了人工神经网络,我想了解更多背后的理论。我发现他们模仿生物学的动机有些不令人满意。

从表面上看,我们似乎在每个级别都用协变量的线性组合替换了协变量。通过重复这样做,我们允许非线性模型拟合。这就引出了一个问题:为什么神经网络有时比仅仅拟合非线性模型更受欢迎。

更一般地说,我想知道人工神经网络如何适应贝叶斯推理框架,该框架在 ET Jaynes 的《概率论:科学的逻辑》一书中进行了详细描述。或者,简单地说,为什么人工神经网络在工作的时候还能工作?当然,他们做出成功预测的事实意味着他们遵循上述框架。

3个回答

这是ET Jaynes的“ A Backward Look to the Future ”中的一句话。

新的 Adhockeries

近年来,发明直观设备而不是诉诸任何相关的理论原理的正统习惯已经扩展到新问题,这使得乍一看似乎已经创建了几个新的科学领域。然而,他们都关心从不完整的信息中进行推理。我们相信我们有定理将概率论确立为逻辑是处理所有此类问题的一般手段。我们注意到三个例子。

模糊集——很明显,对于任何接受过贝叶斯推理训练的人来说——是对贝叶斯先验概率的粗略近似。它们之所以被创造出来,只是因为它们的实践者坚持按照自然存在但从未明确定义的“随机性”来思考概率。因此得出结论,概率论不适用于此类问题。一旦人们认识到概率是指定不完整​​信息的一般方法,引入模糊集的原因就消失了。

同样,人工智能 (AI) 的大部分内容是用于从不完整信息进行推理的直观设备的集合,这些信息与旧的正统统计学一样,是贝叶斯方法的近似值,可用于某些受限类别的问题;但是当我们试图将它们应用于该类之外的问题时,会产生荒谬的结论。再一次,它的从业者被困在这只是因为他们继续认为概率代表一种物理的“随机性”而不是不完整的信息。在贝叶斯推理中,所有这些结果都是自动包含的——而且相当微不足道——没有任何限制类问题的限制。

伟大的新发展是神经网络,这意味着一个具有奇妙新特性的算法系统,就像人类大脑一样,具有自适应能力,因此它们可以从过去的错误中学习并自动纠正自己(哇!多么棒的新想法!) . 事实上,我们并不感到惊讶的是,神经网络实际上在许多应用中都非常有用。比模糊集或人工智能更重要。然而,目前的神经网络有两个实际的缺点:(a) 它们产生由当前输入加上过去的训练信息确定的输出。这个输出真的是一个估计正确的反应,基于手头的所有信息,但它没有表明它的准确性,所以它没有告诉我们离目标有多近(即需要多少训练);(b) 当需要非线性响应时,人们求助于内部存储的标准“sigmoid”非线性函数,通过各种放大和线性混合,可以在某种程度上逼近真正的非线性函数。(注:强调我的。)

但是,我们真的需要指出 (1) 任何自适应程序,顾名思义,都是一种考虑不完整信息的方法;(2) 贝叶斯定理正是所有自适应程序之母;更新任何知识状态以考虑新信息一般规则;(3) 当这些问题用贝叶斯术语表述时,一次计算会自动产生最佳估计及其准确性;(4) 如果需要非线性,贝叶斯定理会自动生成问题所需要的精确非线性函数,而不是试图通过另一个临时设备来构造一个近似值。

换句话说,我们认为这些根本不是新领域。只有错误的开始。如果一个人用标准的贝叶斯公式来表述所有这些问题,那么一个人就会自动地以改进的形式获得所有有用的结果。人们在理解这一点时似乎遇到的困难都是同样未能概念化抽象数学与现实世界之间关系的例子。一旦我们认识到概率不能描述现实——只有我们关于现实的信息——大门就会敞开,从这些信息中推理问题的最佳解决方案是敞开的。

几点评论:

  1. (a) 点忽略了贝叶斯神经网络的发展,它始于 80 年代末和 90 年代初(但请注意 Jaynes 的论文写于 1993 年)。看看这个帖子另外,考虑阅读 Yarin Gal 的漂亮博士论文,并观看 Zoubin Ghahramani 的精彩演讲

  2. 我不明白(b)点如何成为“缺点”。事实上,这就是为什么神经网络可以很好地逼近一大类函数的本质。请注意,最近成功的架构从 sigmoid 转移到了内层的 ReLU 激活,有利于“深度”而不是“宽度”。最近已经证明了 ReLU 网络的近似定理。

首先,我们不会将线性函数相互堆叠以获得非线性函数。NN 可能永远不会那样工作有一个明确的原因:将线性函数相互堆叠会再次产生线性函数。

神经网络非线性的原因在于线性函数后面的激活函数!然而,原则上你是对的:我们只是将很多逻辑回归(虽然不是线性回归!)相互叠加,然后...... tadaa:我们从中得到了一些好处......这公平吗?事实证明(从理论的角度来看)它实际上是公平的。更糟糕的是:使用著名且广为人知的 Stone-Weierstrass 定理,我们简单地证明了只有一个隐藏层且在最终节点处没有输出函数的神经网络足以逼近任何连续函数(相信我,连续函数可能很难看)野兽,见“魔鬼楼梯”:https ://en.wikipedia.org/wiki/Cantor_distribution) 在形式的间隔上[a,b](只有一个隐藏层且在最后一个节点没有输出函数的 NN 正是以下形式的函数x↦=b+a1ϕ1(x)+...+alϕl(x)在哪里l是隐藏层的大小,即逻辑函数中的多项式,它们根据定义形成代数!)。即“通过构造”,NN 非常具有表现力。

那我们为什么要使用深度神经网络呢? 原因是上面的 SW 定理只保证有足够大的层大小,以便我们可以接近我们的(希望是连续的)目标函数。但是,所需的层大小可能非常大,以至于没有计算机可以处理这种大小的权重矩阵。具有更多隐藏层的神经网络似乎是“准确性”和可计算性之间的良好折衷。我不知道有任何理论结果表明,与仅仅增加单个隐藏层的大小相比,当放置更多隐藏层时,NN 的表达能力会增长“多少”,但网络上可能有一些资源...

我们能真正理解深度神经网络吗? 示例问题:为什么 NN 准确地将这种情况预测为 TRUE,而将另一种类似情况预测为 FALSE?为什么它认为这个客户比另一个客户更有价值?我真的不相信。它伴随着模型的复杂性,您无法再合理地解释它......我只听说这仍然是一个活跃的研究领域,但我不知道任何资源......

是什么让 NN 在所有模型中如此独特? 这些天我们如此多地使用神经网络的真正原因是因为以下两个原因:

  1. 它们具有自然的“流媒体”属性。
  2. 我们可以在多个方向将它们拉到最大。

1. 我的意思是给定一个训练集T, 一个神经网络f在这个集合上训练的T和一些新的训练样本T,我们可以很容易地将这些训练样本包含到 NN 中,只需继续梯度下降/反向传播算法,同时只从T为培训。强化学习的整个领域(用于赢得井字游戏、乒乓球、国际象棋、围棋等游戏,许多不同的 Atari 游戏仅使用一个模型等)都基于此属性。人们试图将这种流属性注入其他模型(例如梯度提升),但它并没有那么自然地出现,并且不像 NN 设置那样计算成本低。

2. 我的意思是人们训练神经网络做最奇怪的事情,但原则上他们只是使用相同的框架:将平滑函数堆叠在一起,然后让计算机(即 PyTorch/Tensorflow)为你做脏数学,比如计算损失函数对权重的导数。一个例子是这篇论文人们已经使用了 RL 方法,并且还通过教它如何在内存堆栈上操作(!)来改进 NN 的架构来学习化学物质的复杂语言。尝试通过梯度提升来做到这一点;-) 他们必须这样做的原因是化学语言至少与括号语言一样“难学”(即每个左括号在单词后面都有一个右括号) ) 因为人们用来描述分子的 SMILES 语言包含符号“(”和“)”。从理论计算机科学(乔姆斯基层次结构)中,人们知道不能用常规自动机来描述这种语言,但需要下推自动机(即具有堆栈存储器的自动机)。这就是他们(我猜)向神经网络教授这个奇怪的东西的动机。

“为什么它起作用了?”

这里的另一个答案引用了 ET Jaynes。他说其他机器学习算法是临时的,但神经网络不是。原因是算法会自我纠正。实际上,如果你有n一个示例中的实例,为什么一个接一个地使用它们而不是一起使用它们呢?没有证据表明 NN 方法更好。在大多数数据有限的情况下,NN 实际上更糟。

因此,所有机器学习都是类似的临时性的。

机器学习类似于炼金术:有很多神秘的食谱,你应用一个,你可能会得到金子。如果没有,只需应用另一个食谱。

没有人问你问的问题,至少在我知道的出版物中没有。

除此之外,还有统计学习理论。统计学习理论假设训练集的大小趋于无穷大。我知道的大多数结果都具有以下形式:“在某些条件下,如果您有足够大的训练集,则使用此过程可以获得几乎尽可能好的结果”。什么是“足够大”的估计超出了想象。

当然,问题是,训练集的大小不会去任何地方,更不用说无穷大了。

所以,我认为,现在是 (1) 提出这个问题,(2) 开发一种数学工具来回答有关所有可能的机器学习算法的问题,以及 (3) 回答这个问题的好时机。