7.8健全的逻辑:在一个未知的世界推理

243 阅读11分钟

我们正在靠近描述健全逻辑系统的目标,该系统解决了推理的四个挑战。回顾一下,任何这样的系统,如果要对认知进行建模,需要满足两个要求

⑴ 所有的学习和推理过程都需要在计算上是可行的,也就是在适当的参数上是多项式时间。学习过程需要在PAC意义上是稳健的,而不是脆弱的,这样,在充分地进一步接触到知识所涉及的环境后,知识中的任何错误都可以减少。学习的知识需要有清晰的语义和基础。

⑵推理需要有一个原则性的基础,也就是说,如果两件各有一些PAC准确性保证的知识被连续应用,那么这样得出的任何结论也应该继承一些准确性保证。

为了满足这些要求,我们有心灵之眼,现在我们将比迄今为止做的更正式地讨论它。让我们把心灵之眼在某一瞬间的内容称为一个场景。一个场景包含一个固定的数量,比如说20个无差别的标记,用t1,...,t20,表示,并且有一套固定的关系,可能适用于一个场景中的各种标记子集。

每个标记都可以暂时与我们的心眼当时正在考虑的任何东西联系起来。这些关系来自于系统当时知道的一个固定的集合。假设在一个特定的场景中,关系 "大象 "对t1为真,关系 "花生 "对t2为真,关系 "喜欢依次对t1,t2为真;意思是大象代表喜欢花生。这三个关系应用于这些标记上,就可以表现出心灵之眼在某一瞬间的内容,如图7.2左侧所示。

健壮的逻辑有学习和推理的机制。其新颖之处在于,学习和推理将基于相同的语义,特别是PAC语义。这就是关键所在。
在经典的逻辑中,一条规则可以写成

QQ图片20211004184820.jpg

\mathrm{\forall} 符号再次意味着 "对于所有"。这句话将被解释为:对于任何两件东西t1和t2,如果第一件是大象,并且第一件喜欢第二件,那么就可以得出第二件是花生。换句话说,如果大象喜欢什么,那么这个东西就是花生。

QQ图片20211004185839.jpg

图7.2 两个场景。左边的面板在文中已经讨论过了。右边的板块要复杂一些,它显示了一个交易,一个人t2将一个物卖给另一个人t3,并得到t3的钱t4作为回报。

不幸的是,这种语义学对于PAC学习来说有些陌生。一个原因是,这个逻辑声明只是一个单向的暗示。它并不打算暗示作为一个花生就一定要让所有的大象都喜欢它。然而,当学习一个概念时,我们希望有一个双向的暗示--无论概念为真时还是为假时,学到的概念都应该是目标概念的一个良好近似值。由于这个原因,我们需要学习以下形式的规则

"复杂条件''≡花生(t2)

其中,符号≡表示这种等价关系,或双向牵连。请注意,这些等价关系可用与逻辑暗示完全相同的方式推理。每当左手边被满足时,我们可以推断出右侧的断言花生t2也是成立的,至少是可能的。

现在,机器学习提供的一个优势是,像上述规则中的 "复杂条件 "可以是任意复杂的,只要它可以通过学习获得。本着这种精神,我们将允许一般形式的规则

F([\mathrm{\exists} 大象(t1)和喜欢(t1、t2),...]=花生(t2)

其中,函数F来自一个可学习的函数类C,它的参数是某些限制性表达式,将在后面描述。在这个例子中,F的第一个参数断言存在(\mathrm{\exists} )是一头大象的某些东西(t1)和喜欢(t2)。这样一条规则的目的是预测任何特定场景下,右侧命名的标记集(就在这个例子中)是否具有某些确定的内容,比如说是花生。

对于字典中的每一个词的变体;例如花生,我们可以想像在右边有一个关于这个单词变体的规则。左手边相当于在其他词方面的一个近似定义。更具体地说,每条规则的左手边将表达一个关于场景的标准,以使右手边的概念成立。左手边可能非常复杂,通常会列举出所有常见的条件,对于每一个条件,答案 "花生 "都是可靠的。在这个例子中,许多这样的条件之一可能是 "如果被问到大象喜欢吃什么,该怎么说"。

在这种一般形式的规则中,左手边将从PAC意义上的例子中学习。学习到的函数F可能是复杂的--为某物是花生提供证据的条件可能是多种多样的、复杂的。没有人需要有意识地去描述它。重要的是,函数F来自可学习的C类,在这种情况下,即使是捕捉所有常见的花生证据形式的非常丑陋表达式,也可以被计算机和大脑学习。我们的大脑中充满了这样的电路,这并不是不可信的。毕竟,对人类来说,在几百毫秒内确定我们所看到的是花生还是老虎是很重要的。

健壮逻辑被定义为了规则可以在多项时间内被学习和推理。一个有说服力的可学习类C的候选者似乎是以下内容。左手边被定义为可以被表达为线性分隔符表示的函数类,因此是可学习的,但其中的变量现在是独立量化的表达式(IQES),如"\mathrm{\exists} 象(t1)和喜欢(t1,t2)。"最后这个例子是一个模式的实例,它由一个\mathrm{\exists} ("存在z/)符号组成,是两个关系的连接,一个有一个参数,另一个有两个参数,一个标记在两者中被共享,另一个标记被量化。换一种说法,我们通过用任何其他关系代替elephant()和likes(,),从这个实例中获得同一模式的其他成员,只要它们有正确的参数数量。

IQEs有以下两个相互矛盾的方面。一方面,它们在能够表达场景中物体之间的复杂关系方面相当强大。另一方面,它们很简单,因为给定一个特定的场景,这样的IQE对该场景来说要么是真的,要么是假的,而且很容易确定哪一个是真实的情况。由于这个原因,我们可以把每个IQE看作是一个布尔变量,对于任何例子的场景,它的值要么是0,要么是1。这样,我们可以把IQEs当作标准PAC学习中的特征,并使用我们喜欢的任何学习算法。例如,我们可以将布尔值0和1解释为数字,并使用以这些IQEs为特征的感知器算法。

我们可以有基于比图示更广泛的模式的IQE,比如有三或四种关系而不是两种。然而,这可能会在学习和推理中产生高得多的计算成本。特别是,如果我们使用一个模式,但没有关于它所定义的IQE中哪些是相关的信息,那么我们在学习过程中就必须接受所有这些信息。这种考虑限制了在实践中有用的模式的规模。

我们在这里的方向是这样的。学习将由传统的学习算法来完成,比如感知器算法,但现在的变量将是这些IQEs。在任何一个场景中的推理都是通过调用场景左侧满足的任何规则来完成,用这些规则的右侧的关系来更新场景,并根据情况重复这个过程。

读者现在可能会问:但这个符号是什么意思?量化的内容是什么?\mathrm{\exists} 是指 "宇宙中的某处存在 "吗?\mathrm{\forall} 是否意味着 "对于地球上的每个物体"?不,两者都会违反我们对基础的渴望。符号 "\mathrm{\exists} "意味着仅仅存在于有关的一个场景中,而 "\mathrm{\forall} "意味着对这一个场景中的每一个物体的普遍性。换句话说,要使IQE"\mathrm{\exists} 大象(t1)和喜欢(t1,t2)"对某一特定场景中的代币t2来说是真的,该场景中必须存在一些货币t1,使大象(t1)和喜欢(t1,t2)的关系在该场景中成立。同样地,\mathrm{\forall} 符号表示场景中的所有对象,而不是宇宙。

一般来说,几个变量可以被量化,有些是存在性的(\mathrm{\exists} ),有些是普遍性的(\mathrm{\forall} )。然而;不同的IQE中的量词必须被独立解释。这意味着,人们不能直接断言存在一个同时满足两个IQE的符号。如果想断言,那么就必须扩展允许的模式,以允许将原来的两个IQE组合成一个可能是两倍大小的IQE,并接受随之而来的更大的计算成本。

这些定义的解释是,给定一个规则的左手边和一个特定的场景,人们可以评估该场景中哪些IQE是真的,哪些是假的,从而确定左手边是否对该场景成立。换句话说,人们可以通过场景中的信息来确定一条规则是否适用于该场景。不需要其他知识。

一旦我们处于这个位置,我们就可以对所选的可学习类使用任何常规的学习算法。如果是线性分离符类,那么我们可以使用感知器算法。我们为一个固定的模式生成所有可能的IQE的方法数(即通过用允许的任何其他词替换大象来生成z)创造了大量但仍然是多项式数的IQE。

重要的是,所需的例子的数量不能过分依赖于这种IQE的数量,其中大部分可以预期是与任何一个自然概念无关的。幸运的是,正如第5.11节所提到的,有一些学习算法是有高效属性的,即大量不相关的特征的存在不会产生过高的成本。特别是,Winnow算法可以学习析取,使用一些随着不相关特征数量增长仅以对数方式增长,而不是以线性方式增长的例子。

我们决不能忽视这样一个事实,即规则的目的是对以前没有见过的例子进行预测。给定一个场景,其中规定了标记上的一些关系,我们希望能够预测其他的关系也成立。在稳健逻辑中,我们将通过应用那些左手边对该场景成立的规则来做到这一点。我们推断出右手边的关系对场景中的特定标记也会成立,至少有很高的概率。我们可以在一个链条中依次调用几条规则,以便陆续填补给定信息所隐含的内容。如果一个人被告知外面在下雨,他就可以利用自己的常识数据库对其他可能隐含的内容做出若干推论。健全逻辑的制定是为了使这种预测的准确性得到一些保证。

稳健逻辑系统的技术内容可以总结如下。场景,使心眼的内容的形式化,根据自然的概率分布发生,反映了世界的所有复杂性,正如该心眼所属的个人所感知的。这个分布可以是任意复杂的,而且个人不需要对它有任何了解。然而,可以从该分布的例子中学习规则,这些规则在同一分布的新例子中是可靠的。(这种学习的可能性是计算学习理论的主要内容;我们在第五章中已经描述了。即使在一个太过复杂而无法完全描述的世界里,表达可学习的规律性的规则也是可以获得的)。)与纯粹的学习理论相比,稳健逻辑的附加内容是,它提供了一种通过链接学习规则进行推理的方式,因此,只要组成规则有一定的准确性保证,那么所做的预测也会有一定的准确性保证。所有这些都是在计算上可行的资源和可控的误差下实现的。

与标准的机器学习框架相比,鲁棒逻辑操作多对象场景(即心目中包含多个标记--例如,一个是大象,另一个是花生)这一事实增加了额外的复杂性负担。正是这种复杂的情况使得有必要使用IQE来保持计算的可行性。