原斯坦福研究所位于美国加利福尼亚州的门洛帕克,在20世纪60年代末期,这里的尼尔斯·尼尔森、伯特伦·拉斐尔(Bertram Raphael)和他们的同事一道制造出了机器人沙克(见图4.1)。沙克在机器人的短暂历史中有着传奇的地位,这不是因为它做什么事做得特别好,也不是因为它对人的某种心理学特征做了特别逼真的模拟,而是因为它以独特的方式展现了思维的某些可能性,同时宣告了其他可能性的不可能(Raphael, 1976; Nilsson, 1984)。它是哲学家会赞赏的那种机器人,它是一个可以争论不休的东西(a sort of rolling argument)。
图4.1
沙克是一个装有轮子的箱子,装着电视眼(电视摄像机),它的大脑并不在它自己身上,它是通过无线电通信与大脑(那时也就是一台巨大的固定计算机)相连的。沙克住在好几个房间,里面只有几样东西:几个盒子、棱锥、斜坡和平台。这些东西的颜色是精心涂过的,还发着光,这样沙克就比较容易看见它们。人们在与沙克的计算机大脑相连的终端敲入一些信息就能跟它通信,这些信息只是一部分受到严格限制的英语词汇。敲入“把盒子推出平台”(PUSH THE BOX OFF THE PLATFORM),沙克就会找到盒子,定位斜坡,把斜坡推到位,从斜坡滚到平台,然后把盒子从平台上推出去。
沙克是如何做到这一点的?也许有个小人在沙克内部看着电视屏幕按控制键?设定这个聪明的小人也许是一种方法,一种欺骗性的方法。另一种方法也许是,人类操纵者站在沙克外面用远距离无线电控制它。这是笛卡儿式的解决方案,在沙克内部有一个发送/接收器扮演松果体的角色,无线电信号则是笛卡儿非物理的灵魂信息的非奇迹替身。这些“解决方案”显然是空洞的,但一种不空洞的解决方案会是怎样的呢?初看起来这种方案不可想象,或者复杂到了不可想象的地步,但我们需要面对和克服的正是想象力方面的障碍。沙克如何可以不借助机器中的人的力量就完成它的行动,其实这远比你所想象的要简单。
具体来说,沙克如何借助自己的电视眼来区别盒子和棱锥呢?答案对于观察者来说相当明显,观察者可以看到这个过程就发生在计算机显示器上。带有“雪花”噪点的单帧电视画面——比如一个盒子的图像——会显示在显示器上。接着图像会以各种方式得到提纯、校正和增强,然后盒子的边界就会奇迹般地被勾勒出来——整个图像变成一幅线条画。(见图4.2)
再然后,沙克会分析这幅线条画。它会确定,每个顶点要么是L,要么是T,要么是一个箭头,要么是Y。如果发现的是一个Y顶点,那么对象就必定是盒子,而不是棱锥;从任何一种视角来看,棱锥都不会投影成一个Y顶点。(见图4.3)
图4.2 区域分析的步骤(横向)
上述过程当然是过度简化的,但它表明了这里所依据的一般原则。沙克有一个“线条语义学”程序,该程序运用这些一般原则来确定显示器上的图像对应哪种对象类型。如果观察者最终看到,显示器上的东西很奇怪,那么他们大概会感到头昏眼花——他们看到的是显示器上的图像转换过程,但沙克并没有在看这个过程。此外,沙克也没有看任何别的会转换和分析同样图像的显示器。在硬件中没有任何别的显示器,观察者所看的显示器其实可以被关掉或切断电源,这对沙克的知觉分析过程不会造成损害。这台显示器是骗人的吗?它对谁有利呢?只对观察者有利。那么观察者在显示器上看到的事件,与在沙克内部发生的事件又有什么关系呢?
图4.3
显示器是为观察者而设的,但是设置显示器这个想法也是为了方便沙克的设计者。想一想,他们所面临的任务几乎是不可想象的:你究竟如何才能从一个简单的电视摄像机中得到输出,再以某种方式从中提取出可靠的盒子识别动作呢?在摄像机传送给计算机的天文数字般的可能图像中,只有很少一部分是盒子的图像;每一帧图像都是纯由黑白像素排列构成的,这些排列或连或断,用0与1表示。应该怎样写程序才能认出盒子的所有图像,而且只认出盒子的图像呢?我们可以做很简化的处理:假设摄像机的感光部分是一个1万像素的格栅(100×100),于是每帧图像就是1万个0与1的可能序列中的一个(见图4.4)。要可靠地连成一个盒子,0与1需要排成什么样的模式呢?
首先考虑将所有这些0与1排成一个阵列,其实就是复制摄像机的空间图像,就像显示器上的可视像素的排列一样。从左向右给每行像素编号,就像书页上的文字那样(与商业电视不同,商业电视是之字形扫描)。然后注意,黑暗区域主要由0组成,明亮区域则主要由1组成(见图4.5)。而且,左边明区与右边暗区之间的垂直边界,可以用0与1的序列来简单描述:一个主要由0构成的序列一直到像素n,紧接着是主要由1构成的序列,后面又跟着正好100个数位(在下一行),这100个数位是主要由0构成的序列,一直到像素n+100,在这之后又有一个主要由1构成的序列,以此类推,以100的倍数来变化。
如果一个程序能够搜寻来自摄像机的数据流中的这种周期特征,它就能够定位这样的垂直边界。一旦找到,再小心地把1换成0并把0换成1,这种边界就能转换成漂亮的垂直白线,这样一来,像00011000的信息就恰好出现在序列每百位一行的位置上。
水平的明暗边界也容易定位:在这个位置上的序列是一组连续的0在100、200、300……个数字后跟着一组连续的1。(见图4.6)
图4.4
图4.5
图4.6
倾斜的边界只是稍微复杂一点儿,计算程序必须寻找序列中出现逐渐增长的地方。一旦所有边界的位置确定并以白线画出,线条画就完成了。然后,更为复杂的下一步就将取而代之:把“模板”“放在”小块线段上,这样就能识别出顶点。一旦找到顶点,用线条语义学程序对图像中的对象进行归类就是直截了当的事了——在有些情况下,这就像找一个孤立的Y顶点一样简单。
这个过程的若干特征对我们来说很重要。首先,每个子过程都是“愚蠢的”、机械的。这就是说,计算机的任何部分都不必理解它在做什么或为什么要这样做,而每个步骤如何可以机械地完成,也没有什么神秘之处。但是,把这些“愚蠢”而机械的过程比较聪明地组织起来,就会产生一种可以取代有知识的观察者的设备。(把整个视觉系统放到“黑箱”里,其任务是“告诉沙克它需要知道的”在它面前的东西的“信息”,这些信息都基于作为输入信号的电视图像。一开始我们也许倾向于认为,能够做到这一点的唯一办法是把一个小人放到黑箱中,由小人来观察屏幕。现在我们找到了一种方法,按此方法,机器就可以取代这个任务有限的小人。)
一旦我们明白这是如何完成的,我们就能看到,虽然这个过程与实际观看(画线、擦除)屏幕黑白点的过程极为类似,但是,把0变成1或者把1变成0这些个别操作,在计算机中的什么位置发生,这并不重要,只要作为个别数字的临时“地址”的数字可以对像素之间谁与谁相邻的信息进行编码就行。假设我们关掉显示器,然后,即使没有(或者不必有)任何实际的二维图像可以在计算机内部的空间中定位(比如作为“硬件中的激发模式”),这些操作也与我们在显示器上看到的事件是同构的(平行的)。这些事件是真正图像化的:受激的磷光点所组成的二维表面会形成一定的形状,这个形状有着特定的大小、颜色、位置与方向。因此从某种严格的意义上来看,沙克不是通过一系列的图像转换来发现盒子的;在此过程中的最终真实图像是在摄像机的接收域上聚焦的图像。但是,在另一个严格而隐喻的意义上,沙克的确是通过一系列的图像转换来发现盒子的,这就是刚才描述的过程,该过程把黑白边界变成线条画,然后再对顶点进行分类。这个严格的意义同时又是隐喻的,这样来看这一事实就很清楚:我们注意到,人们预期任何真实图像都会具有的多种性质,由沙克所转换的“图像”都不具备——它们没有颜色,没有大小,没有方位。(我们可以依据这类图像打一个不错的谜语:我想到一个图像,它不比《蒙娜丽莎》画像大,也不比它小,它既不是彩色的,也不是黑白的,而且不朝向指南针所指的任何方向。它是什么?)
沙克从周围光线中提取对象信息的过程,与人类的视觉过程几乎完全不同,也与任何生物的视觉过程很不相同。但是,我们可以暂时忽略这种差别,这样我们就能看出一种相当抽象的可能性:人类被试报告的心智意象如何可以在大脑中被发现。上文关于沙克视觉系统的论述极为简化,这样可以把一些基本的理论要点生动地呈现出来。现在我们进行一些科幻想象,以便提出另一个要点:假设我们将沙克与另一个人工智能名角进行对照,这个名角就是特里·威诺格拉德(Terry Winograd, 1972)设计的沙德鲁(SHRDLU),沙德鲁控制(想象的)积木,然后回答它在做什么和为什么这样做的问题。沙德鲁的回答多是“预制的”:它们是储存下来的现成句子和句子模板,由威诺格拉德编写而成。沙德鲁的重点在于抽象地探索任何一个对话者所会面临的一些信息处理任务,而非真实地为人类话语的生成建模,而这也正是我们思想实验的精神。(在第8章中我们会看到更多更现实的话语生成模型。)我们可以重新设计沙克,让它有个更复杂的口头行动指令集。与这个新版沙克的交流也许是这样的:
你为什么要移动斜坡?
这样我就能滚动着上平台。
那你为什么要这样做呢?
我要把盒子推下去。
那你又为什么要这样做呢?
因为你叫我这么做。
但是,假设我们然后又问沙克:
你如何区别盒子与棱锥?
我们应该设计沙克在回答时“说”什么呢?有三种可能性:
(1)我浏览了我的摄像机上的每个由0和1组成的10000位长的序列,寻找某些序列模式,比如……吧啦吧啦吧啦吧啦(如果我们让沙克详细回答,那么答案就会很长)。
(2)在我的脑海里,我发现了明暗的边界,我围绕它们画出白线;接着我寻找顶点;如果我发现一个Y顶点,我就知道我看见的是一只盒子。
(3)我不知道,一些东西看上去就像盒子一样。我就是想到了。这全凭直觉。
沙克要说哪句才是正确的?每个答案都有对的地方;这些回答描述的是不同深度或晶粒层次的信息处理活动。我们应该设计沙克能够给出哪个答案,这在很大程度上是一个做什么决定的问题,我们要决定,沙克的表达能力(它的SHRDLU黑箱)拥有多少访问它的知觉过程的途径。也许会有很好的工程学理由,否定它有访问中间分析过程的深层的(详细的、耗时的)途径。但是,无论我们赋予沙克怎样的自我描述能力,它关于它内部发生的活动以及它正在做的事情的可表达“知识”,在其深度与细节方面始终存在一个限度。如果它能给出的最好回答是上述第三种方式,那么,它就没办法回答它怎么区分棱锥与盒子的问题,就跟我们也没办法回答自己如何区分“桑”与“商”的问题一样,我们并不知道自己是如何做出这种区分的。一个字听起来像“桑”,而另一个则像“商”,这就是我们所能做到的最好状态。如果我们设计沙克用第二种方式来回答,那也仍然会有别的问题它无法回答,比如:“你是如何在你的心智意象上画白线的?”或者“你是如何把一个顶点识别为箭头的?”
假设我们设计沙克是通过第二种方式来访问它的知觉分析过程的,当我们问它是怎么做的时,它就告诉我们它所做的图像转换。我们拔掉显示器插头,不让它知道。我们有资格告诉它我们知道得更多吗?它没有真的在处理图像,但它会认为它在处理吗?(它说自己在处理,这样,按照异现象学的策略,我们就认为这是它的信念的一次表达。)如果它是某个人的现实模拟,它大可以反驳说,我们完全没有资格告诉它在它自己的心智中发生的事情。它知道自己在做什么,知道它真的在做什么。如果沙克更复杂一些,它或许会承认,它正在做的事情,只可以在比喻的意义上被描述为图像处理——虽然它觉得自己绝对倾向于这样来描述正在发生的事情。在这种情况下,我们就可以告诉它,它的隐喻表达方式是完全恰当的。
另一方面,如果我们更邪恶一些,我们就可以操纵沙克,让它以完全虚假的方式说它正在做的事情。我们可以把它设计成想说一些在它内部发生的事情,而这些事情又与实际发生的事情没有符合规则的联系。(“我用我的电视输入来驱动一把内部的凿子,它在一块心智黏土中凿出一个三维形状。然后,如果我的小人可以坐在上面,它就是盒子;如果小人掉了下来,它就是棱锥。”)这种报告没有保真诠释;沙克也许只是在虚谈(confabulating)——它编造了一个故事,但自己没有“意识”到。
我们自己身上的这种可能性,说明了我们为什么绕来绕去,费劲地先把异现象学当作与虚构作品诠释类似的东西。正如我们已经看到的,在有些情况下,人们正好搞错了他们正在做什么以及他们是如何做的。这不是说,他们在实验的时候撒谎了,而是说,他们在虚谈;他们填补空白、猜测、思辨,错把理论推理当成事实观察。他们说的话和驱使他们说这些话的东西之间的关系,是极度模糊的,不论对我们这些外部的异现象学家,还是对被试本人来说,都是如此。他们没有任何方法“看出”(也许借助内在之眼)支配他们说话的过程,但这并不妨碍他们的确有真心实意的意见要表达。
总而言之,被试是虚构作品的无意的创造者,但说他们是无意的,这就等于承认,他们所说的实际上是或者可以是一种论述,这种论述说的是在他们看来情况确实是怎样的。他们告诉我们,解决问题、做出决定、认出对象这些活动在他们看来会是怎样的(what it is like to them)。因为他们是真心这样想的(看来如此),所以我们承认,那必定是在他们看来的情况。但是,由此可以推论,他们眼中的情况,最多只是对在他们内部发生的情况不确定的向导。有时也许可以指明我们的被试无意之中创造的虚构是真的,但这有个条件:我们必须允许某种比喻措辞,就像沙克用第二种方式来回答那样。例如,认知心理学家近期关于心智意象的研究显示,我们对自己所欣赏的心智意象(无论是紫色母牛还是棱锥)的内省报告,并非完全错误(Shepard and Cooper, 1982; Kosslyn, 1980; Kosslyn, Holtzman, Gazzaniga and Farah, 1985)。对这一点我们在第10章中会进行更详细的讨论,我们将会看到,如何可以诠释我们关于心智意象的内省报告,使之最终成真。但是,就像尘世之中的那个费诺曼一样,他其实既不能飞,也不能同时出现在两个地方,同样,我们在大脑中发现的、认为就是心智意象的真实事物,也不具有被试自信地赋予它们的图像的所有奇妙特征。沙克的“图像”提供了一个例子,可以用来说明一个其实根本不是图像的东西如何可以成为某人以图像的名义谈论的东西。虽然大脑中支撑人类心智意象的过程很可能与沙克的过程不太相同,但我们毕竟打开了一个原本难以想象的可能性空间。