有哪些在计算上难以处理的有前途的 AI/ML 技术的例子?

人工智能 机器学习 参考请求 计算复杂度 顽固性
2021-11-05 19:42:40

要在 AI/ML 领域取得实实在在的成果,就必须在计算复杂度的视角下取得理论成果。

确实,极小极大有效地解决了任何具有输赢条件的两人“棋盘游戏”,但该算法很快就变得无法用于足够大的游戏,因此除了玩具问题外,它实际上毫无用处。

事实上,这个问题似乎切入了智能本身的核心:框架问题通过观察任何在逻辑公理下运行的“智能”代理都必须以某种方式处理计算复杂性的爆炸式增长来突出这一点。

因此,我们需要处理计算复杂性:但这并不意味着研究人员必须将自己限制在实际问题上。过去,多层感知器被认为是难以处理的(我认为),因此直到最近我们才能评估它们的实用性。我听说贝叶斯技术在概念上很优雅,但是一旦您的数据集变大,它们就变得难以计算,因此我们通常使用变分方法来计算后验,而不是天真地使用精确解决方案。

我正在寻找更多这样的例子:哪些有前途(或整洁/有趣)的 AI/ML 技术在计算上难以处理(或无法计算)?

4个回答

AIXI是一种贝叶斯、非马尔可夫、强化学习和通用人工智能代理,鉴于所涉及的无法计算的Kolmogorov 复杂性,它是无法计算的。但是,有一些 AIXI 的近似值,例如 AIXItl,在通用人工智能:通用人工智能:基于算法概率的顺序决策(2005),由 Marcus Hutter(AIXI 的原作者)和MC-AIXI-CTW(代表 Monte Carlo AIXI Context-Tree Weighting)。这是 MC-AIXI-CTW 的 Python 实现:https ://github.com/gkassel/pyaixi 。

精确的贝叶斯推理(通常)是难以处理的(即没有封闭形式的解决方案,或者数值逼近在计算上也很昂贵),因为它涉及在一系列实数(甚至浮点数)上计算积分,这可以变得棘手。

更准确地说,例如,如果您想找到参数θΘ给定一些数据的模型D, 那么贝叶斯推理只是贝叶斯定理的应用

p(θD)=p(Dθ)p(θ)p(D)=p(Dθ)p(θ)Θp(Dθ)p(θ)dθ(1)=p(Dθ)p(θ)Θp(D,θ)dθ

在哪里p(θD)是后验(这是您要查找或计算的),p(Dθ)是给定(固定)参数的数据的可能性θ,p(θ)是先验和p(D)=Θp(Dθ)p(θ)dθ是数据的证据(这是一个积分,因为θ被假定为一个连续的随机变量),这是难以处理的,因为积分是所有可能的值θ, 那是,Θ. 如果所有条款1易于处理(多项式可计算),然后,给定更多数据D,您可以迭代地继续更新您的后验(在下一次迭代中成为您的先验),并且精确的贝叶斯推理将变得易于处理。

变分贝叶斯方法提出了推断的问题p(θD)(需要计算难以处理的证据项)作为优化问题,它近似地找到后验,更准确地说,它逼近了难以处理的后验,p(θD),有一个温顺的,q(θD)变分分布)。例如,重要的变分自动编码器 (VAE)论文(没有介绍变分贝叶斯方法)使用变分贝叶斯方法在神经网络(表示分布)的上下文中逼近后验,因此现有机器(或深度)学习技术(即带有反向传播的梯度下降)可用于学习模型的参数。

变分贝叶斯方法 (VBA) 在机器学习中总是变得更有吸引力。例如,贝叶斯神经网络(可以部分解决非贝叶斯神经网络的一些固有问题)通常受到VAE 论文中报告的结果的启发,这表明了 VBA 在深度学习背景下的可行性。

这个问题涉及到一个关于人工智能研究的非常有趣的事实:人工智能很难

事实上,几乎每个 AI 问题都是计算困难的(通常是 NP-Hard 或#P-Hard)。这意味着人工智能研究的大多数新领域都是从描述一些难以解决的问题开始的,然后提出一种技术上可行但速度太慢而无用的算法。然而,这还不是全部通常,人工智能研究人员会根据以下两个流派之一继续开发易于处理的技术:

  • 通常在实践中有效的算法,并且总是很快,但并不完全正确。
  • 总是正确的算法,通常很快,但有时很慢,或者只适用于特定类型的子问题。

总之,这些让人工智能解决了大多数问题。例如:

  • 搜索是作为一种通用人工智能技术开发的,用于解决规划逻辑问题。第一个算法,称为通用问题求解器,总是有效,但速度极慢。最终,我们开发了启发式引导搜索技术(如A*)、特定领域技巧(如GraphPlan)和随机搜索技术(如蒙特卡洛树搜索)。
  • 贝叶斯学习(或贝叶斯推理)自 1800 年代以来就为人所知,但已知它涉及计算棘手的积分,或创建指数大小的离散表,使其成为NP-Hard一个非常简单的算法涉及应用蛮力并枚举所有选项,但这太慢了。最终,我们开发了像Gibbs Sampling(总是很快,通常是正确的)或变量消除(总是正确,通常很快)这样的技术。今天,我们可以很好地解决大多数此类问题。
  • 关于语言的推理被认为是非常困难的(请参阅框架问题),因为有无数可能的句子,以及它们可以使用的无数可能的上下文。基于规则的精确方法不起作用。最终,我们开发了诸如隐马尔可夫模型深度神经网络之类的概率方法,这些方法不一定有效,但在实践中效果很好,以至于语言问题即使不能完全解决,也非常接近
    • 像扑克这样的机会游戏被认为是不可能的,因为它们是#P-Hard准确地完成(这比 NP-Hard更难)。这些可能永远不会有一个精确的算法。尽管如此,像CFR+这样的技术可以得出非常接近完美的解决方案,以至于您需要与它们对抗数十年才能分辨出差异。

那么,还有什么难的

  • 推断贝叶斯网络的结构这与因果关系的问题密切相关这是#P-Hard,但我们目前没有任何好的算法可以很好地做到这一点。这是一个活跃的研究领域。
  • 选择用于任意问题的机器学习算法。没有免费午餐定理告诉我们,这通常是不可能的,但似乎我们应该能够在实践中做得很好。
  • 还有更多...?

逻辑归纳算法可以对数学语句的真假做出预测,最终一致;例如,如果A为真,则其概率最终将达到 1;ifB暗示CthenC的概率最终会达到或超过B';的概率D最终将是 的倒数not(D)EF最终达到或超过的概率E AND F等等。

它还可以对自身给出一致的预测,例如“逻辑归纳算法将在时间步 T 预测 X 为 Y 的概率”,同时避免像骗子悖论这样的悖论。