1950年,阿兰·图灵提出了这样一个问题:如果计算机能像人类一样思考,这意味着什么?他提出了一个实用的测试,并称之为“模仿游戏”,但没过多久,所有人工智能领域的研究者便都称其为“图灵测试”。这个测试可以简单理解为,一个普通人出于实用目的用打字机与一台计算机交流,如果他无法判断谈话对象是人还是计算机,那么这台计算机就可以被视作一台思维机器。图灵坚信这个测试是可行的。他写道:“我相信,在大约50年的时间里,高水准地完成模仿游戏的程序就会出现,普通询问者在5分钟的提问时间结束后正确识别对象是否为人的概率会低于70%。”
不过,图灵的预测略有偏差。每年的勒布纳人工智能大赛都致力于评选出世界上仿人能力最强的“聊天机器人”,一枚金牌和10万美元将被授予成功骗过全部4名裁判,让他们将交流对象误判为人的程序。但截至2015年,大赛已举办了25届,仍然没有一个程序能骗过所有裁判,甚至骗过哪怕一半的裁判。
图灵不只提出了“模仿游戏”,还提出了让程序通过测试的策略。他问道:“与其试图编写一个模拟成人思维的程序,何不尝试编写一个模拟儿童思维的程序?”如果能做到这一点,那么你就可以像教小孩子一样教它了。这样一来,很快,大约20年后(考虑到计算机的发展速度,这个时间还可以更短),你就会拥有一个人工智能。“儿童的大脑与我们从文具店购买的空白笔记本相差无几,”他写道,“预先设定的机制极少,有着大量的空白。”在这一点上,图灵错了:儿童的大脑有着丰富的预设机制和预存模板。
不过,我认为图灵还是说中了一部分事实。在创造出具备孩童智能水平的机器人之前,我们可能的确无法成功创造出类人智能,而创造出前者的关键要素就是掌握因果关系。
那么,机器如何才能获得关于因果关系的知识呢?目前,这仍然是一项重大挑战,其中无疑会涉及复杂的输入组合。这些输入来自主动实验、被动观察和(最关键的)程序员输入,这与儿童所接收的信息输入非常相似,他们的输入分别来自进化、父母和他们的同龄人(对应于程序员这个角色)。
不过,我们可以回答一个略微容易一些的问题:机器(和人)如何表示因果知识,才能让自己迅速获得必要的信息,正确回答问题,并如同一个三岁的儿童一样对此驾轻就熟呢?事实上,这正是本书所要回答的主要问题。
我称之为“迷你图灵测试”,其主要思路是选择一个简单的故事,用某种方式将其编码并输入机器,测试机器能否正确回答人类能够回答的与之相关的因果问题。之所以称其为“迷你”,原因有二。首先,该测试仅限于考察机器的因果推理能力,而不涉及人类认知能力的其他方面,如视觉和自然语言。其次,我们允许参赛者以任何他们认为便捷的表示方法对故事进行编码,这就免除了机器必须依据其自身经验构造故事的任务。让智能机器通过这个迷你测试是我毕生的事业——在过去的25年里是自觉而为,在那之前则是无意而为。
显然,在让机器进行迷你图灵测试的准备阶段,表示问题必须优先于获取问题。如果缺少表示方法,我们就不知道如何存储信息以供将来使用。即使可以让机器人随意操控环境,它们也无法记住以这种方式学到的信息,除非我们给机器人配备一个模板来编码这些操作的结果。人工智能对认知研究的一个主要贡献就是确立“表示第一,获取第二”的范式。通常,在寻求一个好的表示方法的过程中,关于如何获取知识的洞见就会自然产生,无论这种洞见是来自数据,还是来自程序员。
当我介绍迷你图灵测试时,人们常说这种测试可以很容易靠作弊来通过。例如,列出一个包含所有可能问题的列表,在机器人的内存中预先存储正确的答案,之后让机器人在被提问时从内存中提取答案即可。如果现在你的面前有两台机器,一台是简单存储了问题答案列表的机器,而另一台是能够依据人类的思考方式回答问题的机器,即能够通过理解问题并利用头脑中的因果模型生成答案的机器,那么我们是没有办法将二者区分开的(所以围绕该问题有很多争论)。如果作弊是如此容易,那么迷你图灵测试究竟能证明什么呢?
1980年,哲学家约翰·塞尔以“中文屋”(Chinese Room)论证介绍了这种作弊的可能性,以此挑战图灵的说法——伪造智能的能力就相当于拥有智能。塞尔的质疑只有一个瑕疵:作弊并不容易——事实上,作弊根本就是不可能的。即使只涉及少量变量,可能存在的问题的数量也会迅速增长为天文数字。假设我们有10个因果变量,每个变量只取两个值(0或1),那么我们可以提出大约3000万个关于这些变量的可能问题,例如:“如果我们看到变量X等于1,而我们让变量Y等于0且变量Z等于1,那么结果变量为1的概率是多少?”如果涉及的变量还要更多,且每个变量都有两个以上的可能值,那么问题数量的增长可能会超出我们的想象。换句话说,塞尔的问题清单需要列出的条目将超过宇宙中原子的数量。所以,很显然,简单的问题答案列表永远无法让机器模拟儿童的智能,更不用说模拟成人的智能了。