1.4 从“计算”到“智能”的梦想与现实

如图1-6所示,计算机发展至今的历程其实并不符合当年科学家们的渴望与初衷。人们当初的设想其实要比图1-6梦幻得多。

现代电子数字计算机的出现,使得人类第一次有了功能足够强大并且可以通过基本计算而灵活介入人的智力活动的辅助与延伸智能的工具。辅助与延伸智能与具有智能之间并没有清晰的分界。辅助与延伸智能,必然也要完成一些原本只能由人脑才能完成的“智能”层面的工作,所以这些工作当然可以被称为智能活动。这样,计算机被称为具有“智能”,也并非是夸大其词。

但是真正的问题在于,人类的智能活动是极为复杂、极其多样性的。计算机在理论上能够完成人类的哪些智能活动,既取决于计算机自身的本质与局限,也取决于人类各种智能活动的特质。

从20世纪50年代起,人们被计算机能够完成的计算类智能活动所鼓舞,将巨大的热情和资源投入到让计算机全面具有人的智能的努力之中。这个努力一直持续到20世纪90年代发生的一个重要的转折:产业放弃了对智能的追求,走向了无止境地提升计算机处理能力这条路上来。

在这个过程中,人们真正关注的焦点不是像近二三十年来这样不断努力地让计算机越算越快,而是如何让计算机拥有与人一样的“真正的智能”。这种“真正的智能”显然并不完全与“算”的快慢有关。所以,当时的设想是未来的计算机将拥有与人一样的智能,而不是看谁的超级计算机运算的速度更快。

显然,当初设想的路并没有走通。今天“人工智能”所采用的基本方法,与当年的设想已经有了本质的区别,这个问题会在本书的第8章第8.2节中讲述。在当年学者们让计算机拥有智能的努力过程中,有几个标志性的事件。

1.“人工智能”的正式诞生及学者们的乐观预言

1956年夏,在美国达特茅斯学院(Dartmouth College)举行的一个持续两个月的讨论会上正式确立了“人工智能”这一研究领域。John McCarthy(1927—2011,计算机科学家,LISP(LISt Processor,表处理语言)语言发明人,达特茅斯学院/麻省理工学院/斯坦福大学任职)提出的“人工智能”(Artificial Intelligence,AI)一词被正式确立为这个领域的学术名称。会议的参加者包括了数学家,神经生理学家,心理学家,计算机专家等。在接下来的数十年间,他们几乎都是AI研究的领军人物。他们中有许多人预言,经过一代人的努力,与人类具有同等智能水平的机器将会出现。同时,大量的投资被投入到AI研究中以期实现这一目标。

当时大家的乐观情绪从下面的预言中可以充分地体现出来。

1958年,H.A.Simon(1916—2001,心理学家,1978年获诺贝尔经济学奖,卡耐基梅隆大学任职),Allen Newell(1927—1992,计算机科学家,兰德公司/卡耐基梅隆大学任职):“十年之内,数字计算机将成为国际象棋世界冠军。”“十年之内,数字计算机将发现并证明一个重要的数学定理。”

1965年,H.A.Simon:“二十年内,机器将能完成人能做到的一切工作。”

1967年,Marvin Minsky(1927—2016,认知科学家,麻省理工学院AI实验室任职):“一代之内……创造‘人工智能’的问题将获得实质上的解决。”

1970年,Marvin Minsky:“在三到八年的时间里,我们将得到一台具有人类平均智能的机器。”

最终,这些学者们发现自己大大低估了这一工作的难度。由于James Lighthill爵士(1924—1998,数学/空气动力学家)的批评和国会方面的压力,英国和美国政府于1973年停止向没有明确目标的人工智能研究项目拨款。七年之后,受到日本政府第五代计算机研究规划的刺激,美国政府和企业再次在AI领域投入数十亿研究经费,但这些投资者在20世纪80年代末重新撤回了投资。AI研究领域诸如此类的高潮和低谷不断交替出现,直至20世纪90年代以后进入所谓的AI冬天。但到了2010年左右,人工智能再次“复兴”。

2.日本的第五代计算机计划及其引发的狂想

日本经过战后的恢复,在20世纪80年代前后进入了一个黄金时期,经济实力与科技实力都走到了世界的前列,先后启动了包括智能计算机——第五代计算机在内的一系列前沿技术研究项目。东京大学计算机中心主任元岡達(1929—1985,计算机科学家,东京大学任职)受日本通产省委托,在1981年完成了《知识信息处理系统的挑战:第五代计算机系统初步报告》。1981年10月,日本通产省启动第五代计算机计划。政府与企业总计投入约8亿多美元支持第五代计算机项目(见图1-7)。

图1-7 日本第五代计算机

之所以称之为第五代计算机,是因为日本把用电子管、晶体管、集成电路和大规模集成电路制造的计算机,分别称为前四代计算机。日本第五代计算机计划的目标是造出能够与人对话、翻译语言、解释图像,并且能够像人一样进行推理思考的机器。日本通产省组织富士通、NEC、日立、东芝、松下、夏普等8家著名企业配合渕一博(1936—2006,计算机科学家,东京大学任职)所领导的日本“新一代计算机技术研究所”(ICOT)共同开发第五代机,可谓倾全国之力。第五代计算机计划10年完成,分为三个阶段实施。计算机采用面向人工智能知识推理的Prolog语言,并准备打破冯·诺依曼结构。他们当时乐观地认为,在20世纪50年代以来人工智能领域的各种进展的基础上,奋斗十年就能够达到他们制定的目标。

爱德华·费根鲍姆(1936—,人工智能科学家,1994年获图灵奖,斯坦福大学计算机系任职)在1981年参加了日本信息处理开发中心(JIPDEC)召开的第一届第五代计算机会议,并于1984年出版了《第五代:人工智能和日本计算机对世界的挑战》(The 5th Generation:AI and Japan's Computer Challenge to the World)。该书让日本第五代计算机项目成为世界关注的焦点。当时有人宣称,哪个国家首先造出第五代计算机,哪个国家就会在这类计算机的帮助下获得别人所无法具有的科技发展动力,取得科技领域的绝对优势地位,迅速摆脱其他国家的追赶,在国家发展的道路上单骑绝尘,其他国家只能望洋兴叹。该预测的前提就是第五代计算机将具有与人一样的智能,而且它还可以不吃不喝地昼夜持续工作。如果这个目标真的能实现,那么今天的信息技术将会完全是另外一个样子,社会上也根本就不会存在如此多的程序员了。

因此在日本发布第五代计算机计划之后,其他国家纷纷作出响应。英国开始了耗资3.5亿英镑的Alvey工程。美国一个企业协会组织了MCC(Micro-electronics and Computer Technology Corporation,微电子与计算机技术集团),向AI和信息技术的大规模项目提供资助。美国国防部先进研究项目局(DARPA)也行动起来,组织了战略计算促进会(Strategic Computing Initiative),其在1988年向AI的投资是1984年的三倍。

1992年,因最终没能突破关键性的技术难题,如没有设计出有效的非冯·诺依曼架构,无法实现自然语言人机对话、程序自动生成等目标,日本第五代机计划最后没有能够实现预定目标。也有人认为,日本“第五代计算机”计划不能算作失败,它在前两个阶段基本上达到了预期目标。

3.人工神经网络泡沫

人类一直对大脑充满好奇。1943年,W·McCulloch(1989—1969,神经生理学家,麻省理工学院任职)和W·Pitts(1923—1969,数理逻辑学家,自由学者)在分析、总结大脑神经元的基本特点的基础上,首先提出神经元的数学模型以及基于神经元的神经网络。因而,他们两个人被称为人工神经网络研究的先驱。

但是人工神经网络模型做到了对生物神经元的“形”像,是否非神似则不得而知。因为迄今为止我们依然并不了解神经元内部到底发生了什么。学者们声称的人工神经网络可能具有的超凡能力无法用理论或实践证明,甚至可证明的结论与此相悖。所以尽管基于这个概念的所谓“联结主义”(Connectionism)曾经热闹过一段时间,但随后它并没有成为人工智能领域的主流方向,甚至在20世纪70年代基本销声匿迹。

由于20世纪50—70年代人工智能研究并没有实现人们预期的实质上的突破性进展,在日本开始第五代计算机计划的刺激下,几乎被人遗忘了的人工神经网络在20世纪80年代又重新被人们提起。甚至有人为了与日本的“第五代计算机”计划争风头而将之称为“第六代计算机”。在技术实现的结构上,它显然完全有别于冯·诺依曼架构。只是它并不能实现冯·诺依曼架构的通用可编程计算,而属于专用计算结构。

1982年,John Hopfield(1933—,物理学家,加州大学伯克利分校/普林斯顿大学任职)证明一种新型的神经网络(后被称为“Hopfield网络”)能够用一种全新的方式“学习”和“处理”信息。几乎在同时,David Rumelhart(1942—2011,心理学家,加州大学圣迭戈分校/斯坦福大学任职)推广了“反传算法”(Back Propagation,BP),一种适用于拥有特定神经元传输函数的分层前馈人工神经网络的“训练”方法。这样的网络后来被称为BP网络,见图1-8。

图1-8 分层前馈人工神经网络示意图

1986年,由David Rumelhart和James McClelland(1948—,心理学家,卡耐基梅隆大学/斯坦福大学任职)主编的两卷本论文集《分布式并行处理》[3]问世,在计算机界引发了新一轮持续近十年的人工神经网络热潮。

但是相对于20世纪40年代十分有限的人工神经网络理论来说,这一轮人工神经网络的热潮,仍没有催生出本质上不同的新的人工神经网络基础性理论,也就没有产生在计算机基础科学层面有真正影响力的成果。比如所谓的Hopfield网络,虽然看上去有一些神奇的表现,但是并不具有多少实用价值。

被称为20世纪80年代人工神经网络领域内突破性成就的所谓“反传算法”(BP),本质上不过是微积分诞生之日就存在的梯度下降求函数局部最小值算法,在特定的网络结构传输函数下的一种迭代表达形式。这种表达形式其实在1969年就已经被推导出来并公开发表。因为那时人工神经网络并未引起重视,所以该论文并没有引起大的反响。该算法至今依然是“深度学习”模型中的主要学习算法。被“训练”后的分层前馈网络(BP网络),不论是否是采用“反传算法”来训练的,都不过是某种(由选取的网络形式决定)非线性函数对一个未知函数的有限样本数据映射关系的拟合。在科学原理层面上,它并不具有超出一般意义的非线性函数映射之外的“智能”。对于训练后的网络,也无法准确预测它在训练样本之外的数据上的表现,而仅仅可以做一些定性的推断。换句话说,在实际尝试之前,并不知道不同的网络结构适用于解决什么类型应用域的问题。这个工具的有效性,只有事后用使用的结果来验证,而基本无法事先预见。这样的工具,在其价值与其名称所给的暗示之间显然有很大的落差。这样说当然不是贬低这样的工具的价值,而是要避免望文生义地去理解它的功能。

人工神经网络,主要是BP网络,后来依然在一些场合被使用,但是已经没有了当初的炫目光环,不过是对函数样本做非线性拟合的众多可能方法中的一种。人们应用人工神经网络,通常是因为对于一个非线性函数映射问题,除了能够获取一些样本之外,无法对函数性质或者说对问题的性质做更进一步的理解与认识,所以便采用非线性拟合这种“简陋”的方式来试图解决问题。

后来在计算机的处理速度发生了质的飞跃(详见第2章第2.3节),并且实在找不到当初孜孜以求的“理想”而“精妙”的办法,而那些“简陋”“凑合”的方法,在做进一步改进后,在足够的计算能力与数据量的支撑下,可以在解决许多不同类型的问题上发挥很大作用,人工神经网络终于在21世纪改头换面为“深度学习”的一种方法而再次复生(详见第8章第8.3节)。

随着日本“第五代计算机”计划在1992年无果而终,以及随后人工神经网络热在20世纪90年代初“退烧”,人工智能领域再次进入“AI之冬”。这个冬季如此寒冷与漫长,以至于在21世纪的新一轮人工智能热潮兴起之前,怀有制造与人有同样智能的机器的雄心壮志的人都极为稀少也相当低调。

从根本上看,20世纪90年代人工智能热潮的冷却,是因为人们在人工智能领域经过了几十年的努力,没有能够理解一般意义上的智能过程的本质,因而也就没有能够取得科学意义上的原理性突破,没有能够在理论上抽象出类似数字基本计算那样的基本智能操作,用以支撑更为高级和复杂的智能过程。人工智能成为了不同领域里的各种具体应用,而不再试图理解与复现一般性的智能过程。

也正因为人们不再把完整的,或称之为广义的智能作为目标,而致力于实现一些具体的特定智能类活动,所以在一般意义上“智能”是什么,以及如何定义“智能”便不再重要。重要的是针对每一个具体的特定“智能”类活动作出清晰的界定,并作深入的分析,从而力争用适当的方法通过逻辑计算操作对其进行人工复现。

尽管在一般意义上的完整智能始终没有能够被人工复制,但是在人工智能方向上持续了30多年的努力,产生了许多用计算机解决特定“智能”问题的比较有效的具体方法,并且随着计算机性能的提高,可以被解决的智能类问题,或者说能够用计算机解决到可以接受程度的智能类问题越来越多。战胜了国际象棋世界冠军的IBM深蓝,在围棋领域几乎所向披靡的AlphaGo等,就是这种努力的产物。也就是说,计算机在智能的道路上取得了长足的进步,并且依然在不断地前行——尽管在今天,已经很少有人把让机器具有与人相当的完整智能作为奋斗的目标了。

这些计算机智能应用,都是先把问题转化为计算类问题再由计算机来解决,因此它们与其他并没有被冠以“智能”的应用在底层本质上并没有差别。这些智能类的应用,也因此逐步融入了各种不同的计算机应用之中,而在很长的时间里不再冠以“人工智能”这个名字独立存在。比如数据挖掘、信息检索、汽车自动驾驶等应用,都有属于“智能”类的算法嵌入其中。

到了2010年前后,人工智能热再次兴起,究其原因无非是两个:一个就是前面讲过的借助强大的计算能力与大量的数据,各种原来看上去并不“聪明”的“智能”算法能够解决更多的问题;另外一个则是商业资本操作的需要。在这次热潮中,原本不属于传统的“人工智能”的大量技术与方法都或自愿加入,或被强行收编在“人工智能”的名下。这次的繁荣,是应用意义上的繁荣,依然没有科学原理层面的突破。

始于20世纪80年代的两次远未达到预期的人工智能领域的努力,导致计算机的基本系统至今仍坚守在冯·诺依曼结构基础上,在很长一段时间内,计算机发展主线都是以运算性能的提高为核心的追求目标;具体的应用基本都由软件来实现。专门面向人工智能应用的计算机系统,如当初的LISP计算机系统已经销声匿迹。计算机市场成了通用数字计算机的天下。建立在有限字长二进制数字的基本计算基础上的计算能力,既是计算机强大之处,也成了计算机无法突破的本质性局限。

当然,今天人们在使用计算机的时候,并不需要把问题都分解到最低层的有限字长二进制数字的基本计算。因为在计算机裸机外面已经构造了操作系统、高级编程语言等软件,把许多数字基本计算能够实现的、通用的高级功能固化下来供不同的应用使用。虽然问题最终还是通过有限字长二进制数字的基本计算来解决的,但是用户所做的工作不必每次都“从猿到人”地走一遍,而是把问题映射到远比数字基本计算更为复杂且丰富的高层操作(由高级程序语言及开发运行环境决定)上。

这带来的好处显而易见,但是也让人们对计算机的本质能力产生了一些模糊的感觉。这对于用计算机完成一般性的工作影响不大,但是如果要做一些极具开创性的工作,要把一些本质上未曾用计算机实现过的任务,特别是与人的智能相关的任务,用计算机来实现,对计算机的本质能力哪怕是在潜意识中的不准确的理解,也会对人们的判断造成重大影响。而人类的判断力,如将要在后面所分析的那样,在计算机应用中具有非常重要的意义。