PDF 物理页索引 60
文件中的第 61 页 · 印刷页码:未识别
我们构建智能体的方式取决于我们面临的问题的性质。反过来,这又取决于三件事:第一,智能体的工作环境——棋盘与手机或拥挤的高速公路截然不同;第二,将智能体与环境连接起来的观察和动作——例如,Siri能访问手机的摄像头,它才能“看”;第三,智能体的目标——教对手下棋与赢棋是截然不同的任务。
我举一个例子来说明智能体的设计是如何依赖于这些东西的。如果国际象棋程序的目标是赢棋,它只需要考虑当前的棋局,不需要任何对过去事件的记忆。<sup>[47]</sup>如果其目标是当国际象棋教练,程序就要不断更新模型,从而确定学生对国际象棋各个方面的了解程度,以便提供有用的建议。换言之,对国际象棋教练而言,学生的想法是与环境相关的一部分。此外,与棋局不同,学生的想法是环境中的一部分,无法被直接观察到。
影响智能体设计问题的特征至少包括以下几点:<sup>[48]</sup>
• 环境是完全可观察的(如在国际象棋中,输入提供了对当前环境状态的所有相关方面的信息),还是部分可观察的(如在驾驶中,视野是有限的,车辆是不透明的,其他司机的意图是未知的)。
• 环境和动作是独立的(如国际象棋),还是实际上连续的(如驾驶)。
• 环境中包含其他智能体(如国际象棋和驾驶),还是不包含其他智能体(如在地图上查找最短路线)。
PDF 物理页索引 61
文件中的第 62 页 · 印刷页码:未识别
• 环境的“规则”和“物理定律”所规定的行动结果是可预测的(如国际象棋),还是不可预测的(如交通和天气),以及这些规则和定律是已知的还是未知的。
• 环境是否在动态变化。这会影响决策时间是受到严格限制(如驾驶),还是不受严格限制(如税收战略优化)。
• 时间跨度是长还是短。我们要在这个时间跨度里根据目标来衡量决策质量。这一时间跨度可能非常短(如紧急刹车),可能持续中等时长(如国际象棋,棋局持续约100步),或很长(例如送我去机场的出租车如果每秒做出100个决定,它可能需要数十万个决策周期)。
可以想象,这些特征带来了各种类型的令人困惑的问题。只要将上面列出的选项数量相乘,就会得到192种类型。人们可以找到所有类型的真实问题案例。有些类型通常在人工智能以外的领域进行研究,例如,设计一个保持水平飞行的无人驾驶仪是一个短期、连续、动态的问题,这通常属于控制理论的研究范畴。
显然,某些类型的问题比其他类型的问题更容易。人工智能已经在棋类游戏和拼图游戏这样的问题上取得了很大进展,这些问题是可观察的、独立的、确定性的,并且有已知的规则。对于较简单的问题类型,人工智能研究人员已经开发出了相当通用且有效的算法,并具有扎实的理论理解。通常,机器在这类问题上的表现要优于人类。我们可以说,一个算法是通用的,因为我们可以用数学证明它,该算法在整个问题类别中,以合理的计算复杂性给出最优或接近最优的结果,而且因为它在实践中可以很好地解决这类问题,所以不需要针对任何特定问题进行修改。
像《星际争霸》这样的电子游戏比棋类游戏要困难一些:电子游戏包含数百个移动部件和数千个步骤的时间跨度,而且地图在任何给定时间内都只有部分可见。在每个点上,玩家都可能至少有10<sup>50</sup>种选择,而围棋大约有 $1 0 ^ { 2 }$ 种选择。<sup>[49]</sup> 另外,电子游戏的规则是已知的,而世界是离散的,只有几种类型的对象。截至2019年初,机器已经达到了《星际争霸》专业玩家的水平,但还没有准备好挑战最优秀的人类玩家。<sup>[50]</sup>更重要的是,要达到这一点,机器还需要针对特定问题做大量努力。通用方法还没有为《星际争霸》做好准备。
PDF 物理页索引 62
文件中的第 63 页 · 印刷页码:未识别
管理政府或教授分子生物学之类的问题要困难得多。这些环境很复杂,大部分是不可观察的(一个国家的状态,一个学生的思想状态),还有更多的对象和对象类型,对动作没有明确定义,规则大多是未知的,有大量的不确定性,以及非常长的时间跨度。我们有想法和现成的工具来分别处理这些特征,但到目前为止,还没有同时处理所有特征的通用方法。当我们为这类任务构建人工智能系统时,它们往往需要开展大量针对特定问题的工程工作,而且往往非常不稳定。
当我们设计出针对给定类型的较困难问题的有效方法,或者设计出需要较少和较弱假设的方法,以便适用于更多问题时,通用性的进展就出现了。通用人工智能将是一种适用于所有问题类型的方法,并且在做出很少假设的情况下,它能有效地处理大而难的实例。这就是人工智能研究的终极目标——一个不需要针对具体问题的工程学系统,人们可以简单地要求它去管理政府或教授分子生物学。它会从所有可用的资源中学习它需要学习的东西,在必要时提出问题,并开始制订和执行有效的计划。
这种通用的方法还不存在,但我们正在接近它。也许令人惊讶的是,在实现通用人工智能方面取得的许多进步,都来自与构建可怕的通用人工智能系统无关的研究。这些进步来自对“工具人工智能”或“狭义人工智能”的研究,即为特定问题设计的完美、安全、乏味的人工智能系统,例如下围棋或识别手写数字。人们通常认为这种人工智能研究没有风险,因为它是针对具体问题的,与通用人工智能无关。
PDF 物理页索引 63
文件中的第 64 页 · 印刷页码:未识别
这种看法源于对这些系统的工作类型的误解。事实上,对工具人工智能的研究能够而且常常会在实现通用人工智能方面取得进展,特别是当它由别具慧眼的研究人员攻克了当前的通用方法所不能解决的问题的时候。在这里,“别具慧眼”意味着,解决方案所采用的路径不仅仅是对一个聪明人在某种情况下会如何行动的临时编码,而是试图使机器具备自己找出解决方案的能力。
例如,当谷歌DeepMind的AlphaGo团队成功创建了举世无双的围棋程序时,他们并没有把注意力局限在围棋方面的工作上。我的意思是,他们并没有写很多专用于围棋的代码来说明在不同的棋局中该怎么做。他们没有设计只适用于围棋的决策程序。相反,他们对两种非常通用的技术进行了改进:一是用前向搜索(lookahead search)来做决策,二是用强化学习来学习如何评估棋局。因此,他们的围棋程序达到了超越人类的水平。这些改进适用于许多其他问题,包括远至机器人领域的问题。更让人印象深刻的是,AlphaGo的一个叫AlphaZero(阿尔法元)的版本学会了在围棋中打败AlphaGo,还打败了Stockfish(世界上最好的国际象棋程序,水平远远高于任何人类)和Elmo(世界上最好的日本将棋程序,水平同样远远高于任何人类)。AlphaZero在一天内完成了这一切。<sup>[51]</sup>
20世纪90年代,在识别手写数字的研究方面,通用人工智能也取得了重大进展。AT&T(美国电话电报公司)实验室的杨立昆(YannLeCun)团队在编写识别“8”的特殊算法时,并没有使用搜索曲线和回环的方法,他们改进了现有的神经网络学习算法来生成卷积神经网络(convolutional neural network)。反过来,用标记的样本对这些网络进行适当训练后,网络就展现出有效的识别字符的能力。同样的算法可以学习识别字母、形状、停车标志、狗、猫和警车等。在深度学习的课题下,他们革新了语音识别和基于机器视觉的物体识别。这些也是AlphaZero以及当前大多数无人驾驶汽车项目的关键组成部分之一。
PDF 物理页索引 64
文件中的第 65 页 · 印刷页码:未识别
如果你仔细想想就会发现,在解决具体任务的狭义人工智能项目中,出现朝向通用人工智能的进展其实不足为奇,这些任务为人工智能研究人员提供了一些研究思路。(人们不说“盯着窗外发呆是发明之母”是有原因的。)同时,重要的是,我们要了解自己已经取得了多少进展,以及边界在哪里。当AlphaGo战胜李世石以及其他所有顶尖围棋选手时,许多人认为,机器从零开始学习,在一项已知的即使对于极度聪明的人类也非常困难的任务中战胜了人类,所以这便是终结的开始,人工智能接管世界只是时间问题。当AlphaZero在国际象棋和将棋中也像在围棋中一样获胜时,一些之前的怀疑者可能也已经被说服了。但AlphaZero有严格的限制:它只适用于独立的、可观察的、具有已知规则的双人游戏。这种方法根本不适用于驾驶、教学、管理政府或接管世界。
这些关于机器能力的清晰界限意味着,当人们谈论“机器智商”迅速增长并有可能超过人类智商时,他们是在胡说八道。在某种程度上,智商的概念在应用于人类时是有意义的,因为人类的能力往往在广泛的认知活动中相互关联。试图赋予机器智商,就像试图让四条腿的动物参加人类十项全能比赛一样。的确,马跑得快,跳得高,但它们在撑竿跳高和掷铁饼项目中会碰到很多麻烦。
目标和标准模型
如果从外部看一个智能体,重要的是看它从接收的输入流中生成的动作流。如果从内部看,动作必须由智能体程序选择。可以说,人类天生就有一个智能体程序,这个程序随着时间的推移学会了在大量任务中合理、成功地行动。到目前为止,人工智能的情况并非如此:我们不知道如何构建一个通用人工智能程序来完成一切事情,因此我们针对不同类型的问题构建不同类型的智能体程序。我需要简要解释一下这些不同的智能体程序是如何工作的。对于感兴趣的读者,本书末尾的附录给出了更详细的解释。这里的重点是如何在这些不同类型的智能体中将标准模型实例化,换言之,如何指定目标,并将其传达给智能体。
PDF 物理页索引 65
文件中的第 66 页 · 印刷页码:未识别
传达目标最简单的方式是以“终点”的形式。当你进入无人驾驶汽车,触摸屏幕上“家”的图标时,汽车就会以此为目标,继续规划和执行路线。世界的状态要么是到达终点(是的,我在家),要么是没有到达终点(不,我不住在旧金山机场)。在人工智能研究的古典主义时期,即在20世纪80年代,不确定性成为一个主要问题之前,大多数人工智能研究都假设世界是完全可观察的和确定的,终点作为一种明确目标是有意义的。人们有时还需要用到一个成本函数来评估解决方案,因此最优解决方案是在到达终点的同时使总成本最小化。对汽车而言,这可能是内置的——也许一条路线的成本是时间和燃料消耗的某个固定组合,或者人类可以选择在二者之间进行权衡取舍。
实现这些目标的关键是这样一种能力:“在心中模拟”可能行动的效果。有时这也被称为前向搜索。你的无人驾驶汽车有一张内置地图,所以它知道从旧金山沿着海湾大桥向东行驶可以到达奥克兰。前向搜索算法起源于20世纪60年代,它通过前向搜索许多可能的动作序列来找到最优路径<sup>[52]</sup>(附录A)。这些算法构成了现代基础设施中无处不在的一部分,它们不仅提供行车路线,还提供航空旅行解决方案、机器人装配、建筑规划和物流配送。前向搜索的概念同样适用于井字游戏、国际象棋和围棋等游戏,这些游戏的目标是根据游戏对胜利的特定定义来努力取胜,只不过人们还需要对算法做一些修改来处理对手的赖皮行为。
前向搜索算法对于具体的任务非常有效,但不是很灵活。例如,AlphaGo“了解”围棋的规则,但这种“了解”只是建立在它有两个用C++等传统编程语言编写的子程序的意义上:一个子程序生成所有可能的合规走法,另一个子程序对目标进行编码,确定给定的局面是赢还是输。为了让AlphaGo玩不同的游戏,必须有人重写所有这些C++代码。此外,如果你给它一个新的目标,例如访问围绕着比邻星运行的系外行星,它将像原来下围棋那样探索数十亿步棋,徒劳地试图找到实现目标的方法。它无法查看C++代码并确定一个显而易见的事实:没有任何围棋着法可以让你到达系外行星。AlphaGo的知识基本上被锁在一个黑盒里。
PDF 物理页索引 66
文件中的第 67 页 · 印刷页码:未识别
1958年,在达特茅斯夏季会议开创了人工智能概念的两年之后,约翰·麦卡锡提出了一种更通用的方法,打开了黑盒:编写通用的推理程序。这个程序可以吸收一切主题的知识,并能回答一切可以回答的问题。<sup>[53]</sup>一种特殊的推理是亚里士多德所建议的那种实践推理:“完成动作A、B、C……将会实现目标G。”目标可以是任意事情,例如,在我回家之前确保房子整洁,在不丢掉马的情况下赢一盘国际象棋,将我的纳税金额减少50%,访问比邻星等。很快,麦卡锡的这类新程序被称为“基于知识的系统”。<sup>[54]</sup>
要使“基于知识的系统”成为可能,我们需要回答两个问题。首先,我们如何将知识存储在计算机中?其次,计算机如何根据这些知识进行正确推理并得出新的结论?幸运的是,早在计算机出现之前,古希腊哲学家,尤其是亚里士多德,就为这些问题提供了基本答案。的确,如果亚里士多德有机会使用电脑(还有电力),那么他很有可能成为人工智能研究者。麦卡锡重申了亚里士多德的答案——使用形式逻辑作为知识和推理的基础。
在计算机科学中有两种真正重要的逻辑。第一种被称为命题逻辑(附录B)或布尔逻辑,古希腊人以及古代中国和印度的哲学家都知道它。它与构成计算机芯片电路的与门、非门等逻辑门相同。从字面意义上讲,现代CPU(中央处理器)就是用命题逻辑语言编写的一个非常庞大的数学表达式,长达数亿页。第二种逻辑是麦卡锡提议用于人工智能的逻辑,叫作一阶逻辑(附录B)。一阶逻辑语言远比命题逻辑语言更有表现力,这意味着有些东西用一阶逻辑可以很容易地表达出来,但用命题逻辑很难表达。例如,围棋规则在一阶逻辑中的表达只需要一页,而在命题逻辑中则长达数百万页。同样,我们可以很容易地表达关于国际象棋、英国公民身份、税法、买卖、搬家、绘画、烹饪,以及我们的常识世界中许多其他方面的知识。
PDF 物理页索引 67
文件中的第 68 页 · 印刷页码:未识别
因此,从原则上讲,使用一阶逻辑推理的能力让我们朝着实现通用智能的目标迈出了一大步。1930年,才华横溢的奥地利逻辑学家库尔特·哥德尔(Kurt Gödel)发表了他著名的“完全性定理”,<sup>[55]</sup>证明了存在如下性质的算法:<sup>[56]</sup>
对于一阶逻辑可表达的任何知识集合与任何问题,如果答案存在,那么算法将告诉我们问题的答案。
这是一个相当令人难以置信的定理。它的意思是,例如,我们可以告诉系统围棋的规则,它会告诉我们(如果我们等待足够长的时间)是否存在必胜的开局着法;我们可以告诉系统当地的地理情况,它会告诉我们去机场的路;我们可以告诉系统关于几何学、运动和餐具的知识,它会告诉机器人如何摆好餐桌。总而言之,只要我们给定任意可实现的目标和关于其行动所产生的影响的充分知识,智能体就可以使用该算法制订一个计划,它可以执行这个计划来实现目标。
必须指出的是,哥德尔实际上并没有提供算法,他只是证明了算法的存在。20世纪60年代初,真正的逻辑推理算法开始出现,<sup>[57]</sup>麦卡锡基于逻辑的通用智能系统的梦想似乎触手可及。加州斯坦福研究所的Shakey项目是世界上第一个大型移动机器人项目,它就是基于逻辑推理的(图4)。Shakey从其人类设计者那里获得一个目标,使用视觉算法创建描述当前情况的逻辑断言,执行逻辑推理,以得出可以实现目标的有保证的计划,然后执行这个计划。Shakey如今证明了亚里士多德对人类认知和行为的分析至少部分是正确的。
PDF 物理页索引 68
文件中的第 69 页 · 印刷页码:未识别
PDF 物理页索引 69
文件中的第 70 页 · 印刷页码:未识别
不幸的是,亚里士多德(和麦卡锡)的分析离完全正确还有很长的路要走。主要的问题是无知——我得赶紧解释一下,不是亚里士多德或麦卡锡无知,而是所有人类和机器无知,无论是现在还是未来的人类和机器都是无知的。在我们的知识中,只有很少一部分是绝对确定的。特别是,我们对未来知之甚少。对一个纯粹的逻辑系统而言,无知是一个无法克服的问题。如果我问,如果我在飞机起飞前三个小时出发,我能准时到达机场吗?或者,我可以买彩票中奖,然后用奖金买房子吗?在以上两种情况下,正确答案都是“不知道”。原因是,对于每个问题,“是”和“否”的回答在逻辑上都是可能的。在实际情况中,一个人永远不可能绝对肯定任何经验性问题,除非他已经知道答案。<sup>[58]</sup>幸运的是,确定性对行动来说是完全不必要的:我们只需要知道哪个行动是最好的,而不是哪个行动肯定会成功。
不确定性意味着“输入机器的目标”通常是一个无法精确描述的目标,所以我们不能让机器不惜一切代价去实现它。此时不再有“实现目标的动作序列”这样的东西,因为任何动作序列都会产生多种可能的结果,其中一些不会实现目标。成功的可能性真的很重要:提前三小时前往机场可能意味着你不会错过航班,购买彩票可能意味着你会赢得足够的钱去买一套新房子,但二者的可能性大小非常不同。寻找用最大的可能性实现目标的计划,依然无法拯救目标。最大限度地提高及时到达机场并赶上航班的可能性的计划,可能包括提前几天离开家、组织武装护送、安排许多替代交通工具以防出现故障等。人们不可避免地需要考虑不同结果的相对可取性以及它们发生的可能性。