实现符号逻辑推理的最佳方法是什么?


这篇文章描述了在人工智能领域工作的人所经历的个人启示,特别是在LSTMS(长短期记忆)和GRUS(门控递归单元)等机器学习模型的背景下。

这是一个简化的解释想象一下,你正试图教计算机理解和使用基本逻辑,类似于我们在数学或哲学中所学到的(比如a然后B)。

作者试图通过使用从例子中学习的特定类型的Al模型来做到这一点。他们认为,通过向Al展示许多逻辑语句的例子,Al可以学会自己找出新的逻辑语句,这个过程有点像试图将曲线拟合到图上的一堆点。这就是他们所说的“曲线拟合”的意思。然而,在2016年初,他们突然意识到这种方法不起作用。无论他们如何调整Al,它都无法理解潜在的逻辑。Al并没有理解逻辑,只是记住了。

以下是原文:

2016 年初,我 "啊哈 "了一声,意识到曲线拟合是对涉及符号推理的问题空间进行通用建模的错误范式。

我想尽一切办法让基于 LSTM/GRU 的模型对一阶逻辑语句进行分类,每一次新的尝试都比上一次更清楚地表明,我的模型完全无法学会执行实际的一阶逻辑--尽管这种能力肯定是可表示函数空间的一部分。相反,模型会不可避免地抓住统计关键词关联来进行预测。

在过去的 8 年中,这一观察结果一次又一次地出现在我的脑海中,令人着迷。

从 2013 年到 2016 年,我一直坚信 RNN 可以被训练来学习任何程序。毕竟,它们是图灵完备的(或至少其中一些是),而且它们学习的是输入:输出映射的高度压缩模型(而不仅仅是点对点的关联)。当然,它们可以在某个连续的潜在程序空间中进行符号程序合成?

不能。事实上,它们学习的仅仅是点对点的关联,对程序合成完全无用。问题不在于函数空间能表示什么,而在于学习过程。这是 SGD。

具有讽刺意味的是,Transformer在这方面甚至更差:这主要是由于其先前的强插值架构。多头注意力实际上是在潜空间硬编码了样本插值。此外,对于符号程序来说,递归也是一个非常有用的先验。

当然,我并不是说Transformer比RNN差:Transformer在深度学习的**方面(通过插值进行泛化)是**最好的,特别是因为**其强插值架构先验(MHA)。然而,它们在学习符号程序方面却比较糟糕(反正 RNN 在这方面也很失败)。

推友讨论:

1、Transformers之所以比RNN有“优势”,是因为通过注意力,它能够做3件很酷的事情:

  • 1)基于内容的查找(“我对类似于X的向量感兴趣...”)
  • 2)绝对位置查找(例如从句子开始的第三个单词)
  • 3)相对位置

Transformer 采用分层架构设计,每一层都有助于处理输入数据。每层的核心组件是自注意力机制和前馈神经网络。 Transformer 与 RNN 和 LSTM 等早期模型的区别在于它们能够同时处理输入序列中的所有标记。这种并行处理方法不仅提高了计算效率,而且使模型能够更有效地捕获数据中复杂的依赖关系和关系。

自注意力机制:

  • 每个 Transformer 层的核心是自注意力机制。该机制计算输入序列中每个标记的所谓注意力分数。这些分数衡量模型在处理特定标记时应将多少焦点或“注意力”分配给序列中的其他标记。
  • 自注意力机制允许 Transformer 根据整个序列本身动态调整序列中每个标记的影响力。这对于理解上下文至关重要,因为它使模型能够解释每个标记,而不是孤立的,而是与其他标记相关联。
  • 此外,《Transformer 》采用了所谓的“多头注意力”。这意味着自注意力过程在每一层内并行复制多次。每个复制或​​“头”可能会关注标记关系的不同方面,例如句法或语义连接。通过这样做,模型可以捕获对文本更丰富、更细致的理解。

位置编码:
Transformer 设计中的一个独特挑战是它们缺乏固有的序列处理能力——这是 RNN 等序列模型固有的特征。为了解决这个问题,Transformers 使用位置编码。这些被添加到标记嵌入中,以便为模型提供有关序列中每个标记的位置的信息。
位置编码通常使用正弦函数生成。此方法可确保序列中的每个位置接收唯一的编码,从而允许模型根据令牌在序列中的顺序来区分令牌。
位置信息对于模型理解语言的流程和结构至关重要。

逐层处理:
在 Transformer 模型中,每一层都会处理输入序列,逐步转换和细化每个标记的表示。这种转换是由自注意力机制提供的上下文以及层内前馈网络的后续操作通知的。
当输入数据通过 Transformer 的连续层时,标记的表示变得越来越细化并丰富了上下文信息。这种逐层处理可以实现对语言的复杂理解和生成,使模型能够以显着的效率和效果处理复杂的语言任务。


2、你2016年的发现呼应了我自己的发现。仅仅依靠LSTM/GRU可能会使人陷入狭窄的解决问题的道路。符号方法提供了另一种选择,也许两者结合可以推动我们走向更丰富的AI模型。

3、我认为智能包括两个主要部分:自动完成(从记忆中按顺序预测下一个可能的术语)和讲故事(判断什么时候更符合逻辑,什么时候概念清晰并且适合概念图)。我们缺少第二个模型。