第四章 机器人与其合理性(第4页)
这种情况下,你的智能体应该选择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年代这个问题变得尤为重要。任何一个现实的人工智能系统都必须处理好不确定性问题,有时甚至会处理许多。举个例子,无人驾驶汽车从传感器获取数据流,但传感器并非完美的,例如测距仪说“前方没有障碍物”,这个结论不能保证百分百准确。测距仪掌握的信息当然有重要价值,但是我们不能百分百信任它。那么,考虑到会出错的可能性,我们又该怎么利用它呢?
在人工智能的历史上,出现过许许多多应对不确定性方案的特别发明或者再发明,但到了90年代,一种特定的方法占据了主导地位,这种方法被称为贝叶斯推断。贝叶斯推断是由18世纪英国神学家、数学家托马斯·贝叶斯(ThomasBayes)发明的,使用了同样由贝叶斯提出的贝叶斯定理。贝叶斯定理关注的是在新的信息面前,我们应该怎么理性地去调整既有认知。在无人驾驶汽车的案例中,认知与我们前面是否有障碍物相关,而新的信息就是传感器传来的数据。
另外,贝叶斯定理很有趣,因为它强调了人们在处理涉及不确定性的认知决策时有多么糟糕。为了更好地理解这一点,请考虑如下场景:
一种新的致命的流感病毒开始流行,感染概率为千分之一。人们研究出了一种新的流感检验方法,准确率为99%。你突发奇想去参加检测,结果呈阳性。
你该如何面对这个结论?
检测结果呈阳性,我想大多数人都会担心,毕竟,这个测试的准确率可是99%。所以,现在我问你,如果检测结果呈阳性,罹患该流感的概率是多少,我猜大多数人会说0。99(与测试的准确率一致)。
事实上,这个答案错得离谱。你罹患该流感的概率只有十分之一。这似乎违反了直觉,到底是怎么回事呢?
假设我们随机选择1000人做流感测试。我们知道实际感染概率,这1000人中大约有1个人会感染流感。所以我们假设这1000人中确实有1个人感染了流感,而999人没有。
首先我们考虑一下那个罹患流感的可怜人,由于测试准确度是99%,它将有99%的概率检测出患了流感的人。所以,我们可以预期这个结果是正确的(0。99的概率)。
因此,如果我们对1000人进行流感测试,可以预计其中10到11人的检测结果是呈阳性的。但我们知道,只有一名检测结果呈阳性的人是真患病者。
简言之,由于流感的感染率很低,所以假阳性的被检测者远远多于真阳性(这就是医生为什么很不喜欢依靠单一检测做出诊断的原因之一)。
我们来看看贝叶斯推断在机器人学科中的应用。假设有一个机器人正在探索未知区域,比如一个遥远的星球,或者一片被地震摧毁的废墟之类。我们希望机器人能够探索未知区域并绘制地图。机器人可以通过传感器感知周围环境,但是有一个问题:传感器会错误报告。因此,当机器人进行观察的时候,传感器说“这个位置有障碍物”,可能是正确的,也可能是错误的,我们无法确定。如果机器人默认传感器数据总是正确的,那么它绘制的地图就会出现很大偏差,并且它还有可能根据错误的信息做出移动的决定并撞上障碍物。
这里可以像刚才的流感测试案例一样使用贝叶斯推断,我们利用传感器数据的正确率来更新机器人的信念,通过多次观察来确认障碍物位置,然后逐步完善地图绘制[57]。随着时间的推移,机器人对障碍物所在的确切位置的判断就会越来越精准。
贝叶斯推断的重要性在于为我们提供了处理不完美数据的正确方法:我们既不丢弃数据,也不全盘相信它是正确的。我们利用它来更新机器人的信念库,通过概率来确定信念库的正确性。
尽管贝叶斯推断的功能强大,但由于人工智能系统经常需要处理大量复杂且相关联的数据,所以要使得贝叶斯推断在人工智能领域得以应用,还需要做大量的工作。为了捕捉数据间的相互关联,人工智能研究人员开发了贝叶斯网络,简称贝氏网络,即用图像化的方式来表达数据之间存在的相互关联。贝叶斯网络主要来自朱迪亚·珀尔(JudeaPearl)的研究工作,她是一位非常有影响力的人工智能领域研究专家,在理解和阐明人工智能中概率的作用方面作出了任何人都无法超越的贡献[58]。图12为我们展示了简单的贝叶斯网络示意,这个贝叶斯网络捕捉到了三个假设之间的关系:你得了普通感冒;你流鼻涕;你头痛。从一个假设到另一个假设的箭头表示它们之间的影响关系。粗略地说,从假设x到假设y的箭头表示假设x的真实性会对假设y的真实性产生影响。例如,你得了普通感冒会影响到你是否流鼻涕,如果你流鼻涕,你有可能得了感冒。这些不同概率之间的关系是通过贝叶斯推断来得到的。如果你想深入了解细节,请参见附录C。
当Siri遇见Siri
虽然2000年的时候互联网热潮退却了,但研究者对智能体的兴趣仍然存在,人们开始关注智能体故事有可能出现的新转折点。研究人员想,如果智能体之间可以相互交流,那又会怎样?这个想法倒不是全新的:在以知识为基础的人工智能时代,研究人员就考虑过专家系统之间如何相互分享它们的专业知识,并开发出人工智能的语言让它们能够相互分享知识和查询对方所擅长的领域。但是在多智能体系统下,会出现一个关键性的差别:我希望我的智能体是尽力为我服务的,而你希望你的智能体是尽力为你服务的,既然你我之间存在兴趣爱好或偏好不一致的情况,那么我们的智能体之间肯定也存在不一致。在这样的情况下,智能体就需要具备类似社交的能力。人们在日常生活中都会应用到这样的能力,人工智能所面临的新挑战就是构建具备社交能力的智能体[59]。
事后看来,之前开发者没怎么考虑过人工智能的社交属性似乎挺奇怪的。但是,在多智能体系统出现之前,人们的注意力都集中在开发单个的智能体上,而没有考虑到它会如何跟其他人工智能体交互。假设存在多个人工智能体,而不仅仅是一个,那就从根本上改写了人工智能发展的故事。智能体必须解决的问题是知道自己要做什么——该为自己所代表的用户做什么。如果一个智能体能够为我做出正确的选择,我会非常高兴。但如果周围存在其他智能体,那么我的智能体所选择的行为是好还是坏,至少在一定程度上取决于其他智能体的选择。因此,我的智能体在做选择的时候必须考虑到其他人的智能体会如何选择,同样,其他人的智能体也必须考虑到我的智能体的行为。
智能体在做决策的时候需要考虑对方的偏好和可能的行动,这样的推断实际上属于博弈论的研究范畴。博弈论以前主要是研究战略决策的经济学分支[60],但正如其名所示[9],博弈论起源于对象棋和扑克牌之类游戏的研究。其实,在多个智能体同时存在的情况下,它也是非常有实用价值的。
或许博弈论中最著名的中心思想,也是形成多智能体系统中决策基础的思想,就是纳什均衡。纳什均衡的概念是由小约翰·福布斯·纳什提出来的,我们在1956年被邀请参加约翰·麦卡锡达特茅斯人工智能暑期学校的学员名单中能找到他的名字。正是因为纳什均衡的提出,他与约翰·哈萨尼(JohnHarsanyi)和理查德·塞尔腾(RichardSelten)一同被授予1994年诺贝尔经济学奖。
纳什均衡的基本思想是很容易理解的。假设我们有两个智能体,每个都需要做出选择。智能体1选择x,智能体2选择y,那么我们如何判断它们是否做出了正确的选择呢?如果两个智能体都不后悔自己的选择,那它们的决策就是好的(从技术上讲,它们的决策形成了纳什均衡)。即:
纳什均衡之所以被称为均衡,是因为它捕捉到了决策过程中的稳定性:两个智能体都没有任何动机去做别的选择。
多智能体系统研究迅速采用了如纳什均衡的博弈论的思想作为系统决策研究的基础,但是一个熟悉的难题出现了。当纳什在20世纪50年代提出这个获得诺贝尔奖的想法时,他并不关心如何计算纳什均衡。不过,如果我们想让智能体在做决定时能够使用这个想法,这就一定是一个必须解决的重要问题。而且,也许可以预见,纳什均衡很难计算。寻找有效的方法来计算纳什均衡仍然是当今人工智能的一个主要课题。
人工智能开始成熟
到了20世纪90年代末,智能体范式已经成为人工智能中的主流正统理论:我们构建智能体,并赋予它们用户的偏好,智能体用理性的方式代表用户去做执行工作,使用如冯·诺依曼和摩根斯坦的预期效用理论之类的理性方式作为决策基础。智能体使用贝叶斯推断理性地管理它们对世界的信念库,通过贝叶斯网络或者其他方式捕捉对世界的理解。如果存在多个智能体,我们会借助博弈论来提供决策框架。这并非通用人工智能,也没有给出一条通往通用人工智能的光明大道,但到了20世纪90年代末,这些理念、工具和应用被接受的程度越来越高,致使人工智能界内部对人工智能本身的看法发生了重大变化。这是第一次,我们真实地感受到,自己并非在黑暗中拼命抓住所发现的任何东西。我们研究的领域已经有了明确而坚实的科学基础,从概率论到理性决策,这些都是经过时间检验、值得尊敬的技术。
这一时期的两项成就,标志着人工智能研究开始走向成熟。第一项已经成为全世界的头条新闻,而第二项,意义比第一项更为重大,但除了人工智能界内部人士以外,并不为人所知。
占据全世界头条新闻的突破来自IBM,1997年,IBM证明了名叫“深蓝”(DeepBlue)的人工智能系统能够在国际象棋比赛中击败俄罗斯大师加里·卡斯帕罗夫(GarryKasparov)。1996年2月,深蓝第一次从卡斯帕罗夫手里赢下棋局,不过他们一共下了六局棋,卡斯帕罗夫最终以4∶2的总比分获得胜利。一年多后,升级的深蓝系统再次对阵卡斯帕罗夫,而这一次,人类的世界冠军被击败了。似乎当时的卡斯帕罗夫对此表示非常不满,并怀疑IBM公司存在作弊行为,但后来他也提到那是他国际象棋生涯中无法忘却的一次愉悦体验。从那以后,国际象棋无论从任何意义上来说,都是一场已经没有悬念的游戏:人工智能可以战胜优秀的人类棋手。
可能你也听说过深蓝战胜卡斯帕罗夫的新闻,但我认为你不太可能听说当时的第二个重大成就,尽管它的影响可能更为深远。不知道你是否还记得,在第二章里,我们提到过某些计算问题本质上是复杂的——用技术语言来说,就是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月,我在波士顿参加会议,聆听了一名人工智能领域研究新星的演讲。当时有一位同行前辈坐在我旁边,他在黄金年代就从事了人工智能领域的研究,和麦卡锡、明斯基是同一时期的人物。他很轻蔑地质问:“这就是现在所谓的人工智能吗?魔法去哪儿了?”我能理解这句话的来历:现代的人工智能从业人员,需要的背景不再是哲学、认知科学和逻辑学,而是概率论、统计学和经济学。看上去就不那么具有……嗯……诗意了,对吧?但事实是,它成功了。