精神的涌现
荷兰德原来以为能够在一两年内完成一本书,一本关于图解定理、基因算法、以及他对适应性的总的思考的汇编。但事实上,这本书的出版耗费了他十年的时间。他的撰写和研究一直是齐头并进,他不断有新的想法需要探索,或理论上有新的方面需要分析。他指派他指导下的好几个研究生去做计算机实验,也就是证实基因算法是否真正有用、是否是一个解决最优化问题的有效办法。荷兰德觉得他这是同时在提出和实践他的适应性理论,他希望做得准确无误,既深入细致、又精确严谨。
他无疑做到了这一点。1975年出版的《自然和人工系统中的适应性》一书罗列了大量的方程式和分析。该书总结了荷兰德二十年来对学习、进化和创造性之间深刻的内在关联的思考,对基因算法做了周密的陈述。
荷兰德的研究成果并没有在密西根大学之外更广泛的计算机科学世界里引起任何反响。对那些喜欢优雅、简明和被证明是正确的算法的人来说,荷兰德的基因算法太离奇古怪了。人工智能圈子对荷兰德的基因算法研究反应较为热烈。在这个圈子里,他的书的年销量可达一百至二百本。但即使如此,即使对他的书偶有评论,最多不过是“约翰是个极聪明的人,但……”这类话。
当然,荷兰德并没有力陈他的观点。他只发表了一些论文,相对而言他发表的论文很少,只是在有人邀请他时才去作演讲,仅此而已。他并没有在重大的学术会议上大肆渲染基因算法,没有将基因算法用于医学诊断这类能够争取到研究资金、吸引注意力的热门应用领域,没有去争取巨额投资来创建基因算法“实验室”,也没有出版一本畅销书来呼吁为对付日本的威胁,采用基因算法来调配联邦基金已迫在眉睫。
总之,他根本就没有玩那套学术界自我推销的把戏,这似乎不是他喜欢玩的游戏。更确切地说,他并不真的介意他是赢是输。打个比喻,他仍然情愿和他的小伙伴们一起混在地下室里做游戏。荷兰德说:“这就好比是打棒球,只不过你参加了非主力队,而没有参加主力队。但重要的是打棒球的乐趣,而不是参加哪个队。我所从事的科学对我而言总是其乐无穷的。”
“我觉得如果没人愿意听我说,会使我很烦恼。但我总是非常幸运,总是有既聪明、又对我的研究课题兴致勃勃的研究生与我产生思想上的共鸣。”
这确实从一个侧面反应了他和少年伙伴在地下室做游戏的态度:在密西根大学,荷兰德将极大的精力放在了和他最直接的圈子里的伙伴共同工作之上了。尤其是在任何时候他手下都有六七个研究生,远远超过通常导师指导研究生的数额。事实上,从六十年代中期开始,他所指导的研究生每年都有不止一个人获得博士学位。
“他们中有些人确实绝顶聪明,与他们相处给我带来了很大的乐趣。”他说。荷兰德看到有太多教授累计了长长的论文名单,其实这些论文都是他们和他们所指导的研究生共同研究的成果,甚至完全是由他们的学生写的。所以他故意用相当放手的方式对研究生进行指导。“他们都按照自己的想法进行研究,做他们自己感兴趣的事。然后我们所有的人每周一次围聚在桌旁,其中有一个人就会告诉大家他的论文已经进行到什么程度了,我们大家就会就此展开批评和讨论。这对所有介入者来说都充满了乐趣。”
七十年代中期,荷兰德和学部里一群志同道合的同事开始了每周一次的自由讨论,讨论任何有关进化和适应性的问题。这群人里除了有勃克斯之外,还有政治科学家罗伯特·爱克思罗德(Robert Axelrod)。罗伯特力图想理解人们为什么和什么时候会相互合作,而不再相互在背后涌刀子。另外还有专攻人类组织的社会动力学的政治科学家米歇尔·考亨(Michael Cohen)和威廉·汉密尔顿(WilliamHamilton)。威廉是一位进化生物学家,和爱克思罗德一起研究共生、社会行为和其他形式的生物合作。
“麦克·科恩(Mike Cohen)是个中介人。”荷兰德回忆说。在他的适应性一书刚出版不久,科恩来旁听他的课。有一天课后他走过来对荷兰德介绍自己,并说:“你真应该去和爱克思罗德谈谈。”荷兰德就照做了。通过爱克思罗德,他又结识了汉密尔顿。很快,BACH小组的人,勃克斯、爱克思罗德、科恩、汉密尔顿就携手联合了。(BACH是由他们四个人名字的头一个字母组成。他们几乎经常一起工作。在小组成立伊始,他们就想把斯图尔特·考夫曼网罗进来,但考夫曼去了宾州大学。) “把我们联系在一起的是我们都有很强的数学背景,都强烈地感觉到进化和适应性问题比任何一个单一的问题都涉猎广泛。我们开始定期聚会:某个人会读到一篇文章,然后大家一起讨论,激发了许多探索性思考。”荷兰德说。
对荷兰德来说尤为如此。他已经完成了适应性一书,但他与BACH小组成员的讨论却涉及到书中未及涉猎、留待研究的地方。基因算法和图解定理紧紧抓住了进化的本质问题,对此他深信不疑。但即便如此,他仍然不免要遗憾,基因算法对进化的赤裸裸的解释毕竟过于简单了。他的理论把“生物体”直接当作由程序员设计出来的单纯的DNA,这样的理论一定存在缺憾。它对于在复杂环境中复杂的生物体的进化能向我们说明什么呢?什么也不能说明。基因算法相当不错,但仅仅是基因算法本身,并非包括适应性作用者。
从这个意义上来说,基因算法也不算是对人类精神适应性的模仿。因为它在计算上太生物化了,无法由此看到复杂的概念是如何在人类头脑中产生、进化和重新组合的。对荷兰德来说,这一事实使他越来越感到沮丧。从他初次听到赫伯的概念至今已有二十五年了,但他仍然坚信,精神的适应性和大自然中的适应性只不过是同类事物的两个不同的方面。而且,他仍然相信,如果它们真是同样的事情的话,它们就可以由一个同样的理论描述出来。
所以,从七十年代后期起,荷兰德就开始了对该理论的研究。
从根本上来说,一个适应性作用者经常是在和它所处的环境做游戏。而这又确切地意味着什么呢?如果剥离到本质,这对游戏的作用者的生存和发展来说,究竟会发生什么?
荷兰德认为会发生两件事:预测和反馈。这是他在IBM公司工作时他和塞缪尔谈及跳棋时洞察到的。预测正如其词意所示:想于事先。荷兰德仍然记得塞缪尔一再重复这一点。“玩好一局跳棋或象棋的本质就是将宝押在不那么明显的布局上。”也就是走出的棋路要能够使你在后来处于有利的地位。预测能够助使你抓住机会或避免堕入陷阱。一个能够想于事先的作用者显然比不能想于事先的作用者要更具有优势。
但预测的概念简直就像建设砖块的概念一样微妙。比如说,我们通常将预测当作人类有意识的、基于对世界的大致模拟之上的思考。当然有许多这类通过模拟做出的预测。超级计算机对气候的模拟就是一个例子,某公司开始一项商业计划又是一例,美国联邦储备局所做的经济规划也是一例,就连英格兰的巨石柱也是一个模拟的模型:巨石的环绕设计能让占卜牧师像用一个粗糙但有效的计算机一样来预测春分和秋分的来临。而且,各种各样模拟的模型经常就在我们的头脑里。逛商店的人极力想象新沙发摆在自家客厅里的情形,或一个胆小的雇员力图想象冒犯老板的后果。我们经常在使用这些“脑内模型”。事实上,许多心理学家都相信,有意识的思维都是基于“脑内模型”的思维。
但对荷兰德来说,预测和模拟模型的概念实际上要比有意识的思维深奥得多。从这点来说,也远比大脑的存在要深奥得多。他宣称:“所有复杂的适应性系统——经济、精神、生物体等,都能建立能让自己预测世界的模型。”就连细菌也如此。很多细菌都有特殊的诱导酶系统,这种诱导酶使它们游向葡萄糖浓度更强的方向。毫无疑问,这些诱导酶模拟了细菌世界的一个关键的方面:化学物质总是从源头向外扩散,随着离源头越来越远而浓度越来越小。诱导酶自然而然地就把这样一个明确的预测编入了基因码:如果你向浓度较高的方向游去,就可能找到有营养的东西。“这不是有意形成的模式,”荷兰德说。“但遵循这个模式的生物要比不遵循这个模式的生物更具优势。”
荷兰德说,这对美洲繁色瑞蝴蝶(viceroy butterfly)也同样。这种蝴蝶是有着醒目的橘黄色和黑色的昆虫。如果鸟类尝过它的味道的话,无疑会对它垂涎三尺。但鸟类很少捕食这种蝴蝶,因为它们的翅膀的花纹演变得很像所有幼鸟都避之不及的味道难吃的王蝶(monarch butterfly)。因此就发生了这样的情况:繁色瑞蝴蝶的DNA上编码了一个模型,这个模型模拟的世界中有鸟类、有王蝶、以及王蝶味道难吃。每天繁色瑞蝴蝶在花丛中飞来飞去,无疑是在拿自己的生命做赌注,打赌它假设自己对外部世界的模拟是对的。
你还会在各种不同的生物体中发现同样的道理。荷兰德说,就拿公司来说,设想一个工厂接受一个常规定单,比如说,一万件小器具。既然这是一个常规定单,工厂职员也许就不会多想。他们只是遵循“常规的运行程序”,即一系列正式规程,来进行生产。“如果情况是ABC,那就采取XYZ行动。”就像细菌和繁色瑞蝴蝶一样。这些规程中编入了这个工厂所模拟的世界和对这个世界的预测:“如果在ABC情况下,采取XYZ行动就会产生很好的效果。”按这些规程进行生产的职员们也许知道、也许不知道有这样模拟的模型的存在。毕竟常规操作程序经常是死搬照抄学来的,没有那么多为什么可问。如果这家工厂经营已有年头了,那可能没人会记得为什么事情必须这么做。但不管怎么样,因为常规的操作程序是由集体来发展和执行的,所以整个工厂的行为就会像是完全理解这个模拟模型似的。
荷兰德说,在认知领域,任何我们称为“技术”或“专业知识”的,都是一种内含的模型,或说得更精确些,是一组长期经验积累和凝练而成的,即铭刻在神经系统的巨大而相互环扣的常规操作程序。让一位有经验的物理教师看课本练习题,他不会像个新手似的把时间浪费在抄录眼所能及的所有公式。他脑中的程序总是会立刻就告诉他解题的方案:“啊哈,这是一道能量题。”发个球给网球名将艾芙特,她不会浪费任何时间争辩这球该怎么接,她头脑中的程序会立刻就让她本能地回手接球,打你个无从招架。
荷兰德喜欢在谈到内含的专业知识时举中世纪创建了哥特式大教堂的建筑师的技术为例。他们当时无法计算强度和承载力,或任何一个现代建筑师能够计算的事。十二世纪没有当代物理学和结构分析。那些中世纪建筑师建造那些高耸的拱形天花板和巨大的扶壁,靠的是师徒相传的标准操作程序,是实际经验给了他们哪种结构能够支撑、哪种结构会坍塌的常识。在他们那里,物理学的模型完全是内含的和直觉的。然而这些中世纪的工匠们发明的建筑结构一千多年后仍然耸立于世。
荷兰德说,这样的例子不尽其数。DNA本身就是一个内含的模型,基因说:“在这种条件下,我们期望我们特意选中的生物能有机会得到很好的发展。”人类文化是一个内含的模型,丰富而复杂的神话故事和象征隐含着人们对他们所处的世界的信念和对他们的行为规则的正确性的信念。就这点而言,塞缪尔的计算机跳棋手也包含了内在的模式,随着它对对方下棋风格越来越熟悉,它会不断改变对各种棋路选择赋予的期望值,从而形成自己内在的模式。
确实,模式和预测随处可见。但模式从何而来?所有自然的或人工的系统是如何对这个宇宙形成足够的了解,从而对将来的事件做出预测的呢?他说,光是谈论“意识”没有用。大多数模型显然并没有意识:比如寻找营养的细菌,它甚至都没有大脑。谈论意识在任何情况下也是个用未经证明的假定来做的辩论。意识又是从哪里来的?是谁设计了编程员的程序?
荷兰德说,最终的答案只能是“没人操纵这一切。”因为如果真由一个编程员潜伏在幕后,就像“有鬼魂附于机器”,那么你等于什么都没有解释。你只是把这团谜推到别的地方去了。但幸运的是,还有一个选择:从环境而来的反馈,这是达尔文的伟大洞见。一个作用者能够改善自己的内在模式,并不需要任何超自然的指引。它只是不断测试自己的模型,看看这些模型对真实世界的预测有多么准确。如果它能够在实践中存活下来,它就调整自己的这些模型,以使自己下次做得更好。当然,在生物学上,作用者是独个的生物体,反馈是由自然选择提供的,模型的不断改良被称为进化。在认知学上,这个过程基本上是一样的:作用者是独立的心智,反馈自老师和直接经验而来,改善被称为学习。确实,这正是塞缪尔电脑跳棋手的运作机制。不管就生物学而言还是就认知学而言,一个适应性作用者都必须要利用这个世界告诉你的信息。
当然,下一个问题就是,怎样做到这个?荷兰德在BACH小组和伙伴们长时间地讨论这个基本概念。但到最后只得出,有一个办法能确定这个概念:必须建立一个计算机模拟的适应性作用者,就像他十五年前研究基因算法一样。
但不幸的是,他发现,到了1977年,人工智能主流知识已经不如1962年那么有助于他了。到了1977年,人工智能的研究领域无疑已经取得了很大的进展。比如在斯坦福大学,人工智能小组正在研制一系列被称为专家系统的极富成效的程序。专家系统能够模拟专业知识,比如可以通过运作成百条规则来模拟一个医生: “如果病人患的是细菌感染性脑膜炎,正在发高烧,那么也许是某种细菌感染。”该项研究已经引起了投资者的兴趣和注意。
但荷兰德对于应用性研究并不感兴趣。他想要的是一个关于适应性作用者的基本理论。从他的角度来看,这二十年来人类在人工智能领域取得进展的代价就是忽略了所有重要的方面,从对学习的研究到对来自环境的反馈的研究都受到了忽略,在荷兰德看来,反馈是最根本的问题。但除了像塞缪尔这样个别的人物之外,人工智能领域的人似乎都认为,学习是可以放置一边,不忙应付的。他们以为可以待他们将对语言的理解、人类问题解决法弄明白以后,或把对其他抽象推理问题的程序编完美后再来研究学习的问题。专家系统的设计者们甚至还为此而感到骄傲。他们谈论“知识工程”,也就是和相关的专家交谈几个月后,为新的专家系统制定出成百条规则,来回答:“在这种情况下你该怎么办?在那种情况下你该怎么办?”这类的问题。
公平地说,就是知识工程师都不得不承认,如果程序真能够像人一样通过传授和经验学到他们的专业知识,如果有人能想出来如何在应用这些软件时不至于像现在这么复杂和麻烦的话,事情就会顺利得多了。但对荷兰德来说,这正是问题之所在。拿现存的“学习模型”草草拼凑成一个软件解决不了任何问题。学习是认知的最根本的问题,正如进化是生物学的最根本的问题一样。这意味着,学习的机制必须在一开始就投入到认知建筑图纸中去,而不是到最后才被草率加入。荷兰德的理想模式仍然是赫伯式的神经网络,其最重要的一点是,每一次思维的神经冲动都强化了其神经连接,从而使思考成为可能。荷兰德确信,思考和学习只是大脑中同件事物的两个方面。他希望在他的适应性作用者的研究中能抓住这个根本的问题。
但尽管如此,荷兰德却并不想再回过头去重做神经网络模拟。虽然从IBM701开始至今已有二十五年了,但计算机的功能仍然没有强到能够按他想达到的规模做完整的赫伯式的计算机模拟。在六十年代,神经网络研究在“视感控制”这个标题下确实有过一阵短暂的小高潮。视感控制是视觉研究中专门用来识别特征的神经网络。但视感控制在赫伯实际所言的细胞集合中是一个极其简化的版式。(即使在识别视觉特征上,视感控制的功能也不强,这就是为什么视感控制已经不再受人重视的原因。)荷兰德对新一代的神经网络系统也并不十分欣赏。新一代的神经网络系统于七十年代末期开始流行,而且自此受到了很大关注。荷兰德说,这些系统比视感控制系统要先进些,但却仍然不能支持细胞集合的研究。确实,大多数版本根本就没有共鸣。通过网络的信号瀑布只有从前到后的单一走向。他说:“这些关联主义的网络在刺激/反馈行为方面和模型识别方面的功能很强,但从总体上来说却忽略了内部反馈的需要。而内部反馈正是赫伯认为细胞集合所不可或缺的。除了少数情况以外,神经网络研究人员基本上不在这个方面下功夫。”
结果荷兰德决定自己设计一个杂交的模拟适应性作用者,把神经网络和专家系统的长处相结合。为了加强计算机效率,他先用专家系统有名的“如果……则”规则开始入手。但他是从神经网络角度采用这个规则的。
荷兰德说,事实上,在任何情况下都会有类似“如果……则”的规则。六十年代末,在人们远还没听说过专家系统以前,基于规则的系统就已经作为人类用于认知的普通功能的计算机而被卡内奇-麦伦一派的爱伦·纽威尔和赫伯特·西蒙介绍进计算机编程里来了。纽威尔和西蒙把每一条规则都当作一个单一的知识包,或一个单一的技术组合。比如“如果吱吱的叫声是来自一只鸟,那么吱吱叫的东西就有翅膀”,或“如果在扣留你的反对者的人质还是扣留反对者的夫人之间选择,那就扣留反对者的夫人。”而且,这些规则指出,当程序员用这种方式来表达知识时,这个规则就自动获得了认知的某种绝妙的灵活性。根据条件采取行动的规则,即“如果情况是这样的,那就采取那种办法”,意味着这样的系统不在一个固定的系列,比如FORTRAN或PASCAL的某些子程序中运行。一条特定的规则只有在它的条件被满足后才会被激活,这样,它的反应对它所对应的情况而言就是恰如其分的。确实,当一条规则被激活后,它很可能会引起全部规则的连锁反应:“如果情况是A,就采取B措施”、“如果情况是B,就采取C措施”、“如果情况是C,就采取D措施”,等等。大体上说,整个新的程序随着这一系列的连锁反应而产生,并会按照所提出的问题给出完善的答案,与让人兴奋的游戏式的盲目而僵硬的计算机行为相比,这才真的是智能系统所需要的机制。
另外,基于规则的系统对大脑的神经分布来说具有很大的意义。比如说,一条规则就相当于计算机中赫伯式的细胞集合之一。他说:“用赫伯的理论来看,一个细胞集合就是一个简单的声明:如果事件如此这般地发生,那么我就会被高速激发一阵子。”规则的相互作用,伴随着一条规则激活后引起的对其他规则的整个连动,就像神经稠密相关联的大脑的一个自然结果。“赫伯的每一个细胞集合都包含了大约一千个到一万个神经元。”荷兰德说。“每一个神经元又有一千到一万个与其它神经元相连的突触。所以每一个细胞集合就与其它许多细胞集合相互关联。”大体上说,激活一个细胞集合,就等于在某种内部布告栏上张贴了一个布告,就会被大脑中大多数、或所有其他细胞集合看到。“细胞集合295834108现在正在行动!”当这个布告一出现,那些与这个细胞集合有适当关联的细胞集合就会被激发起来,并把自己的布告贴到布告栏上,这就引起了不断重复的循环。
荷兰德说,纽威尔-西蒙式的基于规则的系统的内部组织与这个布告栏的比喻非常接近。这个系统的内部数据结构就相当于这种布告栏,其中包含了一系列数字布告。然后还有大量的规则,也就是计算机把上百、甚至上千的数字编码成自身的部分。当整个系统处于运作状态时,每一条规则都经常扫描布告栏,搜寻符合自己“如果”条件的布告。每当其中一条规则发现了符合自己条件的布告,它立刻就会张贴一条数据信息,来续接“则”这部分。
荷兰德说:“假如把这个系统当作某种办公室,布告栏上有必须今天处理的备忘录,每一条规则相当于办公室里的一张办公桌,负有处理某种特定的布告的责任。每一天开始的时候,每一个办公桌都将自己负责处理的备忘录集中起来。到一天结束的时候,每一张办公桌都将处理结果的备忘录再张贴到布告栏上。”当然,到了第二天早上又开始重复这个循环。另外,有些备忘录是被探测器张贴上去的,以使这个系统保持与外界正在发生的事件的联系。还有一些备忘录也许是被激活的效应器,也就是使系统能够影响外部世界的子系统。荷兰德说,探测器和效应器相当于眼睛和肌肉的计算机机制。所以,从原则上说,一个基于规则的系统很容易就能从它的环境中获得反馈,这是它最首要的要求之一。
所以荷兰德就把这个相似的布告栏比喻用于他的适应性作用者的设计之中,但同时他又在细节设计上返回到对传统观念的反抗。
比如,从标准的纽威尔-西蒙的角度来说,张贴在布告栏上的规则和备忘录都应该用“鸟类”或“黄色”这样的符号性语言来编写,这样做是因为我们特意要使之接近于人类头脑中的概念。对人工智能领域里的绝大多数人来说,用这样的象征来代表人类头脑中的概念,其正确性已毋庸争论,这是几十年来的金科玉律,纽威尔和西蒙是这派观点的最雄辩的代表人物。而且,这也确实抓住了我们的头脑进行实际思考的很大特点。计算机中的象征可以被结合到繁冗的数据结构中,来表现复杂的情况,就像概念是与心理学家头脑中的各种模式相联系的,是从中产生的一样。反过来,这些数据结构也能够被程序用来与推理和问题解决这类的大脑活动竞争,就像我们头脑中模拟的类型会在思考的过程中被重建和改变一样。确实,如果你和许多研究人员一样,从字面上去理解纽威尔-西蒙的观点,你就会看到,这种符号处理就是思考。
但荷兰德就是不买帐。他说:“符号处理是一个很好的开端,而且确实在理解有意识的思想过程上前进了一大步。”但就符号本身而言却太呆板了,遗留下的内容也太多了。一个包含B-I-R-D(鸟的英文拼写)数据的每个字母怎么能够真正抓住所有微妙而游移不定的细微差别呢?如果这些字母与外部世界的真正鸟类无法沟通的话,对这个程序来说又怎么能具有任何真正的含义?就算撇开这个问题不谈,首先这些符号概念从何而来?它们是如何进化和发展的?又是如何通过外界的反馈而形成的?
对荷兰德来说,这正是人工智能的主流方向缺乏对学习问题的研究兴趣所导致的缺憾。“我们陷入的困境,与我们在不懂物种如何进化之前就对物种进行分类时所陷入的困境是同样的。”荷兰德说。“你可以从这类相似的系统中学到不少东西,但最终,这条道路是走不远的。”他仍然坚信,必须从赫伯的角度来理解概念:涌现的结构是从某种更深层的、不断在环境反馈中调整的神经基质中发展而来的。正如云彩形成于水蒸气的物理和化学变化,概念是模糊的、游移不定的、具有动力的。它们经常在重组和改变形状。“在理解复杂的适应性系统上,最关键的是要弄清楚层次是怎么出现的?”他说,“如果你忽略了下一个层次的规律,你就永远不可能理解这个层次的问题。”
为了使他的适应性作用者抓住涌现这个概念,荷兰德决定,他的规则和布告不用具有特别意义的符号手段来编写。它们将就是一排排1和0的二进制的任意序列。一个布告也许就是像10010100这样的序列,与他的基因算法中的染色体很类似。而一条规则,用英文来说,也许就像:“如果布告栏上有一个布告是 1###0#00的话,其中#表示‘无所谓’,那就贴上01110101这个布告。”
这种表示法很不符合常规,荷兰德只得给他的这些规则取一个新名称,“分类器”,因为它们的办法是根据布告的特殊类型来分别不同的布告。他认为这个抽象的表示法至关重要。因为他看到太多人工智能研究人员自己愚弄自己,假装他们基于符号的程序“知道”。在他的分类器系统中,布告的意义必须来自于它导致一条分类器规则激活了另一条分类器规则这种方式,或它具有意义是因为它的某一部分是直接被探测真实世界的感应器所编写的。概念和头脑中的模型就会作为自我支持的一群分类器涌现出来,它们应该能够像自动催化组那样自组和自我重组。
同时,荷兰德还从基于规则的系统的中央控制的常规概念中找出了例外。根据常识,基于规则的系统过于灵活了,所以不得不设计某种形式的中央控制来避免无政府状态。因为有成百上千条规则在争看充斥着布告的布告栏,所以总会有好几条规则突然蹿起来,相互争执谁来张贴下一条布告。假设认为,不可能所有的规则都张贴下一条布告,因为它们的布告可能完全不能连贯一致(“扣留人质”或“扣留其妻”),或者它们的布告也许会引起完全不同的规则瀑布,这样就会导致整个系统完全不同的表现。所以,为了防止计算机的精神分裂症,大多数系统都实行了繁冗的“争议解决”战略,以保障每次只有一条规则能采取行动。
但荷兰德却认为,这种自上而来的争议解决法恰恰是错误之所在。难道这个世界是如此简单、如此可以预测,以致于你总是能够在事先就知道什么是最好的规则吗?几乎不可能。而如果这个系统被事先告知如何行动,那将之称为人工智能就是一个骗局:这样的智能并不在程序之中,而是在程序员的脑子里。不,荷兰德要的是,让控制由学习而来。他要控制从最底层涌现而出,就像大脑的神经基质中的涌现一样。让连续一贯性见鬼去吧。如果两个分类器规则相互意见不能统一,那就让它们在自己的表现的基础上去竞争出一个结果来,这个结果就是被证实了的对完成任务的贡献,而不是有一个软件设计人员事先编好的程序的选择。
“与主流人工智能研究正相反,我认为竞争比连贯一致性更为本质。”连贯一致性是个幻想,因为在一个复杂的世界里,经验的连贯一致性是没有保障的。但对于与自己所处的环境玩游戏的作用者来说,竞争是永恒的。“另外,除了经济学和生物学对竞争有所研究之外,我们还没有提炼出何为竞争之主要特质来。”对于竞争的丰富多采性,我们只刚刚开始认识。想一想神奇的竞争能够产生出合作的巨大推动力,某些作用者为获得相互支持而自发结为联盟,相互形成象征性的关系。这种情形发生在所有复杂的适应性系统的每一个层次,从生物、经济到政治。“竞争和合作看上去也许是对立面,但在某种深层次上,它们是相同事物的两个方面。”
为实现竞争的机制,荷兰德决定把张贴布告变成某种拍卖活动。他的基本想法是,不要把分类器当作是计算机指令,而当作对在特定情况下张贴什么布告最好的假设和推测。通过每一条假设的数值来衡量其道理和力量,这样就有了一个叫价的基础。在荷兰德的布告张贴观念中,每一个循环开始时就像以往一样,所有的分类器都在扫描布告栏,寻找与自己相关的布告。它们就像以往一样,一发现与自己相关的分类器会站起来,准备张贴自己的布告。但与以往立即张贴自己的布告不同的是,每一个分类器都会先量力叫价。一个对“明天太阳会从东边升起来”的经验确信不疑的分类器也许出价一千,而一个确信“猫王还活着,晚上出现在华拉华拉汽车旅店 6号”的分类器也许出价一。然后这个系统就会收集所有的出价,用抽彩给奖法选择一组赢家,叫价最高的最有可能赢。中选的分类器就会张贴它们的布告,就这样循环往复。
复杂吗?荷兰德不予否认。而且,这种拍卖就是以任意可信值取代任意争议解决战略。但现在让我们假设这个系统能够从这些可信值中吸取经验,那么这种拍卖就会排除中央仲裁人,从而让荷兰德获得他正想要的东西。并不是每一个分类器都能够赢:布告栏非常大,但却并非无限大。也并不是跑得最快的就一定能赢。如果时来运转的话,即使“猫王还活着”也能得到张贴自己的布告的机会。但一般来说,总是那些最强健的和可信值最高的假设获得系统表现的控制权,而那些离谱的假设时不时出现只增加了这个系统的一点儿自发性。而且如果有一些假设相互矛盾,那也不应该成为危机,而应该是一个机会,一个让系统决定谁的可信度更大,从而吸取经验的机会。
所以,我们又返回到学习这个问题上来了:分类器怎么来证明自己的价值,又怎么为自己获取可信值呢?
对荷兰德来说,最显在的答案就是采用一种赫伯式的强化作用。每当一个作用者做对了什么事,从环境中得到了一个正反馈,它就应该强化那些与此相关的分类器。而每当它做错了什么事,它就同样应该削弱相关的分类器。无论采取强化的方法,还是采取削弱的方法,它同时应该不去理会那些不相干的分类器。
当然,关键是要弄明白这些分类器所起的作用。作用者不能奖赏那些在颁奖的时候正巧表现活跃的分类器。那就会像把得分的一切功劳都归于那个凑巧带球冲过底线的队员,而对操纵全局、把球传给他的四分卫,对拦截了对方进攻、为他开路的前锋,或任何替他传球的队员的功劳一笔勾销了。这也像把赢得一盘国际象棋的全部功劳都归于将住了对手的国王的最后一步棋,而无视为获得全局胜利而布局中的许多关键的棋步。但还有其它替代办法吗?如果作用者为了奖赏正确的分类器而必须预期回报,在没有被编入程序的情况下立该怎么做呢?在事先一无所知的情况下,作用者如何得知这些布局的价值呢?
这确实是一个问题。不幸的是,赫伯式的强化作用是一个过于广泛的一般性概念,无法提供解答。荷兰德感到非常困惑,一直到有一天他偶然回想起他在麻省理工学院上的基本经济学课程,那是著名的经济学教科书撰写人保尔·塞缪尔森上的课,他才意识到他几乎已经解决了这个问题。他的布告栏前的拍卖已经为他在系统中建立了某种市场机制,通过允许分类器量力叫价的办法,他已经创造出了通货。所以,为什么不采取下一步行动?为什么不创造一个完整的自由市场经济,让强化能够在利益驱动下发生作用呢?
确实,为什么不呢?当他终于看到了这一点,就发现这与经济非常相似。荷兰德认识到,如果把张贴在布告栏上的布告当作是上市叫卖的货物和市场上提供的服务,那么就能把分类器想成是生产这些产品和提供这些服务的公司和厂家。当一个分类器看到有一个布告满足了它的“如果条件”,它就会叫一个价,那么就可以把它想成是一个正在求购生产所需供应的厂家。为使这一相似性更加完善,他要做的是,必须要使每一个分类器对自己消耗的供应付出报酬。他决定,当一个分类器赢得了张贴自己的布告的权力,它就得将自己的一部分力量转给供应商,也就是那些触发其张贴布告的分类器。在这个过程中,这些分类器就会被削弱。但在下一轮拍卖中,一旦它的布告上市,它会有重新聚集力量的机会,甚至能够获利。
但这些财富究竟是从何而来的呢?当然是从最终消费者而来的:环境就是系统的所有报偿之源。荷兰德认识到,除此之外,对凑巧在颁奖的时候活跃异常的分类器给予奖赏是完全正确的。既然每一个分类器都对供应有所付出,那么市场就会保证其奖赏普及到所有中选的分类器,从而产生他所寻求的某种自动报偿和惩罚机制。他说:“如果你生产出对大家都合适的产品,那么你就会获利。如果不是这样的话,那就没人会买你的东西,你就会破产。”所有能够产生有效行动的分类器都会被强化,任何参与布局的分类器都不会被忽略。随着时间的日积月累,随着整个系统不断汲取经验和从环境中获得反馈,每一个分类器的强度就会与自己对作用者的真正价值相符。
荷兰德将适应性作用者的这部分称为“水桶队列”算法,因为其方法是将奖赏从一个分类者传到前一个分类者。这有如希伯的强化神经突触的大脑理论的直接翻版。或者,从这个意义上来说,与在计算机上调训模拟的神经网络也如出一辙。当想到这些时,荷兰德知道他快要触及到问题的实质了。以利益为驱动力的经济强化是一个极为强大的组织力量,就如亚当·斯密的那只看不见的手在现实经济中具有强大的力量一样。荷兰德认识到,从原则上说,你可以用一组完全随意的分类器来启动系统,这样,作用者这个软件就会像新生婴儿一样手舞足蹈地乱蹬乱踹。然后,随着环境不断强化某些行为,随着水桶队列发生作用,你可以看到分类器将自己组织为前后连贯的序列,从而产生预期的行为表现。一句话,学习从头开始就被设入于系统之中了。
这么说,荷兰德几乎就摸到门了,但还不尽然。荷兰德把水桶队列算法建立在基本的基于法则的系统之上,并赋予了他的适应性作用者某种形式的学习功能。但适应性作用者还缺少另一种学习的形式,开采式学习与探险式学习之间是有区别的,水桶队列算法能够强化作用者已有的分类器,可以打磨已有的技能,但它却无法创新。仅仅只依靠水桶队列算法,会使系统趋于最大化的平庸状态,因为这个算法无法使系统在无限广阔的可能性空间搜索到新的分类器。
荷兰德认为,搜索于可能性空间正是基因算法可以承担的工作。事实上,当你想到这一点时你就会看到,达尔文的比喻和亚当·斯密的比喻恰好可以相辅相成:企业能够随时间进化,为什么分类器不能够呢?
荷兰德当然不会为这一洞见而大惊小怪:基因算法一直存储在他脑子里。他刚开始对分类器做二进制的表述时就想到了基因算法。分类器用英文来陈述就像:“如果有两个布告,其模型分别是1###0#00和0#00####则张贴布告01110101。”但在计算机里,各部分信息会被串在一起,被写成一连串的信息: “1###0#000#00####01110101”。对基因算法而言,这就像是数字染色体。所以可以完全用同一种方式来执行这个算法。在大多数情况下,分类器会像以往一样在市场上欣然买进或卖出。但系统会经常性地选择最强的一对分类器来繁衍后代。这些中选的分类器会通过性交换来产生一对后代,从而重组它们的数字化建设砖块。而新生代会取代一对力弱的分类器。然后,新生代将有机会来证明自己的价值,通过水桶队列算法使自己越变越强壮。
结果就是,这群规则会随时间而改变和进化,在可能性空间中不断发现新的领域。由此你就会达到目的:将基因算法当作第三层,置于水桶队列算法和基本的基于规则的系统之上,荷兰德终于构筑成了一个不仅能够吸取经验,而且具有自发性和创造性的适应性作用者。
他现在所要做的就是,将这个构想变为一个可以运作的软件程序。
荷兰德从1977年左右开始为第一个分类器系统编码。奇怪的是,这项工作并不像他期望的那样直截了当。“我真以为只消几个月时间我就可以编出能够运作、对我有用的程序来。但实际上,我用了大半年的时间才做到令我自己满意的地步。”他说。
另一方面,这也要怪他自己让自己做难。他以真正的荷兰德的风格来编写第一个分类器系统:完全依靠自己,而且是在家里,用的是十三年前他用于旋风计划的十六进位码和他家的一台康莫多(Commodore)计算机。
巴奇小组的成员们至今在说到这一段故事时还带着诧异的神情。当时满校园都是计算机:VAX机、大型计算机、甚至高功能的绘图工作站。为什么要用康莫多机?为什么要用十六进位码?几乎没人还在用十六进位码了。如果你真是个死心塌地的计算机高手,想方设法要从一台计算机的程序中榨出最后一点利用价值的话,你也可以用所谓组合语言来写,那起码能够用像MOV、JMZ和SUB这样的帮助记忆的符号来取代数字。或者,你也可以用PASCAL、C、FORTRAN或 LISP这样的高级语言来编写程序。这些语言是人类比较容易理解的。尤其是科恩,仍然记得为此与荷兰德做过长时间的激烈争论。如果用这些夹杂字母的数字将程序写得杂乱无章,谁会相信它能运作呢?就算有人相信你,但如果你的分类器系统是在家用计算机上编写成的,谁又会用它呢?
最终荷兰德只好做出让步。不过到他同意将分类器系统交给一个研究生,里克·里奥罗(Rick Riolo)时,早已是八十年代初了。里克将这个系统改编成一个一般性功能的、能够在所有类型的计算机上运行的软件系统。荷兰德承认说:“只不过这不是出于我的本能。我总是喜欢将实验做到能让我看到它真的能够运行的地步,然后就失去了兴趣,又回到了理论。”
正因为如此,所以他仍然坚持认为当时的康莫多计算机对他而言意义甚大。大学的计算机上是共享的,这令人头痛,他解释说:“我喜欢直接在计算机大忙小乱地编写程序,但如果用大学的计算机,就不可能容许我一口气上机八个小时不下来。”荷兰德把个人电脑看作是上帝的恩典。“我发觉我可以在我的个人电脑上编写程序,可以独个拥有于家中,不用再依赖任何人。”
另外,为旋风和IBM701编写程序的经验使荷兰德一点儿也不觉得这些桌面小电脑过于原始。事实上,当他买康莫多电脑时,他觉得已经前进了一大步。实际上他 1977年就买了被称为“微心智”(Micromind)的电脑,当时这台电脑看上去像是崭新的苹果二型机的强劲对手。“那是一台很好的小型计算机。”他回忆说。确实,尽管那只不过是一个黑匣子里的一堆电路板,可以与电报打字机连接后做信息输入和输出,而且没有屏幕,但它有8000字节和8位内存。价值三千美元。
说到十六进位码,那是因为微心智计算机当时没有其他语言可供使用,而荷兰德又不愿意等待。“我习惯了用组合程序,我用十六进制码就像用组合程序一样方便,所以用十六进制码来写程序对我来说并不困难。”
讲完这段故事后,荷兰德说,微心智计算机公司这么快就倒闭了,真是太令人遗憾了。他一直到感到八千内存实在不够用时才开始转用康莫多电脑。他说,当时康莫多电脑是一个最理想的选择。它采用了与微心智同样的微处理器芯片。这意味着,几乎不用做任何改变就能够让它运行十六进制码。康莫多的内存要大得多,带屏幕显示,而最大的好处是,“康莫多能让我玩游戏。”他说。
尽管荷兰德的同事对此非常恼火,但他的第一个分类器系统却运转得非常好,这足以能够使他确信,这个系统确实实现了他的意图,而且确实为完整的认识理论播下了种子。这个系统的早期版本是他与密西根大学心理学教授裘迪·瑞特曼(Judy Reitman)共同研制的,发表于1978年。在对这个版本系统的测试中,其作用者学会了如何用基因算法运行一个模拟的迷宫,运行速度要比没有用基因算法快十倍。这次测试同时也证实了,分类器系统能够显示心理学家所称的“转换”:它能够把在前一个迷宫中学到的规则运用到后一个迷宫的运行中去。
这些早期研究成绩斐然,即使荷兰德并不大肆渲染,其名声也已使“分类器系统”这个词开始流行了起来。比如1980年,匹兹堡大学的史蒂芬·史密斯(Stephen Smith)开发了一个能够玩扑克的分类器系统,并用它来和一个也有学习功能的老一点的玩扑克牌的软件对抗。这场对抗甚至不成其为比赛,分类器系统轻而易举地就赢了。1982年,泊拉罗德公司的斯图尔特·威尔逊(Stewart Wilson)用分类器系统来协调电视摄影机和机械手臂的动作。他的应用表明,水桶队列和基因算法能够导致分类器规则的自发组织,从而自我分类成一个个小组,起到控制子规则的作用,产生我们所需要的特殊而协调的动作。1982年,荷兰德的学生拉森·勃克(Lashon Booker)在他的博士论文中将分类者系统运用在一个模拟的环境,用它来寻找“食物”,避免“食物中毒”。这个系统很快就将自己的规则组织成这个环境的内化模型,就像一幅心智地图。
但对荷兰德来说,最感欣慰的是1983年戴维·高德勃格(David Goldberg)的研究证明。高德勃格是一个攻读博士学位的土木工程师,在此几年前就选修荷兰德的适应性系统课程,并一直对此深信不疑。高德勃格说服了荷兰德成为他的博士论文答辩委员会的主持人之一。他的论文证明了,怎样把基因算法和分类器系统运用于对一个模拟的煤气管网线的控制。当时,这是分类器系统对付过的最复杂的问题。任何一个煤气管道系统的目的都是以尽可能小的成本来满足终端用户的需要。但每一条煤气管道都有几十个或几百个压缩机,将煤气从几千英里的大管径管道抽出来。用户的煤气用量每一小时、每个季度都会有变化,而压缩机和管道常会有渗漏,限制了整个系统在适当压力下的供气能力。安全控制要求煤气的气压和运速保持在适当的程度,但任何一个因素都会影响到其它因素,即使想使一个简单的煤气管道发挥最大效益,都复杂到根本无法用数学来分析。管道操作者是通过长时间的“学徒”才学会用本能和感觉来控制煤气管道系统的这门技术的,就像我们学开车一样。
事实上,煤气管道的问题之复杂,就连荷兰德都发愁,担心高德勃格的研究较之其它分类器系统运用小组,也许更可能失败。但其实他根本不必担心。高德勃格的系统非常圆满地学会了控制这个模拟的煤气管道系统:这个系统从一组完全随意的分类器开始,在经过一千天的模拟试验之后,达到了对控制煤气管道的专家水平。而且,这个系统掌握操作煤气管道的规则简单得不可思议。它的布告仅为十六个二位数那么长,它的布告栏上每次只有五条布告,总共只有六十条分类器规则。事实上,高德勃格在他家的苹果二型机上只用了64千字节的内存就运作了整个分类器系统和煤气管道的模拟程序。荷兰德笑着说:“高德勃格是我最紧密的追随者。”
煤气管道的模拟不仅使高德勃格在1983年获得了博士学位,而且使他获得了1985年度的总统青年研究者奖。荷兰德自己也将高德勃格的研究看作是分类器系统研究的一个里程碑。“这非常有说服力,”他说。“它真正解决了一个实际问题,或者说,起码是解决了一个实际问题的模拟。”而且,不无讽刺也不无欣慰的是,这个分类器系统最“实际”的一例,反过来对基本的认知理论也最具说服力。
荷兰德说,这一点在高德勃格的系统如何学会控制渗漏的方法中表现得最为明显。这个系统从一组随意的分类器开始,首先掌握一系列对正常的煤气管道的运行较为广泛适用的规则。比如在一次传送煤气的操作中,出现了一条可以被解释为“一直传送‘没有渗漏’的信息”。很显然,这是一条过于一般的规则,只适用于管道运行正常的情况。但在高德勃路开始在各种模拟的压缩机上打出模拟的洞来的时候,这个系统很快就发现了这个问题,其操作立刻就失灵了。但通过基因算法和水桶队列,这个系统最终从自己的错误中反省了过来,开始产生了一些比较特殊的规则,比如“如果输入气压很低,输出气压也很低,气压转换率是消极的,则传送‘渗漏 ’信息”。而且,只要这条规则一经实行,就会产生比第一条规则高得多的叫价,把第一条规则从布告栏上取代下来。如此这般。大体上说,第一条规则在不出现非常规行为的正常情况下会发生作用,而一旦发生意外情况,第二条规则和其他规则就会取代第一条规则,对意外的行为做出校正反应。
当高德勃格告诉荷兰德这些时,荷兰德激动万分。在心理学上,这种知识的组织被称为缺席的等级制度(defulthierarchy),当时这正是荷兰德久埋脑海的研究课题。自1980年起,他一直在与三位密西根大学的同事,心理学家凯瑟·赫力约电(Keith Holyoak)、里查德·尼斯伯特(Richard Nisbett)和哲学家保尔·查加德(Paul Thagard)密切合作,致力于创立一个关于学习、推理和知识发掘的认知理论。正如他们在1986年出版的《归纳法》一书中所说的那样,他们四个人都相信,这个理论必须建立在三项基本原则上,而这三项基本原则也正是荷兰德的分类器系统的原则:即,知识能够以类似规则的思维结构来表达;这些规则始终处于竞争之中,经验使得有用的规则越变越强,无用的规则越变越弱;具有说服力的新规则产生于旧规则的组合之中。这个有大量的观察和实验结果支持的观点表明,这些原则可以解释各种恍然大悟的洞见,包括从牛顿对苹果落地的顿悟,到日常生活中对相似性的发现。
他们特别指出,这三项原则应能够产生缺席的等级制度的自发涌现。确实,这正是人类所有知识的基本组织结构。一组规则形成缺席的等级制度,从根本上来说与荷兰德所称的内在模型是同一个意思。我们用较弱的一般性规则和较强的特例来预测事物该如何分类:“如果它是流线型的,有鳍,生活在水中,那它就是鱼。”但“如果它同时还有毛发,呼吸空气,而且很大,那它就是鲸。”我们用同样的结构来预测如何做事:“‘i’总是在‘e’之前,除非其后有‘c’。”但“如果是 neighor、weigh、或weird这些字,则‘e’总是在‘ i’之前。”我们还用同样的结构来预测因果关系:“如果你朝一条狗吹口哨,它就会向你跑来”,但“如果它向你嗥叫,并把颈背部的毛发竖起来,那它也许不会向你跑来。”
荷兰德说,这个理论说明,无论这些原则是作为分类器系统来执行,还是以别的形式来实行,缺席的等级制度都应该会涌现出来。(事实上,《归纳法》一书中引用的许多计算机模拟实验都是用PI来做的。PI是查加德与赫力约克设计的更常规的基于规则的软件程序。)不管怎么说,看到等级制度能够真的从高德勃格的煤气管道模拟中涌现而出,真是非常令人激动。分类器系统总是从零起步,它最初的规则完全是在计算机模拟的太初混沌中随意设置的,然而就在这混沌之中,美妙的结构涌现了出来,令人惊喜,让人讶异。
“我们感到欢欣鼓舞,这是能够真正被称为涌现模型的首例。”荷兰德说。