1.2 人工智能的发展
人工智能从诞生至今,经历了一次又一次的繁荣与低谷,其发展历程大体上可以分为推理期、知识期和学习期,如图1.1所示。
图1.1 人工智能发展史
(1)推理期。1956年达特茅斯会议之后,研究者对人工智能的研究热情高涨,之后的十几年是人工智能的黄金时期。大部分早期研究者都通过人类的经验,基于逻辑或者事实归纳出来一些规则,然后通过编写程序来让计算机完成一个任务。这个时期,研究者开发了一系列的智能系统,如几何定理证明器、语言翻译器等。这些初步的研究成果也使得研究者对开发出具有人类智能的机器过于乐观,低估了实现人工智能的难度。有些研究者甚至认为:“20年内,机器将能完成人能做到的一切工作”“在3~8年的时间里可以研发出一台具有人类平均智能的机器”。但随着研究的深入,研究者意识到这些推理规则过于简单,对项目难度评估不足,原来的乐观预期受到严重打击。人工智能的研究开始陷入低谷,很多人工智能项目的研究经费也被削减。
(2)知识期。到了20世纪70年代,研究者意识到知识对于人工智能系统的重要性。特别是对于一些复杂的任务,需要专家来构建知识库。在这一时期,出现了各种各样的专家系统(Expert System),并在特定的专业领域取得了很多成果。专家系统可以简单理解为“知识库+推理机”,是一类具有专门知识和经验的计算机智能程序系统。专家系统一般采用知识表示和知识推理等技术来完成通常由领域专家才能解决的复杂问题,因此专家系统也被称为基于知识的系统。一个专家系统必须具备三要素,即领域专家级知识、模拟专家思维、达到专家级的水平。在这一时期,Prolog(Programming in Logic)语言是主要的开发工具,用来建造专家系统、智能知识库,以及处理自然语言理解等。
(3)学习期。对于人类的很多智能行为(如语言理解、图像理解等),我们很难知道其中的原理,也无法描述这些智能行为背后的“知识”。因此,我们也很难通过知识和推理的方式来构建实现这些智能行为的智能系统。为了解决这类问题,研究者开始将研究重点转向让计算机从数据中自己学习。事实上,“学习”本身也是一种智能行为。从人工智能的萌芽时期开始,就有一些研究者尝试让机器来自动学习,即机器学习(Machine Learning,ML)。机器学习的主要目的是设计和分析一些学习算法,让计算机可以从数据(经验)中自动分析并获得规律,之后利用学习到的规律对未知数据进行预测,从而帮助人们完成一些特定任务,提高开发效率。机器学习的研究内容也十分广泛,涉及线性代数、概率论、统计学、数学优化、计算复杂性等多门学科。在人工智能领域,机器学习从一开始就是一个重要的研究方向;但直到1980年后,机器学习因其在很多领域的出色表现,才逐渐成为热门学科。
在发展了多年后,人工智能虽然可以在某些方面超越人类,但想让机器真正通过图灵测试,具备真正意义上的人类智能,这个目标看上去仍然遥遥无期。