PDF 物理页索引 380
文件中的第 381 页 · 印刷页码:未识别
为了给机器一些更难的挑战,相关的概念可以用一种抽象的、难以感知的方式来编码,如问题91(见图15-2)中的概念“3”和“4”。在某些问题中,一个人工智能系统要弄清楚什么才能算作一个概念可能并不容易,像在问题84(见图15-2,“在外面”与“在里面”)中其相关对象由更小的对象(圆圈)组成,而在问题98(见图15-2)中,对象甚至被伪装了:人类很容易看出来这些是什么图案,但对机器而言却很难,因为机器很难区分前景和背景。
邦加德问题也挑战了人类迅速感知新概念的能力,问题18(见图15-2)是一个很好的例子。在这个问题中,左侧方框中的通识概念很难用语言表达,它就像是具有一个收缩的或类似于人类颈部的对象,但即便你在此之前从未想到过任何与之类似的对象,你也能在问题18中快速识别出来。类似地,在问题19(见图15-2)中,有一个新概念:左边是一个类似水平颈部的对象,而右边是一个具有垂直颈部的对象。抽象化新的、难以描述的概念真的是人类非常擅长的事情,但目前所有的人工智能系统都无法以任何通用的方式做到这点。
邦加德的书,在1970年出版过英文版本,非常晦涩难懂,并且最初只有很少的人知晓其存在。侯世达于1975年偶然发现了这本书,并且对附录中的100个邦加德问题印象深刻,后来,他在自己的著作“GEB”中用了很长的篇幅讲述了这些问题,我也是从“GEB”中第一次看到它们。
PDF 物理页索引 381
文件中的第 382 页 · 印刷页码:未识别
从小时候起,我就一直很喜欢谜题,尤其是涉及逻辑或模型的。当我阅读“GEB”时,我对邦加德问题尤其着迷。我对侯世达在“GEB”中描述的关于如何以模拟人类感知和做类比的方式来创建一个能解决邦加德问题的程序也很感兴趣。很可能是从阅读到那部分内容的那一刻起,我决定成为一名人工智能领域的研究人员。
许多人也同样被邦加德问题迷住了,一些研究人员已经创建了用来解决这些问题的人工智能程序,其中大多数都简化了假设,例如,限制可被允许出现的图形形状和形状关系集合,或者完全忽略了视觉方面而仅从一个人工创建的图像描述开始。每一个程序都能够解决特定问题的一个子集,但还没有人表示它们的方法可以像人类那样进行泛化。 <sup>16</sup>
鉴于ConvNets在对象分类上的表现如此出色(你可以回想下我在第05章中描述的盛大的ImageNet“视觉识别挑战赛”上ConvNets的表现),那么,我们是否可以通过训练这样一个网络来解决邦加德问题呢?你可以假设将一个邦加德问题建构为ConvNets的一种分类问题,如图15-3中所示:左侧的6个方框可以被视为类别1中的训练样本,而右侧的6个方框是类别2中的训练样本。现在给系统一个新的测试样本,它应该被归为类别1还是类别2呢?
PDF 物理页索引 382
文件中的第 383 页 · 印刷页码:未识别
一个明显的障碍是:一组只有12个训练样本,这个样本量对训练一个ConvNet来说远远不够,即便是1 200个可能也不够。邦加德的疑问是:我们人类只用12个样本就能轻松识别相关概念,一个ConvNets需要多少训练数据才能学会解决一个邦加德问题呢?尽管还没有人系统地研究过如何使用ConvNets来解决邦加德问题,但一组研究人员使用类似图15-3中的图像,测试了最新的ConvNets在“相同vs不同”任务上的表现。 <sup>17</sup> 测试中,并非使用这12个训练图像,而是分别使用20 000个类别1(方框中的图形相同)和类别2(方框中的图形不同)的样本对ConvNets进行训练。训练后,再让每个ConvNets在10 000个新样本上进行测试,这些新样本都是自动生成的。训练过的ConvNets在这些“相同vs不同”任务上的表现仅略好于随机猜测,相比之下,由研究人员测试的人类的准确率接近100%。
简而言之,尽管目前的ConvNets非常善于学习识别ImageNet中对象的特征,或选择围棋中下一步的走法,但是,它甚至连理想化的邦加德问题中所需要的抽象和类比的能力都尚不具备,更不用说对现实世界中的对象进行抽象和类比了。
PDF 物理页索引 383
文件中的第 384 页 · 印刷页码:未识别
看来,ConvNets学到的这些种类的特征,还不足以构建这种抽象能力,就算使用再多训练样本也一样。不单是ConvNet不行,任何现有的人工智能系统都不具备人类的这些基本能力。
活跃的符号和做类比
在读完“GEB”并决定从事人工智能领域的研究之后,我找到了侯世达,希望能从事一些类似于解决邦加德问题的研究工作。令人开心的是:我最终说服了他,并加入了他的研究团队。侯世达向我解释道,他的团队实际上正在构建一种计算机程序,灵感来自人类如何理解和类比不同情境。当他完成了物理学领域的研究工作后,侯世达坚信,研究一种现象的最好方式就是研究它最理想化的形式,这对于研究人类是如何做类比的同样适用。人工智能研究中通常使用所谓的“微观世界”(就是一种理想化的情境,比如邦加德问题),研究人员能够在其中先开发一些想法,再在更复杂的领域中进行测试。为了研究类比,侯世达甚至构建了一个比邦加德问题更加理想化的微观世界:关于字符串的类比问题。如下是一个例子:
问题1<sub>:</sub> 假设字符串abc改动为abd,你如何以相同的方式改动字符串pqrs?
大多数人的答案是pqrt,他们推断出这样一条规则:“将最右边的字母替换为它在字母表中的后一个字母。”当然,我们还有可能会推断出一些其他规则,从而产生不同的答案。这里有几个可替代的答案:
PDF 物理页索引 384
文件中的第 385 页 · 印刷页码:未识别
pqrd<sub>:</sub> 用d替换最右边的字母。
pqrs<sub>:</sub> 用d替换所有c,pqrs中没有c,所以不做任何变动。
abd<sub>:</sub> 用字符串abd替换任何字符串。
这些可替代答案可能看起来会太过字面化,但没有任何严格的逻辑论证可以证明它们是错误的。事实上,我们可以推断出无限多的可能规则,但为什么大多数人都认同其中的pqrt这个答案是最好的?似乎我们为促进自身在现实世界中的生存和繁衍而演化出的关于抽象的心理机制,延续到了这个理想化的微观世界中。
这里还有另外一个例子:
问题2<sub>:</sub> 假设字符串abc改动为abd,你将如何以相同的方式改动字符串ppqqrrss?
即便是在这个简单的字母构成的微观世界中,其可能存在的共性也是相当微妙的,至少对一台机器来说是如此。在问题2中,如果生硬地应用规则“将最右边的字母替换为它的后一个字母”,你得到的答案将会是:ppqqrrst,但对大多数人来说这个答案看起来太刻板了,人们倾向于给出“ppqqrrtt”这个答案,这是基于对ppqqrrss中的字符对的感知,并将其映射到abc中的每一个字符。 <sup>18</sup> 我们人类总是倾向于把一模一样的或相似的对象归为一组!
PDF 物理页索引 385
文件中的第 386 页 · 印刷页码:未识别
问题2阐明了:在这个微观世界中,概念滑移(conceptualslippage)这一概念是做类比的核心。 <sup>19</sup> 当你试图感知两种不同情境在本质上的共性时,来自第一种情境的某些概念需要“滑移”到第二种情境中,即被第二种情境中的相关概念所取代。在问题2中,字母通过概念滑移变为字母组,因此,“将最右边的字母替换为它的后一个字母”这一规则也应变为“将最右边的字母组替换为它的后一个字母组”。
现在考虑这个问题:
问题3<sub>:</sub> 假设字符串abc改动为abd,你将如何以相同的方式改动字符串xyz?
大多数人回答“xya”,他们认为z的后一个字母是a,但是对于一个没有循环字母表概念的计算机程序来说,字母z没有后一个字母。那么,还有什么其他答案是合理的吗?当我请大家来回答这个问题时,我得到了很多不同的回复,其中一些很有创意。有趣的是,这些答案往往触发了物理上的隐喻。例如,xy(z从悬崖边上坠落了)、xyy(z弹回来了)和wyz。对于最后一个答案,我们可以这样理解:a和z作为字母表的两端各自被钉在墙上,所以它们作用相似,因此,如果字母表中的第一个字母(a)的概念滑移到了字母表的最后一个字母(z)上,那么最右边的字母(z)的概念则应该滑移到最左边的字母(a)上,而第二个字母(b)的概念则滑移到倒数第二个字母(y)上,以此类推。问题3阐明了做类比如何能引发一连串的概念滑移。
PDF 物理页索引 386
文件中的第 387 页 · 印刷页码:未识别
在由字符串构成的微观世界中,概念滑移是非常直观的。在其他领域,它会更加微妙。例如,回顾一下图15-2中的邦加德问题91,其中左侧6个框的共同本质是“3”,表示“3”这一对象的概念从一个框向另一个框滑移,例如,从线段(左上)到正方形(左中),然后再到左下框中表示的难以用文字描述的概念(可能是类似于梳子上的齿的东西)。概念滑移也是前一章中假想出来的女儿S多年来所做的不同抽象的核心特征,例如,在关于法律的那个类比中,她把网站的概念滑移至墙的概念,以及把写博客的概念滑移至涂鸦的概念。
侯世达设想了一个名为“Copycat”的计算机程序,它可以通过使用非常通用的算法来解决这类问题,这种算法类似于人类在任何领域做类比时都会使用的算法。Copycat这个名字源于这样一种想法:做类比的人可以通过做同样的事情,即通过成为一个模仿者来解决这些问题。原始的情境(如abc)在某种程度上发生了改动,而你的任务就是对新情境(如ppqqrrss)做相同的改动。
当我加入侯世达的研究团队时,我的任务是和他一起开发Copycat程序。任何一个经过这段历程的人都会这样告诉你:通往博士学位的道路充斥着各种令人沮丧的挫折和高强度的劳动,以及时常会出现的强烈的自我怀疑,但偶尔也会出现令人振奋的成功时刻,比如,你坚持研究了5年的程序终于运作起来了。在这里我将跳过所有我经历过的怀疑、挫折和大量的工作时间,直接跳到最后的结果:当我提交了一篇论述Copycat程序的学位论文时,我认为这个程序已经能够以通用的、与人类相似的方式解决多种字符串类比的问题了。
PDF 物理页索引 387
文件中的第 388 页 · 印刷页码:未识别
Copycat既不是一个符号化的、基于规则的程序,也不是一个神经网络,尽管它同时包含了符号人工智能和亚符号人工智能的一些特性。Copycat通过程序的感知过程(即观察一个特定的字符串类比问题的特征)及如字母和字母组、后者和前者、相同和相反等先验概念之间的持续交互来解决类比问题。这个程序被构造成一种可以模仿我在前一章中描述的心智模型的东西,特别是,它们都基于侯世达关于人类认知中活跃符号(active symbols)的概念。 <sup>20</sup> Copycat的架构很复杂,我就不在这里进一步描述了,如果想了解更多内容,请参考书后的相关注释。 <sup>21</sup> 虽然Copycat可以解决许多字符串类比问题,比如我在上面展示的例子,以及许多变体问题,但该程序只触及了这一开放领域的皮毛。例如,下面是这个程序无法解决的两个问题:
问 题 4 <sub>:</sub> 如 果 azbzczd 改 动 为 abcd , 那 么pxqxrxsxt将会改动为什么?
问题5<sub>:</sub> 如果abc改动为abd,那么ace将会改动为什么?
这两个问题都需要凭空识别新概念,这是Copycat所欠缺的一种能力。在问题4中,z和x扮演的角色相同,即为看出字母序列而需要被删除的额外字母,从而得出其答案为pqrst。在问题5中,ace序列类似于abc序列,但是它不是一个“后继”序列,而是一个“双重后继”序列,从而得出其答案为acg。对我来说,很容易就能给予Copycat计算a和c之间、c和e之间的字母数量的能力,但是我不想构建那些非常具体的针对特定字符串域的功能。Copycat是用来测试与类比相关的一般观念的平台,而非一个全面的“字符串类比制造机”。
PDF 物理页索引 388
文件中的第 389 页 · 印刷页码:未识别
字符串世界中的元认知
人类智能的一个必不可少的方面,是感知并反思自己的思维能力,这也是人工智能领域近来很少讨论的一点,在心理学中,这被称作“元认知”。你是否曾经苦苦挣扎着想要解决一个问题但并未成功,最后却发现自己一直在重复同样的无效思维过程?这种情况经常发生在我身上,然而,一旦我认识到自己处于这种模式,我有时就能打破常规。Copycat与我在本书中讨论的其他所有人工智能程序一样,没有自我感知的机制,而这会影响它的性能表现。该程序有时会陷入一种困境:一次又一次地尝试使用错误的方式解决问题,并且永远无法意识到它之前已经走过了一条类似的无法通往成功的道路。
詹姆斯·马歇尔(James Marshall)当时是侯世达研究团队的一名研究生,承担了一个让Copycat“反思”自己的思维过程的项目。他创建了一个名为“Metacat”的程序,Metacat不仅解决了Copycat字符串领域中的类比问题,还试图让Copycat感知其自身的行为。当程序运行时,它会对自己在解决问题的过程中识别到的概念生成一条运行注解 <sup>22</sup> 。和Copycat一样,
PDF 物理页索引 389
文件中的第 390 页 · 印刷页码:未识别
Metacat虽然展示了一些令人欣喜的行为,但也仅触及了人类自我反思能力的表象。
识别整个情境比识别单个物体要困难得多
我目前的研究方向是研发一个使用类比来灵活地识别“视觉情境”(visual situations)的人工智能系统,视觉情境是一种涉及多个实体及其之间关系的视觉概念。例如,图15-4中的4幅图像,我们都可称之为“遛狗”这一视觉情境的实例。人类很容易就能看出来,但是对于人工智能系统来说,即便是识别简单视觉情境中的实例,也非常具有挑战性,识别整个情境比识别单个物体要困难得多。