难以逾越的局限
20世纪50年代人工智能的诞生和流行除了与电子计算机的问世有直接联系外,也与当时美苏冷战有很大关联。1954年美苏冷战期间美国军方希望计算机产生的人工智能能够自动翻译俄语情报和资料,所以对在这一领域的突破赋予很高的期望,投入了大量的财力和人力。除了海军和空军,20世纪60年代初期互联网先驱立克里德在美国国防部高级计划署任职期间,每年资助麻省理工(明斯基)、卡梅(西蒙和纽厄尔)和斯坦福(麦卡锡)数百万美元的经费从事计算机以及人工智能方面的研究。
而人工智能的研发在经历了前面描述的这些突破后很快就变得停滞不前,最主要的原因是计算机内存和运算速度的限制。比如20 世纪60 年代末SDC公司奎利恩(Ross Quillian)等设计的颇为成功的自然语言翻译程序所使用的计算机内存最多只能同时导入20个单词。1976 年,从事机器人研究的人工智能专家莫拉维克(Hans Moravec)估计仅仅让计算机具备人的视网膜识别物体的边界和探测移动的功能就需要至少10 亿次/s 的运算能力,但当时最快的超级计算机的运算速度也仅有8000万~13000万次/s。
除了计算能力的限制外,绝大多数人工智能应用,比如图像和声音的识别,需要通过大量的学习才能达到一定的准确率。20世纪60年代数据库本身还处于发展阶段,根本没有积累如此多的数据,这与40年后深度学习出现时互联网上已经存在了海量信息所提供的学习环境是无法比拟的。于是从1966年美国政府组织的自动语言处理调查委员会给出ALPAC报告后[2],人工智能开始遇冷。1973年英国政府发布了剑桥大学教授莱特希尔的人工智能调查报告[3],给第一轮人工智能的发展正式划上了句号。
专家与超算
第一代人工智能系统的兴起与衰落让人们对人工智能系统有了更丰富的认识。20世纪80年代出现的专家系统是人工智能第2阶段发展过程中最有代表性的例子。
西蒙和纽厄尔在设计人工智能系统时注重系统的特定形式和推理机制,但是这类系统往往无法解决纯逻辑推理外的具体生产领域问题,这是因为它们缺少这些领域的具体知识。于是20世纪80年代的人工智能领域开始把研究的重点放在为不同的系统提供它们所在领域的专业知识上,试图通过专业知识与推理机制相结合来达到专家水平。西蒙的学生,被
称为专家系统之父的费根鲍姆将其总结为智能系统的强大来自于它们所掌握的知识而不是具体的规则和理论。
最早获得商业成功的专家系统是卡梅大学为DEC开发的用户订单配置系统。20世纪70年代诞生于麻省理工林肯实验室的DEC公司相当于20世纪90年代的戴尔,它是最早利用半导体和集成线路技术把大型机体积变小,价格变低,从而让学校和小公司也可以使用计算机的创新公司。因为在它之前的很多计算机公司已倒闭,为了不吓走风投资本,它的商业模式采取了提供计算机配件,让用户可以自由组装的方式,因此受到大学和研究机构用户的青睐。随着订单的不断增加,DEC 开始面临一个问题:销售人员经常搞错用户选购计算机时需要的各种配件(当时都是以人工方式生成),造成了运营成本的增加。于是卡梅大学帮助DEC开发了XCON(订单专家)系统。1980 年,DEC开始使用该系统后通过与销售人员互动积累了2500多条配置规则,运行6年共处理了8万多笔订单,准确率高达95%~98%,为 DEC 公司节省了2500多万美元的成本。
20世纪80年代,摩尔定律带来的内存容量和CPU 运算速度的指数增长、关系数据库技术的成熟、个人计算机和局域网技术的普及等因素也是促成专家系统全面开花的重要前提。因为计算机成本的不断下降,企业不同部门开始各自的局域网内搭建需要的专家系统,在客观上造成了对这些系统的需求。这些利好因素再加上像早期XCON这类系统的成功,使得人工智能领域通过专家系统进入第2次高速发展阶段。
专家系统的成功再次引发了学术泡沫。不少人认为专家系统可以很快应用到软件开发上,实现软件开发的自动化。面对这次学术大跃进,也有不少头脑冷静者。1986年北卡罗来纳大学教堂山分校计算机系主任布鲁克斯发表了一篇后来成为计算机学术历史上经典的论文“没有银弹”
[4]
。在这篇论文里布鲁克斯质疑了已经膨胀多年的关于自动编程可以很
快实现的学术泡沫。后来他在《人月神话》一书中结合当年开发IBM 360操作系统的经历,进一步阐述了大型软件工程的复杂性(图4)。
图4 布鲁克斯的名著《人月神话》,封面用深陷沥青湖无法脱身的3 只
野兽来比喻大型软件开发过程的复杂性
布鲁克斯在20世纪60年代曾经担任IBM 360大型机操作系统的开发负责人,对大型软件工程的复杂性有着切身体会。他以一个孕妇需要10个月才能生出一个孩子,但是10个孕妇加在一起也不可能在一个月生出一个孩子来比喻软件开发的不可避免的复杂性。他认为当时没有任何技术或者管理方式能够让编程效率在10年内增长10倍,事实也的确如此。布鲁克斯发表这篇论文直接或间接导致了人工智能的第2次低潮。因为这时专家系统没能再有大的突破。
专家系统在20世纪80年代的瓶颈除了计算机软硬件本身的限制外,还有其他因素。比如每个公司和研究团队研发的专家系统都是自成体系的封闭系统,没有开源软件和公开的数据标准来共享数据和策略,所以任
何2个专家系统之间无法相互协作。另外尽管大家认识到专家系统中知识的重要性,但是知识体系的复杂性远远超过预期。直到20世纪90年代,学术界和产业界才通过系统地分析人类知识结构,发现其庞大性以及知识本身的显性和隐性之分[5]。20世纪90年代后期曾经有不少人工智能学者试图把人类的全部知识通过共享的方式构建到一个数据库里,但是就像受到诅咒的巴别塔一样,这一领域最有希望的两位学者先后英年早逝[6]。
专家系统可以看做是理性流派的进一步发展。神经网络做为感性流派在这一时期虽然没有专家系统那样成功,也取得了一些进步。比如神经网络的架构从以前的输入层加输出层的单层结构转变为添加了中间的隐层。这一变化使得神经网络可以解决更加复杂的分类问题。
层数的增加为各个层的神经节点连接的权重选取带来新的困难。反向传播算法(backpropagation)的出现在一定程度上解决了权重选取问题。另外计算机运算能力的提高使得多层神经网络的计算成为可能,在此基础上分支联结主义(connectionism)开始流行。通过分布式计算为多层神经网络提供架构支持成为新的发展方向。
与感性流派的神经网络相关的新人工智能(Nouvelle AI)思想也在这一时期出现。持新人工智能观点的学者认为,人工智能在过去30多年时间里把人类智慧狭义地理解为基于符号处理的智能模型是错误的,因为人类独有的很多智慧是无意识的技能和直觉,并不需要推理。该领域的