第四章 人工智能和人工生命

行万里路读万卷书,玩是人生的最高境界
打印 被阅读次数

明海禅师沉思了一会:“师弟,你说资本主义商品经济的最基本的特征是什么?—— 对,商品交换。从这个角度去看,法律体系就是交换系统,利益的分配和交换。法治国家的本质就是契约社会,法律类似于合同,规约统治者和被统治者的义务和权利。从统治者的角度,当然他们占有的资源越多越好。但这种模式是无法持久的。可持续的模式必然是整个社会的大部分利益集团纵横俾阖,最终达成的动态平衡的结果形成了法律。师弟,我们可能又得务虚了 —— 理工出身的大都对量化分析和数理模型有特殊癖好。当然今天我们不可能有足够的带宽从事严谨的数量分析,但我觉着有两个数学体系的概念可能非常有助于我们理解法律体系 —— 那就是人工智能和人工生命。“

明海禅师上大学前就对生命科学有特殊的痴迷。以后步入职场,虽难免总是为五斗米折腰,但好在一直从事他喜欢的,在生命科学、纳米技术和数理模型的交会区浮沉。人工智能和人工生命,两个词尤如两把重锤,在明海禅师的心上猛撞数下。当年在硅谷的日日夜夜犹如电影回放。 尽管逝者如斯,“暗中偷负去,夜半真有力,“ 但还是岁月留痕萦绕于心。虽说现在遁入空门,但“云空未必空“, 真正做到四大皆空六根清净又谈何容易? 明海禅师陷入了沉思 ……

人工生命和人工智能的两位大师都是计算机科学的泰山北斗:一个是大名鼎鼎的数学家,计算机之父,博弈论的创始人 冯• 诺依曼 (John von Neumann)。另一个是阿兰•图灵 (Alan Turing),英国数学家和逻辑学家,计算机逻辑的奠基者,和冯• 诺依曼一样被称为计算机科学之父,并被称为人工智能之父。

人工生命和人工智能几乎同时分别由诺依曼和图灵在上世纪40年代末50年代初提出。1941年第一台计算机诞生。1950年,图灵在《计算机与智能 (Computing Machinery and Intelligence)》提出的图灵实验 (Turing Test)奠定了人工智能的基石。如果一台机器能够通过图灵实验,那它就被认为是智慧的。

另一方面,1948年在加州理工的Hixon Symposium上冯• 诺依曼通过他著名的讲座“The General and Logical Theory of Automata”催生了人工生命。此后他的经典著作《Theory of Self-Reproducing Automata》则是人工生命的里程碑。

尽管都是由大师开先河,但以后人工智能似乎是风生水起。在机器人技术、专家系统、模式识别 …… 等诸多应用领域实现了工业化产业化。尤其是IBM的“深蓝 (Deep Blue)” 在1997年5月战胜俄国的国际象棋大师世界冠军卡斯巴罗夫 (Garry Kimovich Kasparov),更是人工智能尤其是专家系统的刹那芳华。深蓝是IBM耗资2亿5千万美元研制出来的擅长国际象棋的电脑,研制工作由美国华裔科学家许宏伟 (Feng-hsiung Hsu) 负责,数据库方面有美国国际象棋特级大师本杰明 (Joel Benjamin) 加盟。深蓝储存了200万份从18世纪到现在的经典对局,1997年的深蓝可搜寻及估计随后的12步棋,而一名人类象棋好手大约可估计随后的10步棋。

而人工生命则一直沉寂,直到最近才稍引人注意。这其实在某种程度上反应了人类在认识论上的习惯,或者说盲点和偏见。人以及和人有密切接触的生物圈中的高等哺乳动物都是中央集权形式的等级制社会结构形态:国家有总统、首相、主席、国王……;公司有CEO或董事长;军队有将军、元帅;狼群有头狼,所谓的Alpha Male;狮群有一只领头的雄狮…… 所以人们自然而然的认为,没有一个中心控制中枢,整个系统或社会必将陷入混沌完全无序状态而失效。

人们凭直觉很难接受一些极为低等的生命形态,其脑容量也许只有针尖那么一点体积,通过所谓的“分布式智慧 (Distributed Intelligence)”, 可能完成人类都无法完成的极为复杂的项目,比如西非的蚁冢。另一个例子是鸟群或鱼群。大概我们在小学语文里都读过天上一群大雁飞过,有时排成“人”字,有时排成“一”字  …… 于是老师会解释,雁群前面的那只是头雁。雁群之所以排成人字或一字,那是因为这样它们能充分利用前面的雁飞行时的气流,节省体力….. 言外之意,雁群中的每只雁都是听从头雁的指令,有意识有组织地排成最佳飞行队形。

直觉有时是靠不住的。

有研究动物行为的野外生物学家用高速摄影拍下鸟群和鱼群的运动过程,然后对录像逐幅分析,结果是鱼群和鸟群并没有一个领头的。它们的群体行为是通过其中的单个鸟或鱼对周边其他同类行为的反应,最终结果是群体的协调行为。这种群体行为和我们熟悉的高等哺乳动物的群体行为的最根本的区别,在于不存在整个群体层次上的规则和协调。高等哺乳动物群中有一个元首,比如头狼。其群体行为是由元首通过让群体成员执行它的指令来实现的。而鸟类和鱼类的群体行为中的协调行为是在群体的最低的层次上实现的:个体之间基于一些极简单的规则,比如 “尽力靠近你旁边最近的那只鸟 (或鱼),但不要撞上它”…… 等。鸟群和鱼群不存在元首。不存在整个群体系统层次上的协调和统一指挥。
这也反映了尽管人工智能和人工生命有许多交叠重合,但归根结底到哲学层面,到认识论和方法论的层面,两者其实是完全不同的。人工智能是所谓的“自上而下 (Top-Down)”的方法:人工智能的仿真的基础是在系统的层次上制定规则,整个系统将按这些规则运作。比如阿西莫夫的“机器人三原则”。

但在现实世界里,上面那些简单的原则性的规则根本不足以应对五光十色的社会现象。尤其一些人们习以为常的日常生活常识,比如说“如果一个顾客在商店里拿了东西,他必须付款才能离开”。。。之类的,人类习以为常的简单知识,却恰恰是计算机最难以描述的,也就是所谓的“常识知识表示的困难”。对这些简单常识的判别应用,计算机却非常容易出错。于是人们就必须规定更多更加细致周密的规则,然后出错的几率更大。。。如此循环往复,最后的控制操作程序多达成亿上兆行,程序的debug变得几乎不可能,系统仅仅因为其过度复杂而当机。归根结底,简单的一句话就是,人工智能的“自上而下”和“基于规则” (Top-Down, Rule-based) 的方法,想要仿真极端复杂高度多样化的生物,可能无法实现。

拍摄于1984年的《终极战士 (The Terminator)》和1991年的《终极战士二 (The Terminator II Judgment Day)》正是反映了八十年代到九十年代人工智能的状况以及从传媒反映出来大众对人工智能和机器人的理解。而象“Terminator”这样的机器人也确实在一定人工智能的威力和局限性并存的状况。比如《终极战士》里有个镜头,“终极战士”经过一场枪战,遍体鳞伤的回到下榻的Motel。此时服务员来送水,“终极战士”从它的数据库经过一轮扫描,才找到应对的粗话 “Fuck you Asshole!” ——— 如此简单的生活场景,也必须“自上而下”设定规则建立数据库,通过数据库搜索才能给出答案。难怪等到《终极战士二》结尾,机器人的“终极战士”遇到了它的程序中没有答案的形势,它无法应对,只好以自沉火海自我毁灭的方式解决。可能也许这些原因,可能也许是根植于人类心底的恐惧,《终极战士》里突出反映的一个媒体和大众的焦虑,就是人类制造的机器人的智慧会不会超过人类。套用《侏罗纪公园 (Jurassic Park)》里的一段台词:

Ian Malcohm: “God creates dinosaurs. God destroys dinosaurs. God creates man. Man destroys God. Man creates dinosaurs.”
Ellie Sattler: “Dinosaurs eat man…woman inherits the earth.”

那就是 ”…… 上帝创造了人,人毁坏了上帝,人创造了机器人,机器人毁灭了人 ……”

这其实反映了人类自远古以来对未知不确定事物的集体焦虑和集体恐惧。除了对机器智慧超过人类,另一个典型的在大众传媒中反复出现的就是外星生物的入侵。而人工智能的困境,似乎给人类的集体焦虑暂时一个舒缓。尤其是上世纪八十年代,似乎是人类自我感觉最为良好的时候。而特别有意思的是,宣告机器智慧永远不能挑战人类智慧的,竟然是英语教授们,而不是计算机科学家和工程师们。

而正在人工智能似乎走到瓶颈之际,人工生命悄然崛起。当我们进一步仔细研究人类智慧的物质载体 ——— 人脑时,我们就会发现,从自上而下的观点看,人脑毫无疑问是中枢,是控制中心。人脑制定整个人体在系统层次上的所有规则,可以说是人体中级别最高的元首。但当人们把组成人脑的个体 ——— 神经元 ——— 放到显微镜下面观察,人们忽然发现,神经元世界完全是一个真正“众生平等”的世界。从解剖解构的角度,神经元 (Neuron)确是多种多样。胞体小的直径只有5~6微米,大的可达100微米以上。神经元本身的功能也是有差别的,比方视神经一定要和眼睛的一些结构相关,否则就没有可能达到视觉功能,若换别的神经和眼睛相关也不可能达到视觉功能,它是比较专一的。另外人还有些自律细胞,比方心肌细胞,它的运动是不需要神经支配的。呼吸活动则又是更复杂的,神经可以通过调整肌肉运动影响到呼吸,而这种神经的调整又可分为交感和副交感两种神经来完成。但重要的是,神经元总的来说功能是有类似性的,负责传输或发出某种信号。而在这个层次上,所有的神经元都是平等的。神经元之间不存在某种类似于组织或器官那样的金字塔式结构。只有当成亿上兆的神经元组成神经网络,再由神经网络组成人脑,才使得人脑成了整个人体是系统控制中枢。

神经网络 (Neural Networks)的强大功能还在于,实际应用中网络并不需要象人脑那样复杂包含极大数量神经元的网络。一个相对简单的,包含神经元的数量是目前计算机技术能实现的网络就可以发挥巨大的威力。最根本的原因是,由于每个神经元都和其周围若干个神经元互相通信,这种非线性的相互作用使得整个网络的功能远远超出了网络里神经元功能的简单线性叠加。基于神经网络的人工生命算法已经成功的应用于工业。分布式智慧,或分布式数据处理 (Distributed Processing),正是人工生命的基础。最近“云计算 (Cloud Computing)的产业化,人工生命似乎有和人工智能分庭抗礼之势。

分布式数据处理的基本原理说起来很简单,那就是将一项任务分配给一个处理器集团 (Cluster)处理。除了上面的神经网络算法,另一个人类从简单低等生物那里学来的智慧就是所谓的“群体智慧”,也就是所谓的 “Swarm Intelligence (SI)。” 上面提到的蚁冢就是一个典型的 SI 例子。将之变成计算机算法,那就是产生大量功能简单相对比较愚蠢的个体(agents)。尽管单个agent的功能非常简单,但其整体却能完成一些极为复杂的计算,就如简单的蚂蚁可以造出极为复杂的蚁冢。

全世界会建造蚁冢的蚂蚁种类颇为不少,比如中国北京京郊就有所谓白草畔山下八景之蚁冢千丘。那是是一种红蚂蚁,它们的窝也就是所谓蚁冢的高约30厘米到1米左右,丘底直径一般为1 到2米。 最为壮观则是西非的蚁冢。遥想Safari天苍苍野茫茫,风吹草低见狮象,突兀间一座“摩天大楼”拔地而起,高达数丈(约20英尺),径广百尺有余。其中五步一楼,十步一阁;廊腰缦回,檐牙高啄;各抱地势,钩心斗角。如果你把其中的蚁放大到人的尺寸,那是真正的前无古人的摩天大楼:高达1600米,直径近10公里! 

面对比七大奇迹更雄奇的大自然的杰作,除了青冢向黄昏感慨,大概会觉着造物主的伟大,人类的渺小吧? 

这样的杰作,既没有建筑师设计师,也无需复杂的项目管理。没有蓝图,没有计划。所有一切,都是由一个个简单的生命,其脑容量不足人类的几百万分之一,遵循一些非常简单的法则建起来的。这里不光是宏伟的建筑矗不知其几千万落,勘比阿房宫的长桥卧波未云何龙,复道行空不霁何虹, 而且所有起居的条件,诸如通风,采光,排气,排热 …… 等都几臻完美,真正是歌台暖响,春光融融;舞殿冷袖,风雨凄凄, 一日之内,一宫之间,而气候不齐。

人工生命的还有一种方式是所谓的遗传算法 (Genetic Algorithms, GA), 那是用计算机产生虚拟基因 (Virtual Genes),然后让这些虚拟基因通过进化,解决现实世界里的复杂计算问题。

所有这些人工生命的概念和方法,和人工智能比较,最基础的分别就是没有整体系统层次上的规则。在人工智能的范畴里,整个系统的行为是通过在系统层次定义的规则实现的。对定义了规则的系统,给出确定的初始条件和边界条件,系统的输出结果是确定的,可预测的。这就是所谓的自上而下的基于规则的方法。

而人工生命只对群体中的单个个体或网络中的单个神经元之间的相互作用定义最低层次最简单的规则。整个系统的规则是没有加以定义,而是由个体之间通过相互作用后产生的,也是是所谓的 “突现行为 (Emerging Behavior)”。正是由于这种突现行为,使得如群体智慧,神经网络或基因算法等具备了类似于生命的一些特征,比如

·    自组织功能:群体中的个体通过信息交换与处理,实现个体与个体之间以及个体与周边外界环境之间的信息交换,实现模拟的社会系统。
·    自我复制 (繁殖) 功能:繁殖可以通过数据结构在可判定条件下的自我复制实现。同样有生必有死。个体的死亡可以通过数据结构在可判定条件下的删除实现。所谓的“有性繁殖”则通过组合两个个体的数据结构特性的数据结构生成的方式实现。
·    自我改良,学习,和进化功能:人工生命有所谓的“记忆”功能;早先的经历可以被用来改进以后的行为。比如 神经网络的特定能力就是可以通过训练 (Training),不断完善网络的功能。在此基础上可以实现决策功能,也就是经过学习,不断适应外界环境,最终达成最佳的解决方案。

国际象棋和围棋可能是最复杂的人类对抗性的博弈形式。深蓝战胜卡斯巴罗夫那是人工智能整体规则的一次完美表现。如果说人工智能的自上而下方法是象棋大师的克星的话,那围棋似乎就和人工生命有某种天然的联系。围棋每一颗棋子都是完全相同的,不象象棋,小卒子和车的威力有着数量级的差别。围棋子的作用完全取决于在某一时刻它所处的空间位置以及它和周边棋子的关系。这和群体中的个体或神经网络中的神经元颇为相似。围棋的规则相对于象棋要简单,而且也是定义在最低的个体层次上的:活棋的要求很简单,要有两口气。但由棋子之间的相互关系展开,形成群体以后的变化却远比象棋复杂。比如边角和中腹的高下优劣,俗话说的是“金角银边狗肚里”;但《棋经十三篇》里却有“高者在腹,下者在边,中者在角,此棋家之常法”之说。不管国手庸手,起手大致都先占四角。现代棋枰,落星位 (4 x 4) 的大概很稀罕的了。起手落小目 (3 x 4 或 4 x 3)的蛮多的。有走实地稳健路子的,可能会退一步下在“三三” (3 x 3)上。喜外势的,也许会下到高目 (4 x 5 或 5 x 4),或甚至进一步,下到目外 (6 x 6)上。有棋手偶而走边锋,会左手下三三,右手下目外,左低右高,取“右背山陵,前左水泽”之意。但这些也只是”棋家之常法”,而不是硬性的规则。记得某位国手曾有第一子下在“天元” (棋盘中央)的,号称“起手落天元”。

除了打劫,围棋中颇有兴味的是倒扑。金庸在《天龙八部》中写虚竹误打误撞,用“倒脱靴 (也就是倒扑)”破了“珍珑” 棋局。老金玩笔玩得炉火纯青,写起来高潮迭出,极具戏剧性。这种将欲取之,必先予之的下法,要用人工智能实现,可能又会碰上“常识知识表示的困难”。

人工生命的这种所谓“突现行为”从技术上来说,那就是有种群体中的个体并不存在的行为,但当个体形成群体后,个体之间的相互作用导致了群体行为的发生。这种行为可以在任何群体中发生,比如说所谓的计算机集团 (computer cluster),或机器人群体,或狼群,狮群,甚至示威游行的人群。这种“突现行为”因为不是在整体系统层次上有意识规定的,个体相互作用引发的结果就有着完全的随机性。如果说群体智慧有着类似生命的行为 (Life-like),这种行为也可以说非常的孩子气,有着不可预期 (Unpredictable),并且非常容易分散注意偏离目标 (Easily Distracted)——— 就象我们在小学一年级学过的《小猫钓鱼》。你如果给一个六岁的孩子十块钱,让他去打酱油。他也许在路上看到有人做俯卧撑,觉着贼好玩,压根就忘了打酱油这码事,包不准连回家的路都摸不着了。

对于这种孩子气的不可预期和偏离目标的一个解决方案是所谓的 “Goal-Attainment”。太阳底下没新鲜事,所谓的 ”Goal-Attainment” 算法其实是很成熟的优化算法, 并非人工生命的独创。不过人工生命的Goal-Attainment,由于其类似生命的特点,有其特殊性。比如人工生命的Goal-Attainment算法中一种是基于动物世界捕食动物和猎物 (Predator-Prey)之间的关系实现的。对一只饥饿的狮子,你很难用其他东西把它的注意力从一群羚羊或角马那儿引开。

登录后才可评论.