第四章 机器人与其合理性(1 / 1)

行而不思者,因莽撞而灭亡;

思而不行者,因懈怠而灭亡。

——威斯坦·休·奥登(Wystan Hugh Auden)

哲学家托马斯·库恩(Thomas Kuhn)在其1962年出版的著作《科学革命的结构》一书中指出,随着科学认知的发展,有时候旧有科学体系会面临全盘崩溃的危机,新的科学体系诞生,取代传统的、既定的科学体系,这就意味着科学的范式将发生变化。到了20世纪80年代末期,专家系统兴盛的时光日渐式微,一场新的人工智能革命悄然临近。诚然,人工智能仍然因期望太高、过度炒作、实现困难等问题为人诟病,但这一次,被动摇的不仅仅是专家系统的根基——“知识就是力量”学说,更是自20世纪50年代以来支撑人工智能,尤其是符号人工智能发展的基础设定。说来有趣,在80年代末期,对人工智能领域批评得最激烈的人士,恰好是来自该领域本身。

澳大利亚机器人学家罗德尼·布鲁克斯(Rodney Brooks),是彼时对人工智能范式批评得最激烈,也是最富影响力和权威的专家。出生于1945年的布鲁克斯曾在斯坦福大学、麻省理工学院和卡内基-梅隆大学这三大人工智能研究中心学习和工作,照理说不可能成为人工智能的批判者。布鲁克斯梦想着制造能够在现实世界中执行有用任务的机器人,在20世纪80年代初期,他就开始质疑当时流行的一种机器人理论——制造机器人的关键是将现实世界的知识编码成某种可以被机器人识别的形式,作为推理和决策的基础。80年代中期,他在麻省理工学院担任教员时,开始重新思考人工智能最基础层面的问题。

布鲁克斯革命

要理解布鲁克斯的观点,我们得重新回到积木世界。回想一下,积木世界是一种由各种模拟元素组成的桌面,桌面上堆叠着不同的对象——人工智能的任务则是以特定的方式重新排列对象。乍一看,积木世界作为人工智能的试验场是完全合情合理的:它听起来像是一个丰富的仓库环境,我敢肯定,多年来人工智能研究的诸多提案中也明确提到了这一点。但对布鲁克斯以及他的追随者而言,积木世界是没有意义的。原因很简单,它的积木只是模拟元素,而现实世界中的问题比模拟元素组成的积木复杂得多。能够在积木世界里解决问题的系统,无论它看起来有多么智能,回归到现实的仓库环境中,都毫无价值。因为在物理世界中,人工智能面临的真正困难是处理感知问题,而在积木世界中,感知问题完全被忽略。(在20世纪70至80年代,积木世界最终被确认为人工智能研究谬误的发展方向,然而这并没有使人们停止对积木世界的研究,即使在今天,我们仍然可以找到各种有关积木世界的研究论文。我承认,我自己也写过几篇。)

布鲁克斯提出了三个关键原则,确定了他的理论体系:首先,他确信,人工智能要取得有意义的进步,只能通过与现实世界中的系统互动来实现——它们必须直接处于某个现实环境,感知并与之互动。其次,他认为,不管是以知识还是以逻辑为基础的人工智能,清晰而全面的知识储备及推理并不是它们智慧行为产生的必要条件,尤其是以逻辑为基础的人工智能。最后,他认为,智慧是一种涌现性质[7],来源于实体与它所处环境发生的各种交互行为。布鲁克斯用了一个发表于1991年的讽刺寓言来阐明自己的观点[44]:

假设19世纪90年代爆发了研究人工飞行(Artificial Flights, AF)的热潮,科学界、工程界和风险投资界都疯狂投入其中。一群AF研究人员奇迹般地乘上了时间机器,穿越到20世纪80年代,在一架商用波音747飞机的客舱里度过了难忘的几个小时。回到19世纪90年代,他们感到无比兴奋和狂热,毕竟确定了空中飞行是能够实现的。于是,他们立即着手研究所看到的一切,在设计倾斜座椅、双层玻璃方面取得了巨大的进步。AF研究员们坚信,只要研究出那些神奇的“塑料”,就能在人工飞行领域登顶称王。

这个寓言的重点在于,当我们思考人类智慧有关问题的时候,往往更关注那些迷人的、具象的方面,比如推理、解决问题或者下棋等智力活动。这些是学术界重视并且希望人工智能可以擅长的领域——相关研究也因为这样的偏向性而走了弯路。布鲁克斯和他的团队认为,推理和解决问题的能力或许会在智能行为中起到作用,但它们并不是研究如何构建人工智能的正确起点[45]。

回到布鲁克斯的寓言中,他还对“分而治之”的设定提出了异议,这一设定是自人工智能诞生之初就默认的基础:人们认为应该将人工智能行为分解为各个组成部分(推理、学习、感知)来研究,而忽略了这些组件如何协同工作:

(人工飞行研究人员)一致认为,这个项目太大了,不可能由单一团体完成,而且他们必须成为不同领域的专家。毕竟,在穿越的那几个小时里面,他们询问过同机乘客,波音公司可是要雇用超过6000人来制造这么一架飞机呢。

……每个人都忙得不可开交,但是小组之间并没有太多交流。

最后,他指出那群研究人员天真地忽视了“重量”问题,他在寓言中写道:

……制造座椅的人用了最好的实心钢作为骨架,有人就犯嘀咕了,应该用空心钢管做啊,这样明显会减轻不少重量。可是众所周知,如果这么一架又大又重的飞机能够在天上飞行,这点重量只是九牛一毛。

这里的“重量”,布鲁克斯是在暗喻计算量。特别是,他强烈反对将所有的决策过程都简化成逻辑推理这种需要大量消耗计算机处理时间和内存的想法。

布鲁克斯为这则寓言选择的题目是“无表征智能”。作为一名研究人工智能的大学生,在20世纪80年代中期专家系统蓬勃发展的阶段,我所接受的教育都认为逻辑推理才是人工智能的核心。布鲁克斯的文章似乎从根本上否定了我以为自己所知道的有关这个领域的一切,感觉就像是异端。1991年,一名年轻的同事从澳大利亚大型人工智能研讨会上回来,兴奋地瞪大眼睛告诉我,斯坦福大学(麦卡锡故乡学院)和麻省理工学院(布鲁克斯所在学院)的博士生之间展开了一场激烈的辩论。一方坚持既定的传统——逻辑、知识表述和推理;另一方则倡导新的人工智能运动,他们不仅无礼地、公然地背弃了神圣的传统,还大肆地嘲笑它。

布鲁克斯或许是新研究方向知名度最高的倡导者,但他并非孤军奋战。也有许多研究人员得出类似结论,虽然在细节上有所偏差,但在不同的研究方法得到的最终的结果相当一致。

其中最重要的一点,是将知识和推理从人工智能的核心角色中抹去。在麦卡锡的人工智能系统设想中,逻辑模型是其核心,所有的人工智能行为都围绕这一核心进行(如上一章的图8所示),而这个设想遭到了强烈抨击。当然也有一些比较中立的观点,认为推理和知识表述仍然可以在人工智能系统中发挥一定作用,虽然可能不是核心和主导作用。但更极端的声音认为应该完全摒弃它们。

这一点值得详细探讨。我们来回顾一下麦卡锡的逻辑派人工智能系统遵循的特定循环:感知其所在环境,推理其该做什么,然后采取行动。但是,以这种方式运行的系统,与环境是分离的。

现在,放下手里的这本书,花点时间四下观察。你可能身处候机室、咖啡厅、火车车厢、家里,或者躺在阳光下的小河边。当你环顾四周时,并没有从环境中脱离,你的感知和行为是与环境融为一体并保持协调的。当然,在某些情况下,你会脱离眼前的环境,陷入沉思。但这种情况并非常规状态,只能算偶然现象。

问题在于,基于知识的人工智能并没有反映出这一点。假设我给你介绍一个按照麦卡锡模型的逻辑人工智能设计的机器人,它通过一个持续的“感知—推理—行为”循环模式运行,利用处理器处理和解析感应器接收到的数据,将感知数据更新到信念库,然后推理应该进行什么操作,再执行它选择的行为,然后再次启动决策循环。现在,我自豪地告诉你,我设计的机器人,不管在执行什么任务,总是会选择最优的执行方式。让我们考虑一下这个机器人在一段时间里的运行模式:

图9 机器人在一段时间里的运行模式

机器人应当选择最合适的行动时间,但是具体是什么时间呢?是感知周围环境的时候,还是最终决定执行什么操作的时候?

在t0到t1之间,机器人感知周围环境,然后用t1到t2的时间来处理传感器数据并更新信念库。在t2到t3之间,机器人对需要执行的动作进行推理,最后,t3才是机器人开始行动的时间点。

现在我宣称自己设计的机器人总是采取最优的执行策略,但是想出最优策略对应的时间呢?是t1还是t3?机器人所掌握的环境信息是在t1之前的,但在t3以后它才可以基于这些信息开始正式行动。这种方法其实是不切实际的,但令人惊讶的是,直到20世纪80年代末,几乎所有的人工智能都还在沿用这样的方式:人工智能研究者一直致力于制造能够在理论上做出最佳抉择的机器(前提是假设外部环境不会发生变化,同时又能弄清楚它到底应该做什么),而不是实践中的最佳决策[46]。

因此,当时出现了另一个关键性的研究主题,即人工智能系统所处的环境和它所表现的行为之间,应该存在一种紧密的耦合关系。

基于行为的人工智能

如果布鲁克斯仅仅是一个批判人工智能的学者,那他的想法不会这么吸引人。毕竟,到了20世纪80年代中期,人工智能从业人员早就习惯无视批评的声音,不顾反对地继续自己的研究工作。布鲁克斯之所以从众多步休伯特·德莱弗斯(即第二章里出现的,撰写《炼金术与人工智能》的美国哲学家)后尘的批评家中脱颖而出,是因为他用令人信服的方式建立了另一种范式,并在随后的几十年里用一些令人印象深刻的系统证明了它。

人工智能的新范式被称为基于行为的人工智能,正如我们接下来要讨论的,它强调了特定的个体行为的重要性,这些行为有助于智能系统的整体运行。布鲁克斯采用的特殊方法被称为包容式体系结构,在当时出现的所有方法中,它似乎是影响力最持久的。现在我们来看看使用包容式体系结构制造的一种低调但实用的机器人:智能扫地机器人[8]。扫地机器人需要在屋子里四处游走,避开障碍物,并且在探测到垃圾或者灰尘的时候进行清洁——当机器人电量不足或者垃圾收纳盒装满时,我们希望它返回到固定位置并且关机。

包容式体系结构最基础的步骤是识别出机器人行为所需要的单个行为组件,然后用逐步添加组件的方式创造机器人。该结构的关键难点在于思考这些组件行为是如何相互关联的,并用何种方式组织它们,让机器人在正确的时间里表现出最恰当的行为。这通常需要对机器人进行广泛的实验,以确保组件行为以合理方式组合工作。

我们的扫地机器人需要六种基本的行为组件。

·避开障碍物:如果我发现前进方向有障碍物,我会改变行进方向,随机选择一个新的方向行进。

·关机:当我返回到充电座并且电量不足的时候,我会关机。

·清空垃圾收纳盒:如果我在充电座上,并且垃圾收纳盒有东西,就清空垃圾收纳盒。

·返回充电座:如果我的电量不足或者垃圾收纳盒已满,就返回充电座。

·执行清洁:如果我在当前位置检测到灰尘污物,则吸入垃圾收纳盒。

·随机移动:随机选择一个方向,然后朝该方向移动。

接下来要解决的问题是如何将这些组件行为组织起来。布鲁克斯建议使用他命名为包容式体系结构的方式组织(见图10)。包容式层次的结构决定了行为的优先级,层次结构中的组件行为越靠近底层,就拥有越高的优先级。在扫地机器人中,避开障碍物是优先级最高的行为,如果遇见障碍物,机器人会第一时间选择避开,始终优先执行这个操作。不难看出,这六种基本的组件行为组成了图10中的层次结构,将用以解决机器人的实际问题:机器人搜索所在区域的污物,如果有所发现,只要它不处于低电量或垃圾收纳盒已满的状态,则将污物吸入垃圾收纳盒;若是电量不足或者收纳盒已满,它会返回充电座。

图10 扫地机器人包容式体系结构的简单示意图

虽然扫地机器人的行为看上去像是由规则控制的,但实际运作要简单得多。在机器人中实现这些行为,不需要像逻辑推理那样费劲。事实上,它们可以直接用简单电路的形式实现,这样一来,机器人将对传感数据的变化做出非常迅速的反应:它能快速响应环境变化。

随后的几十年,布鲁克斯使用包容式体系结构作为框架,开发了一系列令人瞩目的机器人。例如,他的“成吉思”机器人[47],现陈列在美国国家航空航天博物馆中,外形就像六条腿的昆虫,采用包容式体系结构来组织57种基本的组件行为。如果用基于知识的人工智能技术来构造“成吉思”机器人,那会困难到令人惊讶——假设可以实现的话。在经历了几十年的边缘化之后,这些发展推动了机器人技术重新回到人工智能的主流。

基于智能体的人工智能

20世纪90年代初,我遇见了一位人工智能革命中的主角,他是我心目中的英雄人物。我很好奇他究竟如何看待那些他极力反对的人工智能技术——知识表述与推理、问题解决还有计划等。他真的相信这些技术在未来的人工智能中毫无作用吗?“当然不是,”他回答,“但是我不能赌上我的名声赞同它们的现状啊。”真是一个令人沮丧的回答,尽管事后看来,他也许只是想给一位天真的年轻研究生留下深刻印象。但不管这位教授所说的是否是肺腑之言,其他人肯定会认为,基于行为的人工智能也无法逃脱被寄予过高期望的泥潭。不久后,人们开始清晰地意识到,虽然基于行为的人工智能对人工智能领域的基础假设提出了重要更新,但它仍然有非常严重的局限性。

问题就在于它无法扩展规模。如果我们只是想做个扫地机器人,那么基于行为的人工智能就能满足需求。扫地机器人无须推理,也不需要用自然语言跟人交互,或者解决复杂的问题。因为不需要考虑这些问题,所以它能够使用包容式体系结构(或者其他类似结构——当年有不少与之相类似的方式)来获取有效的解决方案。不过,虽然基于行为的人工智能在某些问题上(主要是机器人技术)取得了极大成功,但它并没有为人工智能提供灵丹妙药。一旦基础行为数量太多,就很难设计出行为系统,因为理解各个行为之间可能存在的相互作用会变得非常困难。使用基于行为的方法构建系统是一门类似于黑魔法的艺术——真想知道这个系统是否实用,唯一的方式是构建出来并使用它,这种实践方式不仅昂贵、耗时,而且不可预测。另外,使用基于行为的方法构建的解决方案,虽然能够针对某个非常具体的问题提出精准有效的方法,但从中所积累的经验,很难应用到新问题上。

布鲁克斯表示知识基础和推理等能力并不是构建智能行为必需的基础,这无疑是正确的,他的机器人也向我们展示了纯行为模式可以达到的高度。但我认为,若是因此机械地认为推理和知识表述在人工智能领域毫无用处,那就错了。有些情况下,推理是无法避开的(不管是逻辑推理还是其他形式的推理),试图否认这一点,就像试图用逻辑推理来构造一个扫地机器人一样荒谬。

虽然新型人工智能的某些支持者态度强硬——严禁在人工智能中加入任何类似逻辑表达和推理的东西,但大多数人则采取了一种更温和的方式,这种温和路线似乎一直盛行至今。温和派吸取了基于行为的人工智能的主要优点,但他们认为正确的解决方式是将行为和推理的方法相结合。一个新的人工智能发展方向开始出现,它吸收了布鲁克斯学说的精华,同时也接受此前被证明在人工智能推理和知识表述方面取得成功的因素。

人工智能研究的焦点再一次转移,从专家系统、逻辑推理机等脱离实体的系统转向构建智能体(Agent)。智能体指的是一个完整的人工智能系统,它是一个独立的、自主的实体,嵌入某个环境之中,代表用户执行特定的任务。一个智能体应该能提供一套完整的、集成的能力,而不仅仅是类似逻辑推理那样孤立的、脱离实体的能力。重点在于,将开发目标专注于构建完整的智能体,而不仅仅是智能的组成部分。人们希望这样的人工智能可以避开那个激怒过布鲁克斯的谬论——人工智能可以通过分离智能行为的组成部分(如推理、学习等),彼此孤立地开发,然后组合在一起,取得成功。

基于智能体的人工智能观点直接受到行为人工智能的影响,但又弱化了它的主旨。这一风潮在20世纪90年代初开始初现端倪,当时的人工智能界花费了不少工夫明确当我们提到“智能体”这个词的时候,确切的意指是什么。而一直到90年代中期,人们才达成共识,所谓的智能体应该具备以下三种特性:首先,它们必须反应灵敏,必须迅速适应自己的环境,并且能够在环境变化中适时地调整自己的行为;第二,它们必须积极主动,能够系统地完成用户赋予它们的任务;最后,智能体需要有协作性,即在需要的时候能够和其他智能体合作。人工智能的黄金年代强调的是积极主动,即计划和解决问题;而基于行为的人工智能则强调反应灵敏的重要性,体现在适应所处环境并与之协调。基于智能体的人工智能要求两者兼而有之,此外,还向混合体中注入了一些新的东西:智能体必须和其他智能体合作。为此,它们需要社交技能——不仅是沟通技能,还有和其他智能体的协作、协调、谈判以推进任务完成的能力。

正是出于这种考虑——人工智能体需要社交化,使得基于智能体的人工智能范式从所有人工智能模式中脱颖而出。事后看来,人工智能界花费了这么多年才开始认真思考人工智能系统如何相互协作,以及当它们彼此协作时会出现什么问题,这似乎太奇怪了。虽然研究人员从图灵测试就开始强调社交能力,但它只是指代人工智能通过自然语言与人进行互动和日常对话的能力。在基于智能体的人工智能中,最受关注的并不是如何与人交流,而是如何跟其他的智能体一起协同工作。

图11为我们展示了一个典型的智能体设计。这个智能体被称为“旅行机”[48],它的总体控制分为三个子系统:快速反应子系统的运行方式类似于布鲁克斯的包容式体系结构,它负责处理需要迅速响应并且无须推理的情况,例如避开障碍物;规划子系统负责规划如何实现智能体的目标;另外,建模子系统负责处理与其他智能体的交互。控制系统会听取三个子系统的建议,并决定遵循哪一个的。通常是非常直接的决定:如果快速反应子系统说“停止!”那么控制系统会迅速停止智能体的运动。在20世纪90年代初,人们开发了不少类似这样的智能体系统。

图11 一个典型的智能体结构:旅行机

HOMER:一个完整的智能体

HOMER是我最喜欢的例子,它是一种存在于二维“海洋世界”的模拟机器人潜水艇[49],在海洋世界里完成一系列任务,通常负责收集包裹并将其从一个地点移动到另一个地点。显然,HOMER继承了SHRDLU的传统,并且有着同样的关键限制——它是一个模拟系统。但比起SHRDLU,它要复杂得多。

HOMER可以接受英语指令,不过用户指令的词汇表里只有800个单词。它可以计划如何完成指令,然后执行计划,并根据需要调整。为了了解HOMER的功能,我们来看看用户与它的对话。第一个问题涉及HOMER看到在它面前漂浮着的一根原木。(用户输入采用普通字体,HOMER的回复采用斜体字,我的注释放在括号中。)

你面前是什么?

一根原木。

它是属于你的吗?

不是。

它属于你。

哦。(HOMER用这个词表示被告知了以前不知道的事情)

……

转过身背对你的原木。

好的,我正在转身。

(用户把原木移除)

转回来。

好的,我正在转身。

我的原木不见了!

这段对话展示了一些简单但重要的常识性推理:HOMER记得那根原木,当它转身回来的时候,会期待看到它,当它发现原木不见了的时候,会表示惊讶。

下一个场景从HOMER在码头上等待任务开始,码头上有一个包裹,HOMER的任务是收集包裹并将其运送到驳船上。

下周六晚上9点把包裹放到驳船上。

好的。

(HOMER开始制订计划。)

你下周六会去码头吗?

是的。

你为什么要去码头?

我要去取包裹。

你打算什么时候去取?

晚上8点56分。

下周日包裹会在哪里?

在驳船上。

一周以后包裹会在码头上吗?

不会。

在这里我们看到HOMER展示了它对时间的常识性理解,以及它的行为是如何影响环境的——当它把包裹送到驳船上以后,包裹将不会出现在码头。它还表明了它理解自己的计划是需要时间来执行的——它需要在晚上8点56分到码头取包裹,才能赶得上9点把它放到驳船上。

人工智能助手

虽然基于智能体的人工智能起源于机器人学,但许多研究人员很快意识到它在软件世界有着非凡的应用前景。没有人声称它是通用人工智能——就像专家系统的情况一样,人们只是想通过构建软件智能体来代替我们完成有用的任务。软件智能体的运行需要软件环境,如台式计算机和网络。最重要的想法是让人工智能驱动软件跟我们一起完成日常工作,就像助手一般能够处理电子邮件和上网。

为了弄明白软件智能体的概念是如何产生的,我们需要了解人类与计算机交互的方式,以及关于交互方式的思考是如何随着时间的推移而演变的。

最初的计算机用户,如艾伦·图灵,通常是帮助设计和制造计算机的科学家和工程师,他们制造的人机交互接口也就非常粗糙。图灵在20世纪40年代末使用的电脑“曼彻斯特宝贝”,其中每一个单独的计算机内存位置都必须通过开关来设置,以指示“0”或者“1”。计算机的一切都向用户公开,用户必须了解机器的工作原理才能编程。现在几乎没有人能掌握这种编程技术了,而即使在当时,如果你想换台机器编程,你从曼彻斯特宝贝身上学到的一切技术都毫无用处,因为编程的对象不同,程序也完全不同。

到了20世纪50年代末,这种情况开始发生改变,这一时期的主要创新是高级编程语言的开发,这些语言之所以被称为“高级”,是因为它们向程序员隐藏了一些机器语言的细节,因此程序员无须去了解某台计算机是怎样工作的,就能对其进行编程。这些高级语言独立于机器,从某种意义上来说,在一台计算机上用(比如)COBOL语言编写的程序可以在另一台计算机上运行——或许不一定能完美运行,或多或少出点错之类的,但编程技能开始可以中转了。这些创新极大地提高了计算机的可用性,标志着我们与计算机的交互方式开始从“以计算机为中心”转向“以人为中心”。

这种趋势在随后的60年一直在持续,从以机器为导向的人机交互模式稳步发展到越来越以人为中心的模式。到了20世纪80年代,随着苹果电脑公司于1984年推出麦金塔电脑(Mac电脑),人机交互的方式又有了巨大的飞跃。Mac电脑是第一台面向大众市场的电脑,它明确地表示不需要专业的计算机技能即可使用。它的主要卖点是用户界面,Mac拥有基于桌面的图形用户界面(GUI),这就意味着Mac用户的界面上显示着代表文档和文件夹的图形图标(时至今日也是如此),用户通过移动鼠标来操作这些桌面元素。虽然我们已经很熟悉用“桌面”这个词来描述自己的计算机界面,但你可能没想过,用这个词的原因是你的屏幕看起来像真实的桌面——你电脑上的文档应该像现实世界中的文档一样放在桌面上,文件夹也是现实中文件夹的类似物,可以帮助你整理文档。这样的类比还有:你像把废纸扔进垃圾桶一样把不要的文档或者文件夹拖进垃圾桶图标里……(现在这个比喻有点夸张了,我想很多年轻人只是模糊地意识到了这一点。)

1984年Mac电脑开创的图形用户界面,直至今日仍然是标准的[50],而在硬件方面,从1984年到现在已经更新换代无数次了。我怀疑当年的Mac用户使用现代的Mac或Windows界面时不会存在任何困难。

因此,关于人机交互界面的要点是,用户需要使用他们熟悉的概念(如桌面、文档、文件夹、垃圾桶)与计算机交互,这能使得人机交互的过程更加自然,从而让用户访问计算机变得更加容易。

由于Mac的成功,在80年代末期,时任苹果公司CEO的约翰·斯库里(John Sculley)开始思考下一个类似Mac的人机交互创新可能是什么。他决定实现自己命名为知识导航器的想法,它预见了好几项新兴的计算机技术(尤其是万维网的出现,那时候距离万维网出现还有好几年时间)。为了说明知识导航器的想法,苹果公司委托制作了一段同名概念视频,于1987年发布[51]。这段视频是高度概念化的,意在展示一种愿景,而不是展示产品本身。

在视频中,我们看到一位大学教授,使用与现代的平板电脑高度相似的产品。这款平板电脑的界面看上去像是传统的桌面,但有一处关键的不同:教授与平板电脑的交互是通过软件智能体来实现的。与HOMER一样,这个智能体可以使用英文跟人进行交互,但与HOMER不同的是,该智能体在平板电脑的显示屏上是以动画人形的方式呈现的。智能体礼貌地提醒教授他的日程安排,查询一些有关教授正在计划的讲座材料,并负责管理来电。

这段视频别出心裁(其中包含了不少蹩脚的幽默),但它却有着重要的历史意义,原因有好几个。首先,它暗示了互联网将成为我们工作环境的常规部分。在视频制作的年代,互联网还没有普及到个人应用层面,甚至大多数公司都无法用到,它主要是学术机构和政府机关(尤其是军事机构)的专用品。另外,这段视频预示了平板电脑的普及。不过,对人工智能领域而言,视频最重要的一点是建立了通过智能体与计算机交互的思想。

基于智能体的交互界面代表了一种与从前截然不同的人机交互模式。当我们使用Microsoft Word或者IE浏览器之类的应用程序时,这些程序扮演的是被动的、只会响应的角色。这类应用程序不会控制,没有主动性。当你使用Microsoft Word的时候,它只会因为你选择了某个菜单或者点击了某个按钮而执行该操作,你和Microsoft Word之间的交互只有一个智能体,就是你自己。

基于智能体的交互界面则改变了这一点。计算机只能被动地等待用户告知它做什么,与此不同,一个智能体扮演的是更积极主动的角色,就像一个人类助手那样。智能体会以助手的身份与使用者合作,积极配合使用者做他想做的事情。

知识导航器视频中的智能体是以动画人物形式出现的,外形像视频会议中人物头像,用流利的英语发言。人工智能的能力远远超出了当时的技术,但这并不是核心思想的关键点,而是人工智能可以使软件成为使用者的合作者,不再是被动的仆人。这个中心思想随着视频深入人心,到了90年代中期,在万维网迅速扩张的刺激下,人们对软件智能体的兴趣迅速增长。

比利时裔麻省理工学院媒体实验室教授帕蒂·梅斯(Pattie Maes)发表了一篇广受读者欢迎的文章,文章的标题抓住了时代精神:“智能体能够帮助人们减少工作量和信息过载[52]。”它描述了帕蒂实验室开发的许多原型智能体——电子邮件管理、会议日程安排、新闻过滤和音乐推荐等。比如,电子邮件助手会在收到电子邮件的时候观察用户的行为(立即阅读、将其归档、直接删除等),并使用机器学习算法,尝试预测用户会怎么处理新到的电子邮件。当智能体对它的预测有足够满意时,就会主动行动,根据它的预测来为用户处理电子邮件。

随后的10年里,上百种类似的智能体问世,其中许多都基于互联网。在万维网早期,搜索工具还处于初级阶段,互联网连接比现在慢得多。在网络上执行许多任务都非常耗时,人们希望智能体能够自动完成这些烦琐的工作[53]。对于20世纪90年代后期开始迅速发展的网络而言,软件智能体似乎是一种很有前景的技术,而一大批软件开发公司,也很快成了网络泡沫的一部分。

事实上,我也是这个故事的一部分。1996年夏天,几位同事邀请我加入伦敦一家雄心勃勃的初创公司,他们给了我三倍于学校的工资,我大概思考了半秒钟就同意了。我们的计划是使用智能体来加强网络搜索效率,我们希望能把万维网变成一个图书馆。但我们对商业一无所知,实话说,我们不懂怎么开发商业软件。很快我们就明白了一个残酷的真相:我们以惊人的速度烧掉投资者的钱,但真不知道怎么把它赚回来。那是一段痛苦的时光,我在加入公司9个月以后就离开了它,再过仅仅8个月后,公司倒闭了。

我那悲剧的创业经历也预示着几年后全球范围内所发生的事情,众所周知,互联网泡沫从1995年持续到2000年初。随着那些雄心勃勃、身价不菲的互联网初创新贵纷纷陷入资金窘境,未能实现盈利,2000年初,网络市场开始崩溃。

软件智能体只是互联网故事的一小部分,但它也是跟人工智能相关的最明显的部分了。其实人工智能研究者倡导的梦想并没有错,只是太超前而已。20年后,苹果公司iPhone智能手机的一款应用横空出世,Siri。它是由斯坦福国际研究院开发的——没错,就是30年前开发SHAKEY的同一机构。Siri是20世纪90年代软件智能体工作的直接产物,许多人工智能界人士立即将其与苹果公司的知识导航器视频联系起来。Siri的构想是一个基于软件的智能体,用户可以用自然语言与之交互,并且代替用户执行简单的任务。其他大众市场的应用商迅速跟进:亚马逊的Alexa、微软的Cortana和谷歌助手都实现了类似的功能。他们都将开发起源追溯到基于智能体的人工智能,当然,实际上它们不可能是20世纪90年代出现的,因为当时的硬件不足以支持它们运行。至少在2010年后,移动设备的计算能力才足以支持。

理性行事

基于智能体的范式提供了另一条有关人工智能发展道路的思考:构造能够有效代替我们行动的智能体。不过这又引发了一个有趣的问题,图灵测试确立了一个观点:人工智能的目标是产生与人类相似到无法分辨的行为。但这跟智能体开发的思路不一样,其实我们只是想让智能体代替我们执行最优的选择,它的选择跟人类是否一样,那就无关紧要了。我们真正想要智能体做的是最正确的选择,至少尽可能做出最好的选择。因此,人工智能开发的目标从构建做出跟人类一样选择的智能体转向做出最优选择的智能体。

支持人工智能做最优决策的理论可以追溯到20世纪40年代,约翰·冯·诺依曼——就是我们在第一章认识的,为最早的计算机设计做出开创工作的诺依曼,他和同事奥斯卡·摩根斯坦(Oskar Morgenstern)发展了理性决策的数学理论。该理论表明如何将做出理性决策的问题转化为数学计算问题[54]。在基于智能体的人工智能中,智能体将用它们的理论为用户做出最佳决策。

智能体理论的出发点是用户的偏好。如果你的智能体要代替你做事情,那么它需要明白你的希望是什么。你当然想让智能体尽可能做出你喜欢的选择,那么,我们如何让智能体明白用户的偏好呢?假设,你的智能体要代替你在买苹果、橘子或者梨之间做出选择,它首先需要知道你对这三种不同结果的期望值。例如,假设你的偏好如示例一这样的:

橘子比梨好

梨比苹果好

在这种情况下,你的智能体在苹果和橘子之间做出选择,它选了橘子,你会很高兴;如果它选择苹果,你就会失望。这就是最简单的偏好示例,你的偏好关系描述了你如何对每一对备选结果进行排序。冯·诺依曼和摩根斯坦的理性决策需要偏好关系满足某些一致性的基本要求。例如,假设你的偏好是示例二这样的:

橘子比梨好

梨比苹果好

苹果比橘子好

这么看来你的喜好就有些奇怪了。因为从橘子比梨好、梨比苹果好能推断出你在橘子和苹果中更喜欢橘子,但这就和你的声明相矛盾。因此,你的偏好不满足一致性。这就让你的智能体没办法为你做出最优决策。

下一步就是将符合一致性的偏好进行赋值,使用被称为实体程序的方式。实体程序的基本思想是为每一种备选项赋予一个数字值:数字越大,就代表偏好程度越高。例如,我们可以将橘子的偏好程度赋值为3,梨子为2,苹果为1,这样就可以描述前文第一个示例的情况了。因为3大于2,2大于1,这样的话,实体程序就能够正确地捕捉到第一例中的偏好关系。同样地,我们也可以用实体程序将橘子赋值为10,梨赋值为9,苹果赋值为0。在这种情况下,这个赋值的具体数值并不重要:重要的是赋值大小引起的结果排序。关键点在于,偏好设置必须满足一致性,才可以使用这种实体程序赋值的方式,用数值来表示偏好程度。看看前文所举的第二个示例,试试你能不能给苹果、橘子和梨赋值来表示这个偏好关系。

用赋值关系来表示偏好程度的唯一目的是使其可以用数学计算的方式做出最优选择。我们的智能体就可以选择偏好值最大的选择项,这就意味着它的选择可以达成我们最喜欢的结果。类似这样的问题被称为优化问题,在数学中得到了广泛的研究。

不幸的是,很多选择比这个复杂棘手得多,因为它们涉及不确定性。不确定性选择的设置会比较复杂,选择后的行为会有很多种可能性,我们所知道的仅仅是每一种结果出现的概率。

我们举例来说明这个问题,下面的场景,你的智能体必须在两个选项中做出选择[55]:

选项1:掷一枚硬币,如果是正面,你的智能体获得4英镑;如果是背面,你的智能体获得3英镑。

选项2:掷一枚硬币,如果是正面,你的智能体获得6英镑;如果是背面,你的智能体什么都不获得。

这种情况下,你的智能体应该选择1还是2?我认为选项1是更好的选择,但是,为什么呢?

为了理解原因,我们需要一个叫作预期效用的概念,此处的预期效用可以等价于在此选择下获得的平均收益。

所以,考虑到选项1。我们掷硬币的概率是对半的(不考虑正面和反面的细微重量差别),所以我们预期正面和反面出现的次数平均下来应该是相等,即一半正面,一半反面。所以,你的智能体一半的时间会收到4英镑,一半的时间会收到3英镑。因此,你的智能体从选择1当中获得的预期效用是(0.5×4)+(0.5×3)= 3.5(英镑)。

当然,从实际上来说,你的智能体选择1的时候不可能得到3.5英镑的收益,只是如果选择的次数足够多,获得收益的平均值就是3.5英镑。

同样的道理,我们能计算出选择2的预期效用是(0.5×6)+(0.5×0)= 3(英镑),所以平均来说,选择2只能给你带来3英镑的预期效用。

冯·诺依曼和摩根斯坦的理论中,理性决策的基本原则就是会做出预期效用最大化的行为。在这种情况下,预期效用最大化的选择是选项1,因为它的预期效用为3.5英镑,大于选项2中3英镑的预期效用。

请注意,选项2中提供了诱人的获得6英镑的可能性,这比方案1中的任何结果收益都高,但是,将这个诱人的可能性与同样可能获得0收益的概率相权衡,就不难明白为什么选项1的预期效用比较高了。

预期效用最大化的想法经常被人们误解,有些人认为用数字计算人类的偏好和选择是一种令人厌恶的行为。这种厌恶通常来自一个错误的概念,即收益就等于金钱,或者预期效用最大化理论从某种意义上来说是自私的(因为假设一个使预期效用最大化的智能体行为是只考虑到自己的收益)。但收益这个东西不过是获取偏好数值的一个定义而已,冯·诺依曼和摩根斯坦的理论在对于个人偏好究竟是什么或者应该是什么这个问题上完全保持中立,这个理论同样也适用于天使和魔鬼的偏好。如果你是一心为别人牺牲的人,那也没关系,如果你的利他主义偏好被赋值表达,那么预期效用最大化理论同样适用于你,就如它也适用于世界上最自私的人那样。

到了20世纪90年代,构建能代表我们理性行事的人工智能的智能体范式——这里的理性来自冯·诺依曼和摩根斯坦的理性抉择模型——已经成为人工智能的新正统学说,时至今日仍然如此[56]。如果说有任何共同的主题将当代人工智能的各个分支结合起来,那就是这个。在当今几乎所有的人工智能系统中,都有一个数字收益模型,代表用户的偏好,并且系统将根据这个模型努力使预期效用最大化——代表用户理性决策。

应对不确定性

人工智能还有一个长期存在的问题——如何处理不确定性,在20世纪90年代这个问题变得尤为重要。任何一个现实的人工智能系统都必须处理好不确定性问题,有时甚至会处理许多。举个例子,无人驾驶汽车从传感器获取数据流,但传感器并非完美的,例如测距仪说“前方没有障碍物”,这个结论不能保证百分百准确。测距仪掌握的信息当然有重要价值,但是我们不能百分百信任它。那么,考虑到会出错的可能性,我们又该怎么利用它呢?

在人工智能的历史上,出现过许许多多应对不确定性方案的特别发明或者再发明,但到了90年代,一种特定的方法占据了主导地位,这种方法被称为贝叶斯推断。贝叶斯推断是由18世纪英国神学家、数学家托马斯·贝叶斯(Thomas Bayes)发明的,使用了同样由贝叶斯提出的贝叶斯定理。贝叶斯定理关注的是在新的信息面前,我们应该怎么理性地去调整既有认知。在无人驾驶汽车的案例中,认知与我们前面是否有障碍物相关,而新的信息就是传感器传来的数据。

另外,贝叶斯定理很有趣,因为它强调了人们在处理涉及不确定性的认知决策时有多么糟糕。为了更好地理解这一点,请考虑如下场景:

一种新的致命的流感病毒开始流行,感染概率为千分之一。人们研究出了一种新的流感检验方法,准确率为99%。你突发奇想去参加检测,结果呈阳性。

你该如何面对这个结论?

检测结果呈阳性,我想大多数人都会担心,毕竟,这个测试的准确率可是99%。所以,现在我问你,如果检测结果呈阳性,罹患该流感的概率是多少,我猜大多数人会说0.99(与测试的准确率一致)。

事实上,这个答案错得离谱。你罹患该流感的概率只有十分之一。这似乎违反了直觉,到底是怎么回事呢?

假设我们随机选择1000人做流感测试。我们知道实际感染概率,这1000人中大约有1个人会感染流感。所以我们假设这1000人中确实有1个人感染了流感,而999人没有。

首先我们考虑一下那个罹患流感的可怜人,由于测试准确度是99%,它将有99%的概率检测出患了流感的人。所以,我们可以预期这个结果是正确的(0.99的概率)。

现在来考虑那999个幸运儿,因为测试准确率为99%,所以大概每测试100个人就会有一个误诊。我们测试这999个幸运儿都是没有罹患流感的,预估大概有9~10份测试结果会出现错误。换言之,就是大概有9~10个人,明明没有感染,但测试结果呈阳性。

因此,如果我们对1000人进行流感测试,可以预计其中10到11人的检测结果是呈阳性的。但我们知道,只有一名检测结果呈阳性的人是真患病者。

简言之,由于流感的感染率很低,所以假阳性的被检测者远远多于真阳性(这就是医生为什么很不喜欢依靠单一检测做出诊断的原因之一)。

我们来看看贝叶斯推断在机器人学科中的应用。假设有一个机器人正在探索未知区域,比如一个遥远的星球,或者一片被地震摧毁的废墟之类。我们希望机器人能够探索未知区域并绘制地图。机器人可以通过传感器感知周围环境,但是有一个问题:传感器会错误报告。因此,当机器人进行观察的时候,传感器说“这个位置有障碍物”,可能是正确的,也可能是错误的,我们无法确定。如果机器人默认传感器数据总是正确的,那么它绘制的地图就会出现很大偏差,并且它还有可能根据错误的信息做出移动的决定并撞上障碍物。

这里可以像刚才的流感测试案例一样使用贝叶斯推断,我们利用传感器数据的正确率来更新机器人的信念,通过多次观察来确认障碍物位置,然后逐步完善地图绘制[57]。随着时间的推移,机器人对障碍物所在的确切位置的判断就会越来越精准。

贝叶斯推断的重要性在于为我们提供了处理不完美数据的正确方法:我们既不丢弃数据,也不全盘相信它是正确的。我们利用它来更新机器人的信念库,通过概率来确定信念库的正确性。

尽管贝叶斯推断的功能强大,但由于人工智能系统经常需要处理大量复杂且相关联的数据,所以要使得贝叶斯推断在人工智能领域得以应用,还需要做大量的工作。为了捕捉数据间的相互关联,人工智能研究人员开发了贝叶斯网络,简称贝氏网络,即用图像化的方式来表达数据之间存在的相互关联。贝叶斯网络主要来自朱迪亚·珀尔(Judea Pearl)的研究工作,她是一位非常有影响力的人工智能领域研究专家,在理解和阐明人工智能中概率的作用方面作出了任何人都无法超越的贡献[58]。图12为我们展示了简单的贝叶斯网络示意,这个贝叶斯网络捕捉到了三个假设之间的关系:你得了普通感冒;你流鼻涕;你头痛。从一个假设到另一个假设的箭头表示它们之间的影响关系。粗略地说,从假设x到假设y的箭头表示假设x的真实性会对假设y的真实性产生影响。例如,你得了普通感冒会影响到你是否流鼻涕,如果你流鼻涕,你有可能得了感冒。这些不同概率之间的关系是通过贝叶斯推断来得到的。如果你想深入了解细节,请参见附录C。

图12 简单的贝叶斯网络示意图

当Siri遇见Siri

虽然2000年的时候互联网热潮退却了,但研究者对智能体的兴趣仍然存在,人们开始关注智能体故事有可能出现的新转折点。研究人员想,如果智能体之间可以相互交流,那又会怎样?这个想法倒不是全新的:在以知识为基础的人工智能时代,研究人员就考虑过专家系统之间如何相互分享它们的专业知识,并开发出人工智能的语言让它们能够相互分享知识和查询对方所擅长的领域。但是在多智能体系统下,会出现一个关键性的差别:我希望我的智能体是尽力为我服务的,而你希望你的智能体是尽力为你服务的,既然你我之间存在兴趣爱好或偏好不一致的情况,那么我们的智能体之间肯定也存在不一致。在这样的情况下,智能体就需要具备类似社交的能力。人们在日常生活中都会应用到这样的能力,人工智能所面临的新挑战就是构建具备社交能力的智能体[59]。

事后看来,之前开发者没怎么考虑过人工智能的社交属性似乎挺奇怪的。但是,在多智能体系统出现之前,人们的注意力都集中在开发单个的智能体上,而没有考虑到它会如何跟其他人工智能体交互。假设存在多个人工智能体,而不仅仅是一个,那就从根本上改写了人工智能发展的故事。智能体必须解决的问题是知道自己要做什么——该为自己所代表的用户做什么。如果一个智能体能够为我做出正确的选择,我会非常高兴。但如果周围存在其他智能体,那么我的智能体所选择的行为是好还是坏,至少在一定程度上取决于其他智能体的选择。因此,我的智能体在做选择的时候必须考虑到其他人的智能体会如何选择,同样,其他人的智能体也必须考虑到我的智能体的行为。

智能体在做决策的时候需要考虑对方的偏好和可能的行动,这样的推断实际上属于博弈论的研究范畴。博弈论以前主要是研究战略决策的经济学分支[60],但正如其名所示[9],博弈论起源于对象棋和扑克牌之类游戏的研究。其实,在多个智能体同时存在的情况下,它也是非常有实用价值的。

或许博弈论中最著名的中心思想,也是形成多智能体系统中决策基础的思想,就是纳什均衡。纳什均衡的概念是由小约翰·福布斯·纳什提出来的,我们在1956年被邀请参加约翰·麦卡锡达特茅斯人工智能暑期学校的学员名单中能找到他的名字。正是因为纳什均衡的提出,他与约翰·哈萨尼(John Harsanyi)和理查德·塞尔腾(Richard Selten)一同被授予1994年诺贝尔经济学奖。

纳什均衡的基本思想是很容易理解的。假设我们有两个智能体,每个都需要做出选择。智能体1选择x,智能体2选择y,那么我们如何判断它们是否做出了正确的选择呢?如果两个智能体都不后悔自己的选择,那它们的决策就是好的(从技术上讲,它们的决策形成了纳什均衡)。即:

鉴于智能体2做了选择y,智能体1满足于它所做的选择x;并且,鉴于智能体1做了选择x,智能体2满足于它所做的选择y。

纳什均衡之所以被称为均衡,是因为它捕捉到了决策过程中的稳定性:两个智能体都没有任何动机去做别的选择。

多智能体系统研究迅速采用了如纳什均衡的博弈论的思想作为系统决策研究的基础,但是一个熟悉的难题出现了。当纳什在20世纪50年代提出这个获得诺贝尔奖的想法时,他并不关心如何计算纳什均衡。不过,如果我们想让智能体在做决定时能够使用这个想法,这就一定是一个必须解决的重要问题。而且,也许可以预见,纳什均衡很难计算。寻找有效的方法来计算纳什均衡仍然是当今人工智能的一个主要课题。

人工智能开始成熟

到了20世纪90年代末,智能体范式已经成为人工智能中的主流正统理论:我们构建智能体,并赋予它们用户的偏好,智能体用理性的方式代表用户去做执行工作,使用如冯·诺依曼和摩根斯坦的预期效用理论之类的理性方式作为决策基础。智能体使用贝叶斯推断理性地管理它们对世界的信念库,通过贝叶斯网络或者其他方式捕捉对世界的理解。如果存在多个智能体,我们会借助博弈论来提供决策框架。这并非通用人工智能,也没有给出一条通往通用人工智能的光明大道,但到了20世纪90年代末,这些理念、工具和应用被接受的程度越来越高,致使人工智能界内部对人工智能本身的看法发生了重大变化。这是第一次,我们真实地感受到,自己并非在黑暗中拼命抓住所发现的任何东西。我们研究的领域已经有了明确而坚实的科学基础,从概率论到理性决策,这些都是经过时间检验、值得尊敬的技术。

这一时期的两项成就,标志着人工智能研究开始走向成熟。第一项已经成为全世界的头条新闻,而第二项,意义比第一项更为重大,但除了人工智能界内部人士以外,并不为人所知。

占据全世界头条新闻的突破来自IBM, 1997年,IBM证明了名叫“深蓝”(DeepBlue)的人工智能系统能够在国际象棋比赛中击败俄罗斯大师加里·卡斯帕罗夫(Garry Kasparov)。1996年2月,深蓝第一次从卡斯帕罗夫手里赢下棋局,不过他们一共下了六局棋,卡斯帕罗夫最终以4∶2的总比分获得胜利。一年多后,升级的深蓝系统再次对阵卡斯帕罗夫,而这一次,人类的世界冠军被击败了。似乎当时的卡斯帕罗夫对此表示非常不满,并怀疑IBM公司存在作弊行为,但后来他也提到那是他国际象棋生涯中无法忘却的一次愉悦体验。从那以后,国际象棋无论从任何意义上来说,都是一场已经没有悬念的游戏:人工智能可以战胜优秀的人类棋手。

深蓝的成功主要源于两个因素。第一是启发式搜索,由20世纪50年代跳棋程序的创造者亚瑟·塞缪尔提出,尽管这一技术经过了40多年的改进,其核心技术也不难理解。但第二个因素却颇具争议:深蓝是一台超级电脑,它依靠巨量的计算力来完成工作。有人批评说深蓝系统不是真正意义上的人工智能,只不过是靠野蛮的计算力来获胜的。但这种外行评论大大低估了人工智能技术的重要性,诚然,这些技术需要庞大的计算力支持,但在同样计算力的情况下,用简单粗暴的下棋方式,就如第二章里我们讨论过的解密汉诺塔步骤那种遍历的搜索方式,是根本不可行的。

可能你也听说过深蓝战胜卡斯帕罗夫的新闻,但我认为你不太可能听说当时的第二个重大成就,尽管它的影响可能更为深远。不知道你是否还记得,在第二章里,我们提到过某些计算问题本质上是复杂的——用技术语言来说,就是NP完全问题——人工智能领域许多亟待解决的问题都属于这一类。到了20世纪90年代初,人们开始清楚地认识到,解决NP完全问题的算法在进步,使得这个问题不像20年前一样成为人工智能不可逾越的障碍[61]。第一个被证实为NP完全问题的问题,就是SAT问题〔即satisfiability(可满足性)的缩写〕,这是一个检查简单逻辑表达式是否一致的问题——是否有任何方式表达它们都为真。SAT是所有NP完全问题中最基础的一个,你应该还记得,如果你能找到一个有效的方法解决某一个NP完全问题,那么你就自动找到了解决所有NP完全问题的方法。到了90年代末,“SAT求解器”,即解决SAT问题的程序已经足够强大,开始解决工业规模的问题了。在我写本书的时候,SAT求解器已经高效到在编程过程中可以随时调用了——它们已经成为我们解决NP完全问题的一个工具。不过这并不意味着NP完全问题已经被彻底解决,总会出现一些案例,让最好的SAT求解器都屈膝臣服。但我们不再害怕NP完全问题了,这是人工智能在过去40年里所取得的一项悄无声息的重大突破。

尽管人工智能领域刚刚重新获得了科学界的认可,但并不是所有人都为90年代末的主流人工智能感到高兴。2000年7月,我在波士顿参加会议,聆听了一名人工智能领域研究新星的演讲。当时有一位同行前辈坐在我旁边,他在黄金年代就从事了人工智能领域的研究,和麦卡锡、明斯基是同一时期的人物。他很轻蔑地质问:“这就是现在所谓的人工智能吗?魔法去哪儿了?”我能理解这句话的来历:现代的人工智能从业人员,需要的背景不再是哲学、认知科学和逻辑学,而是概率论、统计学和经济学。看上去就不那么具有……嗯……诗意了,对吧?但事实是,它成功了。

人工智能又一次改变了方向,但这一次,未来似乎更加稳定。如果我是在2000年写这本书的话,我肯定会预言,这个方向将是我从事的人工智能研究行业的未来。不会再有什么戏剧性的剧变发生了:我们将使用这些工具,并且,有了这些工具,我们的研究进展将是缓慢但稳定的。而那时候的我,并不知道戏剧性的新发展将再次震撼人工智能的核心。