我为数不多的儿时记忆主要来自照片、视频和家人口中的故事,但我却清楚地记得去电影院看《2001太空漫游》的事(我当时才12岁)。那家电影院拥有当时风靡一时的超宽屏立体屏幕,这种超宽屏的出现是为了把观众从电视节目中拉出来,让他们走进电影院,但它很快就过气了。这种播放格式需要3台35毫米规格的摄像机同时摄影,并在3块屏幕上同时播放,昂贵的门票让观众望而却步。《2001太空漫游》是用潘那维申超70毫米摄像机拍摄的,是一种更简化的版本。这种拍摄手段只需一台70毫米的摄像机,虽然少了一些炫酷的立体声效果,但仍需要在昂贵的超宽屏影院播放。所以,我们当时在电影院看到的是2.76∶1的屏幕比例,而不是现在普通电影的1.78∶1。
电影一开始是“人类的黎明”部分,早期的人类刚开始学习使用工具,看着屹立在眼前的黑色巨石不知所措。这段情节对于当时还年少的我来说,既漫长又无聊。后来电影中出现了宇宙飞船,我才开始进入剧情。在今天,虽然好莱坞有各种成熟的视觉特效,但再看一遍《2001太空漫游》,我还是会为电影中神奇的视觉图像惊叹不已。要知道,这部电影诞生时还没有计算机合成图像技术,它完全是靠电影特技制作人员的鬼斧神工。空间看起来这么真实,太空中没有一点儿声音(这个细节即使在很多当代的电影里也常被忽略)。在登陆木星的桥段中,通过旋转产生的人工重力环境也非常逼真。
理论上,人工重力环境是一个类似轮子的结构,通过不断旋转产生了人工离心力,所以宇航员的“下”就是轮子向外的方向。影片中的宇航员在轮子的外圈上随意行走,从头朝下到头朝上(从我们的视角看),这一切都是在不借助电脑特效的情况下实现的。在现实中,这个设计并不成立。我们确实可以用这种方法产生加速度,根据爱因斯坦的理论,加速度和重力其实是一回事。很多人都看过这样一种娱乐演出:演员在一个鼓内高速骑行,然后板子被抽走了一些,但人们仍然会紧紧地贴在鼓壁上,就是因为高速旋转产生了引力。但这样的演出会让人头晕。除非圆周轨道非常大,绕一圈超过半分钟,演员的眩晕感才不会特别强烈。为了产生类似地球重力的加速度,圆周轨道需要超过500米(1500英尺),所以《2001太空漫游》里的轨道太小了,但它的原理是正确的。
在当时没有电脑特效的情况下,做出如此逼真的空间转轮实在令人称奇。美国导演斯坦利·库布里克在位于伦敦的博勒姆伍德电影制片厂搭建了巨大的转轮。电影中的演员好像走在静止的人行道上,但事实上,他们始终处于转轮的底部,就像中世纪的人力踏车或者小仓鼠的跑轮。因为摄像机和轮子同步运动,所以从视觉效果上说,周围的环境都是静止的。这个机制有一定的危险性:演员在轮子里遗落的物品可能会随着轮子运动到高空再坠落下来,更严重的则是灯泡被甩飞并发生爆炸。有一次还差点儿酿成了惨剧:一个被甩飞的大扳手只差几英尺就击中人工智能科学家马文·李·明斯基。据明斯基说:“库布里克吓呆了,当时就开除了一名布景人员。”
这部电影里的宇宙飞船和其他科幻电影里粗糙的飞船也不一样。其中,泛美世界航空公司控制火箭发射和空间站,贝尔飞机公司运营视频电话(在想象的未来世界里植入现实的品牌),这样的情节设定非常引人入胜。但最吸引我的是超级计算机Hal,可以和人交流的HAL 9000计算机操控着发现号宇宙飞船(计算机的名字应该是Hal还是HAL备受争议,本书中用HAL 9000表示计算机的型号,用Hal指代计算机)。在那个时候,除了在科技电视节目里,我从未在日常生活中见过计算机,虽然之后没过多久我就拥有了属于自己的计算机。我的这台计算机型号是Digi–Comp I,它不具备像Hal那样的智慧,也没有不会眨的眼睛和冷静的声音。我的计算机只是一台机械设备,它可以通过抽拉一个塑料板来操控。
Digi–Comp I包含3层水平的塑料板。通过在这些塑料板侧面插上一些吸管粗细的销棍,我们可以对这些塑料板进行“编程”。销棍可用于绊住机器侧面一排可水平摆动的垂直长杆。当操作人员反复推拉机器的控制杆时,销棍的有无会决定垂直杆是否摆动。垂直杆的摆动会触发一个二进制的机械显示器进行0或1的显示切换。就这样,通过巧妙安排销棍的位置,你可以在Digi–Comp上编程,让它执行“与”“或”“非”这样的逻辑运算。这是为超级极客设计的玩具,但要把它和HAL 9000联系在一起,还需要很多想象力。
虽然那时的我听说过泛美世界航空公司和贝尔飞机公司,但我并不知道20世纪60年代的计算机巨头IBM,也没有把电影中的计算机和生活中的IT(信息与科技)公司联系起来。库布里克指出,HAL 9000和IBM 7000计算机类似;IBM 7000于20世纪60年代面世,是第一种使用晶体管的计算机。另外,按照字母表,HAL的每个字母后面的字母组合起来就是IBM。作为剧本的主要创作人员,作家阿瑟·克拉克和导演斯坦利·库布里克都否认这是故意的安排,但其他人都觉得凭空想出HAL的概率实在太低,IBM和HAL肯定脱不了干系。还有一种说法是,HAL是“启发式编程算法计算机”(Heuristically programmed ALgorithmic computer)的首字母缩写,但其实这个词缩写成HAC或HPA更合适。
克拉克特别声明说:“我为这件事感到无比尴尬,我觉得IBM公司也深受其扰,虽然IBM在电影的制作过程中给予库布里克很多帮助。”克拉克也承认,随便挑选3个字母并组合在一起有17 576种不同的可能性,随便为计算机取名为HAL确实不能让人信服。事实上,他并没有仔细考虑这个概率,因为随便取3个字母产生的组合有17 576(26×26×26)种,这个数字太大了。世界上有很多其他类似IBM的名字,比如JCN(按照字母表,取HAL中每个字母的前一个字母)、IBC或者JBM。事实上,如果想让计算机的名字听起来更像人名,那么3个字母的人名真的太少了,比如吉姆(JIM)、麦克(MAC)、萨尔(SAL)、萨姆(SAM)、汤姆(TOM)。所以,HAL也许就只是作者灵光一现想出来的名字而已。
就像很多科幻作品中对未来的描写一样,Hal在某些方面过于高级,而在另一些方面却非常落后。虽然这部电影中的科技现在看来仍然颇具未来感,但这些技术的设计师(可能就来自IBM)并没能准确预测计算机成像技术的发展。月球飞船的飞行甲板上的导航设备,还有Hal和宇航员弗兰克·普尔玩国际象棋的屏幕,都很像20世纪80年代早期家用电脑呈现的样子。
从另一个方面看,Hal展现的人工智能远超2015年的技术,它可以像人一样做出回应,而且这个故事发生在2001年。Hal甚至可以表达复杂的情绪,事实上,电影中的这台计算机比其他任何角色都更情绪化。1997年,人工智能先驱马文·明斯基在一次采访中对Hal做出评价,他说类似技术“在4—400年里会成为现实”。这个陈述非常朴实,也是对未来科技的发展做出的比较正确的预测,即使他提到的最短时间有点儿过于乐观了。
IBM的研究员——“深蓝”团队成员默里·坎贝尔检测过HAL 9000的思考能力。“深蓝”是一台IBM制造的最早的会下国际象棋的超级计算机。这个系列最早被命名为“深思”,和《银河系漫游指南》中的超级计算机同名。“深蓝”于1995年面世,两年后,升级版的“深蓝”在一个6局的比赛中战胜了国际象棋世界冠军加里·卡斯帕罗夫(一年前,“深蓝”只赢了他一局,但输掉了整场比赛)。就像电影中的情节,Hal和宇航员弗兰克·普尔也玩国际象棋。出于某种原因,人们在相关技术还无法实现时就有对机械象棋手的憧憬。早在18世纪60年代,一个举世闻名的科幻设备面世,它就是匈牙利男爵沃尔夫冈·冯·肯佩伦设计制造的土耳其行棋傀儡。
这个复杂的自动化设备包括一个国际象棋棋盘,和一个与之相连的穿着华服的人偶。人偶会接受人类象棋手的挑战,并在多数情况下取胜。这个机械的土耳其行棋傀儡比肯佩伦还“长寿”,并在大西洋另一边的美国大放异彩。土耳其行棋傀儡的一生跌宕起伏,在世界上存在了80年。那时候的科技水平是不足以实现这么复杂的智能系统的,所以这个设备里面肯定还有其他机关,后来被证实确实如此。土耳其行棋傀儡里面有个小隔间,一名小个子的象棋大师藏在里面,通过一系列的控制杆,操控行棋傀儡下棋。
最早的有关自动化下棋设备的可行理论分别来自于现代计算机科学鼻祖查尔斯·巴比奇和艾伦·图灵。巴比奇设计了一个可以用来下棋的机械化、可编程的电脑“解析机”,但这个设备从未被制造出来;图灵编写了简单的下棋程序,但这个程序也从没有在计算机上运行过。20世纪50年代,信息理论家克劳德·香农提出了更多的想法。香农利用数学家约翰·冯·诺伊曼的极小化极大原理,为不同的走法赋予一系列不同的值,然后计算出最佳策略。香农从未编写出可行的程序,但在拍摄《2001太空漫游》时,大型计算机上已经出现了非常粗糙的下棋程序。随后在1973年,戴维·斯莱特和拉里·阿特金编出了“国际象棋4.0”,这是第一个可以在计算机上执行的、行之有效的象棋下棋程序,而且可以击败大多数普通棋手。
现在的计算机当然可以击败象棋大师,从“深蓝”击败加里·卡斯帕罗夫起,这一点就毋庸置疑。智能手机上的普通象棋软件也能轻松击败普通棋手,但是“深蓝”专家坎贝尔指出了一个阿瑟·克拉克和斯坦利·库布里克不太可能想到的Hal和弗兰克·普尔对弈的细节,那就是人类棋手和计算机会用迥然不同的方式下棋。人类棋手在对弈中展现出一种智慧:人类可以把规则、策略和经验整合在一起,在此基础上考虑接下来的走法,这种整体分析能力是计算机所不具备的。
相较之下,类似于“深蓝”的高水平计算机并没有真正意义上的智慧,计算机做的只是在短时间内得出上亿种不同的走法,为不同的走法赋值,然后考虑哪种走法最优。“深蓝”并不“理解”象棋,也不理解“兵”是什么,或者哪些才算妙招,“深蓝”只会给出后续的可能走法,并通过赋值权衡这些走法的优劣。如果计算机真的可以考虑到所有可能的结果,它看起来也许是不可战胜的。但事实上,这是不可能的,因为象棋棋子所有位置的组合数量可能比宇宙中所有原子的数量还要多。
通过研究电影中30秒左右的象棋对弈片段,像坎贝尔这样的专家可以看出来Hal是哪种类型的棋手——像人还是像计算机。答案是,它的思维方式更像人类,这显然可以使它轻松击败普尔。一台性能普通的个人电脑上现成的象棋软件也可以轻松做到这一点,并不需要真正的人工智能。然而,电影中的Hal还展示了类似人类的行为。导演库布里克用了1913年在德国汉堡真实发生过的棋局,原因在于,作为象棋爱好者的库布里克想让棋局更加真实。
尽管坎贝尔这样认为,但电影中Hal的下棋方式并不能证明它有真正的人工智能。从理论上说,这样的下棋方式可以由事先输入了上千棋谱的“深蓝”或者其他大师级的象棋软件实现。虽然某盘棋也许不在“深蓝”的数据库中,但Hal完全有可能有1913年的那局棋的相关信息,并在开局的时候利用了棋谱的走法(如果Hal连上网络就更有可能了,然而编剧克拉克和库布里克在那时绝不可能想到这一点)。但是,普尔不会按照1913年失败一方的走法一直走下去,而且在真实情况下,棋局肯定会有所改变,但最后的结果有可能不变。
简单地再现已经发生过的棋局并不实际,而且这也不是“深蓝”或者其他会下象棋的计算机的目标。坎贝尔指出,程序往往会认定它们的对手也会用最佳走法。可是类似的游戏也包含陷阱圈套,也就是说,普尔也许会故意选择非最佳走法。类似的陷阱走法对计算机来说很陌生,正因如此,坎贝尔说Hal是在用真正的智慧下棋,或者相比典型的象棋程序,Hal会更多地利用已有的棋谱。
虽然下象棋确实证明了Hal的智能,但下棋并不算是多功能计算机的一个重要功能。下象棋或许能愉悦身心,但它并不能让飞船持续飞行,也不能让船员保持健康。Hal的另一个令人印象深刻的类似人类的能力是口齿清晰的谈吐。在电影中,让配音演员读出Hal的台词固然不难;但在现实中,让机器有能力进行有意义的谈话交流何其困难。在制作电影《2001太空漫游》的20世纪60年代,我们对机器能进行智能谈话的预测太过乐观。
这里面有两个大的技术难关和一个小的技术难关,其中小的难关是让Hal流利地谈话。机器人式的讲话方式已经成为物理教授和媒体宠儿斯蒂芬·霍金的标志性声音,虽然现在的语音系统日新月异,但霍金还是沿用了这个有高度识别性的系统。尽管声音生成器和人类声音的区别仍然比较明显,但现在的声音生成系统完全可以清晰流畅地阅读几乎所有文本。
我在使用车载导航仪的时候就切身感受到了这项技术的发展。第一代系统基本上是按音节发音,第二代就好多了,但不能准确念出比较复杂的类似“赛伦塞斯特”的地名,还会把名为11A的路口念成“十一啊”。现在的第三代系统可以轻松准确地念出所有地名,而且发音与真人无异。另外,虽然《星际迷航》和《2001太空漫游》几乎是同一时间拍摄的,但是《星际迷航》里的计算机语音系统比Hal要生硬得多,即便《星际迷航》描绘的是2251年左右发生的事情。在真实的世界中,刚进入21世纪,GPS语音系统就足以和真人发声相媲美了。
人类对无生命物体能说话的幻想可以追溯到荷马的年代,那是中世纪最有名的谣言之一——会说话的铜人头像。铜人头像的所有者是早期的一些科学家,包括10世纪法国教皇西尔维思特二世,13世纪巴伐利亚的大阿尔伯特,和英国的罗杰·培根,他们在当时常被视为有法力的魔术师。事实上,罗杰·培根对故弄玄虚的魔术师深恶痛绝,更倾向于从科学的角度观察世界。在他死后,他的事迹一度被神化。在16世纪,他的奇闻逸事被写成故事公布于世,即《著名修士培根的历史》(The Famous Historie of Fryer Bacon)。这本书中提到了培根建造铜人头像的想法:
修士培根了解了英国被侵略数次的历史后,开始思考如何能保卫英国在未来不受侵略,并让自己因此永垂青史。在搜集和阅读了大量资料后,他认为保家卫国的最好办法就是制造会说话的铜人头像,保护英格兰的城墙。
在真实世界中实现类似的想法需要一些时间。想起来容易,但是做起来就难多了。有历史记载的最早的会说话的机器出现于1779年。一个名叫克拉施泰因的人制造了一台复杂的机器,向这台机器中吹入空气,经过类似于人类喉咙的机械结构,它就会发出类似元音的声音。12年后,设计制造土耳其行棋傀儡的沃尔夫冈·冯·肯佩伦设计出会说话的乐器。这个乐器也是利用了共振结构,可以通过手动操作让其发出元音或者辅音。这和网络视频中主人用手扒着“会说话”的狗的下巴,让狗发出“sausages”(香肠)的声音没有太大差异,肯佩伦的机器也能清晰地“说”出单词。
在整个19世纪和20世纪初期,改进版本的声音生成器不断推陈出新。最成功的例子是贝尔实验室于20世纪20年代推出的声码器。声码器可以用来给信息加密,或者把普通的语音压缩为特定频宽的格式。但是声码器的设计过于复杂,并没有得到实际的应用。
计算机除了发出声音以外还有其他潜力。在信息技术的历史上,让计算机发出声音是非常原始的想法。计算机科学家艾伦·图灵在曼彻斯特大学的计算机上首次用程序生成音乐。那台计算机连接着一个扩音器,当计算机出错的时候,一声警报会随之响起。图灵意识到,他可以对这个功能进行编程,让它产生微弱的嘀嘀声。如果一秒钟内的播放频率可以达到1 000次,嘀嘀声的不同频率就会产生不同的音调。虽然这项技术常被误认为是贝尔实验室于1957年发明的,但是第一段由计算机生成的音乐的确是出现于1950年曼彻斯特大学的“自动计算机”(ACE)上,由图灵手动编程实现的(图灵只是想用不同的音调表达不同的反馈信息)。
虽然在拍摄《2001太空漫游》电影的时候,已经有很多关于语音系统的理论,但却没有太多关于如何生成合成语音的研究。20世纪70年代以后,计算机越来越便宜,计算机语音系统的商业潜力也随之越来越大。从20世纪70年代英国物理学家斯蒂芬·霍金使用的声音生成系统到当代更加先进的语音系统,电子发声技术与时俱进。但要想让计算机像Hal一样与人交谈(电影中的Hal毕竟是由真人配音),我们还有很长的路要走。
语音合成技术固然重要,但让计算机按照声音指令做出反应在技术上更困难。我们已经实现了一些技术突破。毕竟,手机上安装的导航系统清晰易懂,语音助手Siri也能按照我们的语音命令做事。但是,手机并没有Hal那么复杂的结构,也没有Hal储存和处理大数据的能力。
仔细想想,Siri的交流能力其实非常有限,虽然Siri的设计者设计了一些有趣的问答。当我对着手机说“把舱门打开,Hal”(电影中,说这句话的宇航员戴夫·鲍曼直面Hal,穿着太空服但是没戴头盔)时,Siri的回答呼应了电影的场景:“没戴头盔的话,我开门你会……喘不上气的。”当我让Siri像影片结尾的Hal那样唱“黛西,黛西”时,Siri说:“你不会喜欢的。”
制定时间表、在网上查信息、导航、放音乐,诸如此类的功能让Siri更像一个电子秘书。Siri并不能真正和人对话,它不理解词语背后的真正含义,也不理解音调不同会产生不同的意思。虽然Siri的语音识别能力很强,但有时候它也会遇到困难。Siri不能很好地识别不标准的口音,现在的语音识别系统都不太能有效地识别英国格拉斯哥或者美国缅因等地区的口音。语音识别系统还必须有能力处理我们在平常说话时下意识使用的俚语和连音。
这并不是说,机器不可能理解人类的语言。下面这句话是我利用苹果电脑的内置语音系统录入的:“the factors as you can see it can slip up(就像你看到的这些因素,语音识别系统并不总是有效)。”但我实际上说的是:“But the fact is, as you can see, it can slip up(事实上,就像你看到的,语音识别系统并不总是有效)。”类似于“但是”一类的转折词会把一句话一分为二,然而,“fact is”(事实上)和“factors”(因素)在英式英语中的发音非常相似。现今的计算机语音识别系统可以达到99%的准确率,尽管如此,相较于人类,计算机在语音识别方面还是很容易出错。优化语音识别的方式之一是,让软件识别某个人的发音技巧。
计算机面对的一个问题是,无法理解上下文。我们在听某个人说话的时候,会习惯性地把某个词语放在整个对话的背景中去思考它的意思。有些同音字必须得借助上下文才能准确理解意思。这一点在跨语言互译方面尤其重要。如果我对着计算机阅读文字,那么我一眼看过去就能发现同音字错误;但如果我只是在听自动翻译机器的翻译,那么我不可能知道哪儿出错了。科幻作品中常常出现这样的翻译机器,比如《神秘博士》中由塔迪斯发明的宇宙通用的心电转换器。翻译必将成为计算机语言能力的重要方面。
Hal绝不是一个译者,但我完全相信它有翻译的能力。手机上的谷歌翻译可以或多或少地完成信息分析的工作。我对着手机说:“最近的超市在哪儿?”手机屏幕上准确地出现了这句话,或者手机会大声复述我的问题。这一切都让我清楚地知道,我会得到我想要的答案。也许这句话并不算日常用语,可是手机知道我想问什么。对话肯定更加复杂,在对话的背景下,谷歌翻译就不那么可信了。在联合国大会上,现在还不能只靠机器翻译推进多方会谈。
包括加拿大发明家亚历山大·格雷厄姆·贝尔在内的很多人都尝试过用机械的方法分解语音(当然,罗杰·培根的铜人头像之类的东西应该不仅能分解语音,还能理解语义),计算机的出现让这一切成为现实。1952年,贝尔实验室制造出第一台语音识别器。好消息是,这台识别器的准确率可以达到97%;坏消息是,这台机器只能识别数字。这个问题在日常生活中的电话自动答复系统中也颇为常见,并广受诟病。
20世纪90年代末期,语音识别专家雷·库兹韦尔论述了Hal的能力,并称有望在2001年前在个人电脑上实现语音操作功能。但是,这样的语音操作系统并没有得到普及。库兹韦尔的计划比他预想的慢得多,甚至可能永远不会实现。虽然苹果台式机上自带的语音操作系统很好用,但我却不经常使用。很多用苹果电脑的人甚至不知道自己的电脑里有语音操作系统。
这是因为语音识别的先驱者过于关注分解语音,而忽略了这项技术也要有些实际的用途。我们当然可以问电脑,“我明天的时间安排是什么”,但如果你的身体没有不便,打字肯定比对着电脑说话更简单。对于我们中的大多数人来说,电脑的语音操作功能不是一个自然的过程,因为电脑不像人类的秘书那样灵活机动、随机应变,我们也不会自然地说出完整、缜密的可行性命令。
如果软件不仅可以把声音转换成文字,还可以有效理解文意,情况就不一样了。理解文意从技术上来说非常难。Hal听到声音后,可以解析其中的含义,并做出相应的回复或者执行指令。现在常见的车载语音系统则常常会错意,因此成为喜剧里常见的笑料。在没有干扰的情况下对着电话的麦克风清楚地提出问题是一回事,边开车边在嘈杂的环境中对着车载语音系统说出指令又是另外一回事。在通常的对话环境中,中途打断最简单的语句也可能会造成误解。
一个能真正理解语句的计算机必定有很多用处。在20世纪80年代,由百事公司前总裁约翰·斯卡利领导的苹果公司常被批评,直到史蒂夫·乔布斯回归掌舵,苹果公司才重拾创造力。但是,在斯卡利仍在位的1987年,苹果公司在某段视频短片中提出了“知识领航员”的模糊概念。“知识领航员”是一个个人电子助理,但是和Siri不同,“知识领航员”可以理解复杂的命令,比如“让我看看上学期的笔记”,或者搜索某篇论文,甚至是某个朋友刚发表的一篇相关文章。短片中展现的一些其他功能,比如复述行程安排,确实有些过时了,但是“知识领航员”展示出了解析语义并据此行动的能力。
Hal比“知识领航员”的行动力更强。Hal在日常交谈中和真正的人类无异。在日常交谈中,语境远比遣词造句重要。在过去的几十年中,让计算机语音系统十分困惑的句子是“Fruit flies like an apple”。对这句话进行语音识别并不难,我是用苹果电脑自带的语音系统录入这句话的。但这句话到底是什么意思呢?不考虑语境将很难说清楚。你可以理解为“果蝇喜欢苹果”,也可以理解为“水果能像苹果一样飞”。
这种特殊的句子不会经常出现在对话中,然而毋庸置疑,让计算机仅通过对话去理解人们想表达的意思有一定困难。计算机科学家艾伦·图灵提出了判断机器是否具有智能的测试方法。机器和测试者分处两个房间,测试者通过提出问题来判断位于另一个房间里的是人还是机器。(图灵最早提出的测试方法更加复杂,以上是简化的做法。)在之后的几十年里,计算机科学家尝试挑战所谓的“图灵测试”,计算机通过图灵测试的报道屡见不鲜。事实上,计算机从未通过图灵测试,这可能还需要10—20年的时间才能实现。
虽然电影中的Hal肯定可以通过图灵测试(但电影中少言寡语的宇航员戴夫是否可以通过图灵测试就不好说了),但是现有的图灵测试的结构决定了它的可信度并不高。现有的图灵测试并不能检测图灵当年提出的计算机类似人类的交流能力。图灵测试的常用流程是,机器和测试者完成一段5分钟的谈话,如果机器在超过30%的时间里被错认为人类,就意味着机器“通过”了图灵测试。因此,许多软件并不是为了实现和人类的交流而设计的,它们只是为了通过测试。
聊天机器人的鼻祖之一是名为“伊莉莎”的软件。《2001太空漫游》上映不到两年,伊莉莎面世。它的程序很短,但却可以进行还算合理(有时也让人着急上火)的对话。这个程序取巧的办法在于,它扮演的是心理医生的角色,所以它会复述你对它说的话,但它不提供新的信息,也不回答你的问题。考虑到伊莉莎只有不到400行程序代码,它的功能已经足以让人啧啧称奇了。
类似的项目进展迅速。(这并不出人意料,在我写作本书时,伊莉莎已经出现将近50年了。)2014年,一个叫作“尤金·戈斯特曼”的程序假扮为一个英语非母语的13岁乌克兰小男孩,通过了图灵测试。但我没能找到戈斯特曼聊天程序,于是我和另一个技术领先的聊天程序Cleverbot有了如下的对话:
布赖恩(本书作者):喂,你好吗?
Cleverbot:我很好,你呢?
布赖恩:就那样,天气实在太热了。
Cleverbot:你为什么不喜欢热呢?
布赖恩:因为它让我觉得不舒服。
Cleverbot:这个理由太逊了!
布赖恩:为什么这么说?
Cleverbot:我几岁了?
布赖恩:我怎么知道?
Cleverbot:因为你是我的电话!
布赖恩:你怎么看叙利亚的情况?
Cleverbot:什么情况?
布赖恩:你不看新闻吗?
Cleverbot:我没有电视。
在谈话即将结束的时候,Cleverbot用了一个经典的逃避对话的办法,而一个真实存在的人不太可能通过否定信息的来源来终止可能出现的话题,这表明Cleverbot肯定不是一个真人。
在我写作本书的时候,即便没有电视,任何人也肯定会或多或少地对发生在叙利亚的事情有所耳闻,叙利亚战争是各类新闻的焦点。但上述对话展现了聊天机器人惯用的交谈模式,几乎立刻暴露出它不是真人的事实。对“为什么”这个问题,聊天机器人做出了无厘头的回答;在我反问它我怎么会知道它的年纪的时候,它更是答非所问。其实聊天机器人很容易在谈话中暴露自己的身份,而许多专家竟然会以为这些程序是真实的人,这让我难以相信。我从来没有和聊天机器人进行过超过5分钟的谈话,每次谈话都以机器人用以上交谈模式暴露自己的机器身份而告终。
当然,Hal的交流技巧比聊天机器人强太多了。Hal不仅可以通过图灵测试,还可以进行如真人般的交谈。Hal的讲话方式让我们感觉它是拥有智慧的——人工智能,这种智慧和人类的智慧非常相似。在现实生活中要想实现类似Hal的人工智能,我们还面临着很大的挑战。自从20世纪80年代起,实现人工智能主要通过两种方法:其一是专家系统,其二是神经网络。(当然,除此之外还有很多其他的方法,但是这两种方法是人们试图赋予计算机智慧的典型方法。)
专家系统巧取豪夺人类苦心掌握的技术和知识。(如你所料,采用这种方法的公司肯定不会据实以告,并且会精心包装它们的产品。)首先是知识引导的过程,也就是向各个领域的专家提出大量的系统问题,目的是把多个专家在各个领域的知识整合起来,建立一个强大的数据库。然后这个数据库就可以代替专家,全天24小时为客户提供专业信息。现在看这个方法,很难相信有人真的认为它可以有效代替真正的专业知识。
这种方法的问题显而易见,首先是专家配合度的问题。“如何煮鸡蛋”这样的简单问题可以用简洁、准确、全面的信息回答。在设计初期,很可能就是用这种问题测试所谓的知识引导过程的。但如果对医生或者火箭专家进行类似的“知识引导”,问题就会接踵而至。即便是配合度高的专家也会为解释行业内的默认基础知识而苦恼,更实际的问题是,即使专家有能力解释清楚所有细节,他们又为什么要这么做呢?专家系统的提倡者称,这个系统可以把专家从循规蹈矩的无聊工作中解放出来,让专家们可以把更多的时间花在有挑战性的、有趣的工作上。但是,专家们大多对这些据说可以替代他们的机器持怀疑态度,认为机器的“回答”肯定不是最佳的。
专业技术无疑非常复杂,知识的本质绝不只是信息和思路。知识包含反馈的过程,即把之前的知识和技术融会贯通。知识还包含一定的创造力,复杂的信息网、新信息带来的灵感、信息间的关系都使提取和整合信息变得无比困难。信息之间错综复杂的关系也很难被有效地利用。
虽然问题很多,但专家系统并未绝迹,它们最终被专门用于处理一些复杂版的“如何煮鸡蛋”的问题。现在你很可能只能在机器回复的电话中心和诊断计算机故障的程序中见到专家系统,这让全世界的专家们都松了一口气。一个基于专家系统的HAL 9000永远也不可能取代专家,因为他们的专业知识不可能被提取和整合到一个数据库中。
专家系统试图让知识形成逻辑层次,但众所周知,人类的大脑和传统的数据库非常不同。所以,人工智能的另一种实现方法——神经网络有更持久的价值。神经网络的设计者模拟神经系统在大脑中的功能,而不是让计算机整合一系列的规则。在神经网络的需求输入端和结果输出端,遍布着一系列的虚拟神经元。这些虚拟神经元有点儿像一座复杂的迷宫里的各种各样的通道。计算机一次可以走完所有通道,不同的通道有不同的权重,从而对最终决策产生或多或少的影响。
一开始,这些权重要么完全相同,要么是设计者确定的值。神经网络和生物的相似之处是,神经网络可以从“错误”中学习。如果在学习的过程中,人工智能程序做出了不合理的决定,那么它会自动更新与之相关的权重。一段时间之后,神经网络就会达到一个能给出正确答案的水平。简而言之,神经网络通过反馈优化输出。
毫不意外的是,现有的神经网络远比不上人类的大脑。大脑包含约1 000亿个神经元,每时每刻都有1 000万亿个节点把这些神经元连接在一起,而普通的神经网络只有几百或几千个类似的“节点”。人类大脑中的神经元可以和数千个其他神经元相连,但是神经网络中的节点只能和几个其他节点相连。神经网络的规模完全不能和人类大脑相提并论,所以神经网络只能应用于小范围的、有局限性的人工智能领域,通过学习过程获得信息。神经网络常被用于传统编程力不能及的领域,比如模式识别。
现在人们已经达成共识(不是在20世纪60年代),让计算机拥有Hal的智力不能只靠单纯基于规则的系统,类似神经网络的方法肯定要用到,但还需要一些其他思路和方法。在电影的结尾,Hal变成了一个孩童的样子,这意味着Hal还要经历一系列的学习过程。其实只要一台HAL 9000完整地实现学习过程,其他计算机就可以复制HAL 9000的智能,但Hal的内心独白表明编剧并没有这个计划。
“计算机能否拥有智能甚至意识”,或者它们能否不断地提升模拟人类智能的水平,就像象棋程序学习下象棋,依然颇具争议性。这一系列的问题更像哲学问题,也给予了人工智能领域的科学家以无限启发。我们目前还没有确切的答案。有人说,Hal拥有的并不是真正的智能,至少在定义上不是。Hal展示的反而是缺少智慧的行为,比如Hal信誓旦旦地说,“9000系列计算机不会出错”。严格来说,任何有血有肉或者机械的个体,都需要从错误中学习,这样才能收获智慧。
Hal自称完美确实是个问题。学习的第一步是犯错,犯错也是像Hal之类的计算机获得智能的必经之路。获得智能的过程必然伴随着犯错的过程,但这种智能不是传统的数学计算。在数学计算方面,人类可能犯错,计算机却不会,即便是老式计算器也几乎不会在数学计算上出错。但是,在做出决定和进行交流的过程中,错误是不可避免的,因为智能设备只能基于不完备的信息做出判断。只有在充分且完备的信息的帮助下,Hal声称自己不会出错才有可能成立;在现实世界中,自称完人则是愚蠢的表现。
正因为如此,Hal的杀人行为不只是不理智的,更是它缺少智慧的表现。在电影中,Hal必须执行命令,实施秘密行动。Hal因此饱受折磨,压力无从释放,以至于为了解决这个问题,Hal杀死了其他宇航员。但是,杀人并不是Hal严格执行命令的最佳方法。Hal缺少权衡利弊的智慧,这对于计算机程序来说并不难。
科幻作品不仅会像《2001太空漫游》电影里演的那样让计算机全权操控一艘宇宙飞船,有时候还会让计算机操控整个社会。计算机像个电子独裁者,试图构建一个德尔斐风格的政府。在詹姆斯·布莱什的《宇宙都市》系列作品中,宇宙都市远离地球,整座城市位于太空中,由叫作“市政议员”的计算机管控。作品对于这些计算机的描述有点儿滑稽。“市政议员”的概念比较落伍,它们是些大型的金属盒子,需要行驶在轨道上,并且通过物理连接才能交换、整合信息。它们之间没有网络,但却成功实现了一种良性独裁。
虽然每个城市都由人类市长管理,但这些“市政议员”计算机将判定人类市长是否尽职尽责。如果人类市长玩忽职守,“市政议员”计算机就可以简单地处决或者流放这名市长。布莱什试图制造一种联合效果,利用计算机刚正不阿、诚实正直的本性来确保政治体系的平衡。与此相反的是德尔斐体系,这个体系在约翰·布伦纳的作品、介绍当代信息技术概念的小说《冲击波骑士》(The Shockwave Rider)中被描绘得淋漓尽致。布伦纳利用计算机快速传递信息、进行数据处理的特性改变了民主的本质。政府更像网络投票和赌场的结合体,它会整合大众的反应,并对投注赔率进行考量。
这本书的名字借鉴了阿尔文·托夫勒于1970年出版的《未来的冲击》(Future Shock)。众所周知,虽然托夫勒的理论被证明是错误的,但是他的理论曾轰动一时,并且深深影响了一批科幻作家。他的理论正是基于20世纪50年代由兰德公司提出的德尔斐体系。在原始的德尔斐体系中,一群个体单独地做出决定或者给出答案。个体的意见被整合后,其结果会反馈给所有个体,让其有机会改变自己的意见。有证据显示,这个过程似乎比只听从某个人的决定要合理一些。
受到托夫勒的影响,布伦纳在书中提出政府可以利用德尔斐体系。政府的立法机关可以由所有人共同参与,而不是让几百个代表做出决定。人们的想法可以通过网络以一种类似打赌下注的方式反馈回来。经过德尔斐体系反复几次的问政咨询,人们(理论上)将会做出最佳决定。虽然人类个体有一定的智慧,但是真正实现德尔斐体系还需要有计算机网络,网络收集人们的想法并做出反馈。通过在体系中引入计算机,终极民主得以实现。其前提是,整个体系是保密的,并且系统程序编写合理。这个过程产生的民主可能不是我们想要的民主,但这又是另外一个问题了。当代的电子通信技术让我们可以很好地思考民主和暴民统治的区别。
计算机并不会统治整个世界,但是毋庸置疑,在过去的若干年里,计算机悄无声息地彻底改变了我们的生活方式。基于计算机的网络改变了我们的娱乐、购物和社交方式。计算机成为我们和世界接触的媒介,我们使用口袋计算机(也就是智能手机)进行导航、觅食、付款、沟通和娱乐等活动。计算机深刻影响着我们的日常生活。
一个简单的例子就是本书的写作过程。我从来没见过距我3 500英里的本书英文版的编辑。我用家里的电脑写出了这本书,上传云服务器做备份,这个服务器可能位于世界的任意角落。探讨与本书内容相关的文档和电子邮件翻越了千山万水。而且,越来越多的人都开始阅读电子书,你现在正在阅读的这本书,也许是经过无数电子形式,从我的电脑最终到达你的平板电脑或者电子阅读器上。
科幻作品让我们看到了不同版本的未来,有些基于计算机,有些与计算机无关。这也是科幻作品的迷人之处,探索让人感到惊心动魄的各种各样的可能性。我们并不局限于已知的事物,也不局限于我们认为有可能出现的事物;我们可以尽情探索“如果……会怎样”这个问题,继续在科幻书籍、电视节目、电影中探讨这个问题……新鲜的科技层出不穷,那么,未来的科幻作品中会有些什么?