2.6.3 相关性问题——框架问题
这三个问题中框架问题吸引了最多的争论[166],并且已经有能力改变人工智能的学科方向。与其说它是一个关于人工智能或编程的问题,不如说它是一个逻辑和我们对世界的理解上的空白,而且通常被重新定义为“相关性问题”。问题在于哪些变化与手头的工作有关。例如,当我正在街上行走,并且看到在我前方大约六英尺有一个香蕉皮,我会略微改变我的方向以避开香蕉皮。现在,假设我正在行走,这次不是香蕉皮,而是在远处的西伯利亚冻土带出现了台风。很显然这不会影响到我的行走,但存在很多不能像这样简单地确定相关性的情境。
这个问题已经被很多著名的哲学家和人工智能科学家解析过了。丹尼特[89]用一个例证讨论了框架问题,其中机器人Robot R1必须进入一个房间获取电池来为自己供电,并同时避开一个定时炸弹,如图2.32所示。Robot R1识别出了电池和炸弹,并推着同时载有电池和定时炸弹的手推车走了出来,很快炸弹爆炸,机器人被炸成了碎片。Robot R1知道炸弹在手推车上,但无法理解把手推车带出房间的同时也会带出炸弹,因此它无法完成任务,因为它无法推断出自己行动的后果。为了克服这个看似微不足道的问题,机器人设计师开发了Robot Deducer R1D1,它比R1更完善,因为它被设计为不仅能识别其行动的预期影响,而且还能识别其副作用。潜在的想法是R1D1不会犯把电池和炸弹一起推出的错误,因为它将能够推断出这样做的后果(读取错误)。投入工作后,R1D1试图推断其行为的各种(很多是不必要的和无关的)后果。很快,炸弹在它无忧无虑的思考期间爆炸了,R1D1面临了和它的前身一样的命运。Robot Relevant Deducer R2D1是第三个改进的设计,尝试使用一个详尽的列表式的方法来将其行动的后果归类为“相关的”和“不相关的”,即一个找出其行动的所有可能后果的彻底的方法。不幸的是,炸弹爆炸,Robot Relevant Deducer R2D1也被炸成了碎片。这三个机器人都遭受了“框架问题”,并且都没有办法找出是什么与手头问题相关。
图2.32 丹尼特的框架问题例证。机器人进入一个房间获取电池来为自己供电,并同时避开一个定时炸弹
在这三个机器人中,随着知识量的增加,让机器人推断相关信息以解决手头问题的代码量也会增加。随着这些机器人的编程中被加入更多的代码量和似乎更多的理性意识,它们的效率也随之降低。即编码和信息最简单的R1至少能推着手推车走出来,这是R1D1和R2D1没能做到的,它们在推断各种行动的后果时就已经被炸成碎片了。R1D1和R2D1陷入了不知何时停止思考的困境,或者说陷入了哈姆雷特问题。框架问题可以被看作工程领域的哈姆雷特问题。丹尼特通过这个例证说明了框架问题可能看起来像是一个糟糕的设计、故障、硬件不良和编码错误的问题,但与其说这是一个技术或设计上的缺陷,不如说这是一个认识论问题,是人类常识推理的后果,是“心理现实”的后果,这些情境都是编程代码无法完全实现的。
当试图使用符号表征[269]为机器人环境的可行描述找到足够数量的公理时,框架问题出现了。该术语来源于“帧”技术,用于舞台角色或动画的开发,其中移动部分和角色被叠加在“帧”上,通常背景不会改变。一个框架或一个机器人的环境需要大量的语句来进行描述,但其中很多语句在最常见的交互中几乎没有变化。因此,就相对运动而言,框架问题被描述为物体的空间定位,在机器人的运动过程中,大致不会移动。从而机器人行动的构成必须联系上在整个事件中保持静态的对象。
在一个进一步理解框架问题的例证中,如图2.33所示,如果即便最微不足道的事情也被提及的话,两个朋友之间的对话可以很容易变得很奇怪。然而值得注意的是,看似荒谬的想法,如Joe的酒吧在晚上7点前会保持存在、对话中的两个朋友之一的死亡以及被陨石击中的灾难,在战争、叛乱和可怕的情况下会有意义。所以无论这些看起来多么荒谬,它们都不能被先验地排除在外。在这样的对话中发现,人类的常识和已知的社会规范会决定理性,而这很难通过人工智能来复制,因此在机器人中很难实现。
图2.33 对话变得奇怪。现实世界情境中如果有太多表征,“情境独立”表征会失效。如果一方开始引入非常低概率的事件,简单的对话就会变得奇怪。改编自French和Anselme[112]
框架问题是对确定在给定的情况下哪些信息与推理相关、哪些信息可以忽略的探索。它是人工情境智能设计中的一个问题,在人工智能和机器人的历史上有着非常特殊的地位。著名的人工智能哲学家Dreyfus和Searle认为框架问题是人工智能的终结。要扭转局面,一个明显的解决方案是将每个事件与概率关联起来。然而,概率知识在现实世界情境中几乎没有什么用处,在危险的情境甚至会完全失效,就像丹尼特的三个机器人一样。此外,在机器人传感器上近乎实时更新的概率建模计算代价太高[43],最多只能限于简单的世界。
2.6.3.1 表征——万恶之源
框架问题是由符号表征和推理规则引起的。它不是启发式的问题,而是一个建模问题,就像一个算法问题解决者并不总是提前知道下一步要做什么,而且做详尽的列表也不会得出解决方案。框架问题也不是内容的问题,而是形式的问题。可以看出,信息等价系统在效率上确实有很大的差异。因此,表征性知识可能适用于简单的场景,但可能不适用于现实世界问题。框架问题更不是数据结构、编程语言和算法的问题,而是一个哲学问题。它出现在信息未封装的过程,对于可能与之相关的信息不存在先验限制。因此,非常低层次的认知过程将不受框架问题的影响,当然这也是公平的,因为它们能完成的任务也会少得多。综上所述,解决这一难题的方法有:
1.无表征——基于行为的方法:不使用表征性知识,而是采用一个反射性方法。基于符号的系统尝试模拟一个绝对可知的世界。与那些作用于行动的即时性的方法不同,无表征是来自生物和自然世界的灵感。这个方法适用于蚂蚁、螃蟹、蟑螂等,而更高层次的认知,如人类的认知,众所周知是基于一个非直接存在的环境的表征来构造思想,从而构建行动。
2.联结主义——神经网络方法:联结主义方法,如人工神经网络(ANN),能免受框架问题的困扰,因为ANN是通过固定的权重对从训练数据获取的知识进行编码,从而让表征永远不会影响到模型。然而,由于缺乏训练数据,以前没有进行过的任务无法使用ANN建模,因此确实会遇到鸡生蛋还是蛋生鸡的问题。
3.情境独立表征——传统人工智能:传统方法的灵感来自一种假设,即世界可以用大量的符号的意义来表示,这些符号代表世界上的对象和行动,并通过一系列规则来操纵这些符号。由于提前了解世界和规则通常是不太可能的,这个方法依赖于类推——将一个对象与另一个对象联系起来,即一个见过立方体但没有见过长方体的智能体将能够联系上自己的经验将其作为立方体的扩展。然而,考虑到世界的动态性,这样的方法并不能走得很远。此外,随着符号和规则数量的不断增加,智能体的建模无法实现实时响应,可能会面临计算能力上的挑战。
4.情境依赖表征——适用于简单场景:研究者尝试了开发情境依赖的方法。在非常简单的场景中,基于符号和基于规则的方法会运行得很好。例如PENGI[4]软件仿真(如图2.34所示)中的一个非常简单的世界模型,在一个二维迷宫中,一只企鹅试图在各种规则的限制下逃脱被蜜蜂咬伤。Agre与Chapman将其作为一个情境依赖表征的尝试开发。在PENGI中,二维“世界”由企鹅、蜜蜂和冰块组成。冰块以方形块表示,可以滑动。企鹅必须躲避蜜蜂的蜇咬,它可以通过躲在冰块后面实现这一点。蜜蜂可以通过蜇咬企鹅或者蜇咬企鹅直接藏身的冰块而杀死企鹅。企鹅可以通过踢蜜蜂碰巧在后面的冰块来进行反击。在PENGI中,所有的事件都是由情境决定的,它使用标引的功能实体将对象编入操作中。没有像“蜜蜂”或“杀”这样的实体,而只有“正在推动的冰块”。因而也就没有了框架问题。然而对于更复杂的世界来说,这样的标引的功能实体数量会不断增加,变得不太可能去处理。
图2.34 PENGI。通过多种基于规则的策略建模的一只企鹅和一只蜜蜂。情境依赖方法在最小的二维方块世界中运行得很好
情境独立表征似乎非常适用于人工智能,但未能满足具身人工智能的动态需求。对于情境依赖方法,如PENGI,主要有两个思想流派:一派认为像PENGI这样的模型能真正应用于更复杂的世界,而另一派则考虑转到一个无表征、更像是一个感觉行动的领域。对人类进行的种族志研究表明,在计划阶段和执行阶段之间没有明确的界限,在不了解领域知识和计划目标的情况下,计划通常也是不可执行的。
1989大辩论
关于通用规划最引人入胜的辩论之一是在AI Magazine 1989年冬季版上的四篇文章上发生的。辩论的双方是Ginsberg(反对通用规划)与Chapman和Schoppers(支持通用规划)。
1.在第一篇文章中[124],Ginsberg对通用规划提出了批判,部分论点是基于计算复杂性的。他还论证了使用通用规划是不切实际的,因为其大小会随域状态数量的增长而呈指数增长。也就是说在类似于真实世界的复杂世界中,机器人的感觉-运动对数量会激增。Ginsberg认为通用规划没有把真实世界固有的不可预测性考虑进去。然而最有趣的是,Ginsberg指出这种绘制地图的方法可能对移动等“预测活动”很有效。
2.在第二篇文章中[67],Chapman试图用BLOCKHEAD中的例子来回应Ginsberg的批判。BLOCKHEAD是一个类似PENGI的系统,它可以安排字母块来拼写出F-R-U-I-T C-A-K-E,这样就解决了所谓的水果蛋糕问题(Fruitcake Problem),因此也就坚持了通用规划的方法。Chapman展示了利用可视化标记,水果蛋糕问题是可以处理的。
3.在第三篇文章中[293],Schoppers进一步用一些论点反驳了Ginsberg的批判。他主张使用标引的功能变量,这在简单的、类似PENGI的世界中非常有效。他还支持在反应式规划中使用程序缓存,在这种情况下,只要完成几次任务,该任务就会成为智能体固有的特性,并且还可以在没有任何实际规划的情况下完成。
4.在第四篇文章中[123],Ginsberg回应了Chapman和Scho-ppers。他坚持认为由于现实世界中有太多可能的变化,反应式规划无法捕获代理的期望行为,而且反应式规划无法通过更多的计算资源来提高性能,因此在智能行为的开发中存在明显的缺陷。在对Schoppers的缓存规划的回应中,Ginsberg提出了这样的问题:何时该缓存规划,缓存的规划何时与特定的行动相关,是否可以对缓存的规划进行调试和重新构造,以便将它们在运行时的有用性扩展到最初设计的情况之外等,这使得Schoppers使用缓存的论点至少说起来是不完善的。
Ginsberg的论点被证明是正确的,通用规划确实非常适用于移动,在ND图导航中,五种(或ND+的六种)状态完全定义了智能体在二维平面上导航时遇到的所有可能情况。
通用规划是Nilsson、Kaelbling、Schoppers、Agre和Drum-mond的研究的汇合点,这个术语是由Schoppers创造的。它包括制订一项计划,其中对智能体可能遇到的所有情况进行分析并制成表格,而智能体所要做的就是通过其传感器探测情况然后参考该表。
然而,表2.1所示的三个困难本身都无法解决,它们只能被最小化或避免。同样,对于低级别行为,如二维导航等,这些问题都是最小的。它们对于更高层次的认知过程是不利的,在朝类人认知前进的过程中,必须要有办法克服这些困难,一个简单的ANIMAT模型是不够的。
表2.1 如何克服三个困难
[1] 《星球大战》的参考确实很有说服力,但更多是一种推测,即R2D2可能完成了在取出电池的同时避开定时炸弹,框架问题得到了解决。
[2] 莎士比亚的戏剧《哈姆雷特》是一部“英雄是傻瓜”流派主题的悲剧。作为丹麦王位的继承人,哈姆雷特王子是剧中的主角。他冷静且善于思考,不按本能行动,而是非常努力地确保每一个行动都是预先考虑好的。他的角色被进一步打上了为演示可证明性的徒劳尝试的标签,各种质询也无法得到肯定的回答。哈姆雷特为他父亲被杀而复仇的抗争造成了他的忧郁和与自己理智的斗争。在此背景下,丹尼特的第三个机器人R2D1在被悲剧地炸毁之前,正处于一个像哈姆雷特一样的思维流中。
[3] 无表征方法在人工智能社区遇到了强烈的反对。可以追溯到20世纪80年代中期,在大量的文献中这些工作被贴上了矛盾修饰法的标签。James Firby的博士论文常被认为是一个分水岭,因为它将表述从“反应式规划”变成了“反应式执行”。