1.2.6 智能技术的重生:人工智能的启蒙爬升期
在经历了多年的低谷期后,专家系统的诞生让人们重燃了对人工智能的期望,它成功地走出了实验室,应用于商业化的设备公司。然而,之后由于配套技术的发展未能达到要求,人工智能又跌入过一次“寒冬期”。20世纪80年代到21世纪初,随着工业技术的发展,人工智能技术所需要的训练基础已逐渐成熟,机器学习的研究和神经网络技术的回归,再次将人工智能带领到大众的眼前,并且进入了稳定的技术爬升期。
1.专家系统
专家系统是一个智能计算机程序系统,它使用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题,简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。
专门应用于专家系统的计算机语言很多,例如,基于逻辑的有LISP、Prolog语言等,现在常用的计算机开发语言Clips、Visual Prolog、Visual Basic等也可应用于专家系统的开发。
图1-31 费根鲍姆
费根鲍姆[32](Edward Albert Feigenbaum)(见图1-31)是专家系统与知识工程领域的代表人物,被誉为“专家系统与知识工程之父”。他是美国斯坦福大学教授、美国国家工程院院士、1999年图灵奖获得者,曾经是人工智能大师西蒙的研究生,他主张把人工智能用于解决实际问题,而不限于研究下棋等娱乐应用之类。
1962年,费根鲍姆产生了建立专家系统的想法,恰好他的斯坦福同事、生物学家、遗传学家、诺贝尔生理学—医学奖获得者莱德伯格(Lederberg)提出了一种根据质谱仪数据列出所有可能的分子结构的算法。他们两人和布奇兰(Bruce)合作,开始探讨用光谱与分子结构关系规则表示知识,进而建立知识系统的问题。1969年他们开发出名为DENERAL的专家系统,该系统能从光谱仪提供的信息中推断出分子结构。在开发过程中,他们请教了分析化学家,把光谱中应用的波峰模式加入到了专家系统中。
DENERAL程序本身可以产生所有分子式一致的可能结构,然后通过与实际光谱比较来预测观察到的每种光谱。在辨认分子所包含的一个特殊结构后,就能推出大量可能的结构。DENERAL程序的重要性在于,它是一个成功的专家系统,它针对特定目标收集了大量专门知识与规则。
专家系统与知识工程在实践中显示出强大的生命力,1972—1976年,费根鲍姆小组又开发了MYCIN医疗专家系统,用于抗生素药物治疗和血液感染诊断。该系统适用于医生评估症状对诊断的影响,美国的一些大学和英国的治疗中心,由此提出了基于概率论和实用性的疫病诊断和治疗方法。在指导钻孔勘探方面,一种基于概率推理的地质勘探专家系统取得了重要成就。随后,CASNET青光眼诊断医疗专家系统,RI计算机结构设计专家系统、MACSYMA符号积分与定理证明装甲系统、ELAS钻井数据分析专家系统相继开发成功。
1977年,费根鲍姆提出了知识表达、知识工程等新概念,提出了关于知识工程的一系列研究理论。20世纪80年代,专家系统和知识工程在全世界迅速发展,得到了广泛共识。
在我国,专家系统研制工作起步较晚,但也已经取得了一系列成就。例如,中国科学院合肥智能机械研究所的施肥专家系统、南京大学的新构造找水专家系统、吉林大学的勘探专家系统和油气资源评价专家系统、浙江大学的服装裁剪专家系统和花布图案设计系统、北京中医药大学(原北京中医学院)的关幼波肝病诊断专家系统等。
然而,专家系统有一定的局限性,它是在领域专家与系统设计者之间反复交互意见的基础上建立的,与传统计算机方法最本质的区别在于:它是基于经验和知识解决的问题一般没有算法,它经常需要面对不完全、不精确或不确定的信息做出结论。因此,在应用中超出一定范围,专家系统的错误可能非常严重。
2.机器学习
学习是人类智能的主要内涵,也是获得知识的基本手段。儒家经典《礼记》中提到“学:效;习:鸟频频起飞。”中国古代的哲人已经认识到:学习是对实例的仿效,而且要反复练习,并强调“学以致用”和“举一反三”的推广应用能力。人工智能大师西蒙说:“学习,是在系统不断重复的工作中对本身能力的增强和改进,使得系统在下一次执行相同或类似的任务时,能比现在做得更好或效率更高。”人脑是怎么学习的?如何使计算机具有像人类一样的强大的学习能力呢?如果机器不会学习,就不能算是合格的智能机器人?科学家既希望机器能够获得学习的能力,又希望机器学习有助于揭示人脑的奥秘、理解人类学习的机理、能力和不足。
机器学习是人工智能的一个重要分支,也是一个多学科交叉的领域。其中,与心理学和神经生物学的关系最为密切,因为研究生物学习和神经系统工作原理,可以为机器学习提供借鉴,如表1-1所示。
表1-1 各学科与机器学习的关系
续表
机器学习起源于20世纪50—60年代,在感知器学习、自适应学习、模式识别等领域取得了显著成果。后在20世纪60—70年代,发展缓慢,但在符号主义的符号概念获取、逻辑结构和归纳学习方面仍然取得了不少进展。20世纪70—80年代,开始应用于专家系统和知识工程中,收获颇丰。1980年,美国卡内基·梅隆大学召开了首届国际机器学习研讨会,1986年,国际《机器学习》杂志创刊,机器学习作为相对独立的学科出现在大学校园里。
在当今社会,机器学习已经有了十分广泛的应用,例如,数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用等。学习是一项复杂的智能活动,学习过程本质上是学习系统(人、生物或机器)不断自我提高的过程,机器学习是在面对任务时,机器(学习系统)根据经验(实例、数据),把指导者提供的信息,转换成系统自身能够理解应用的形式,以不断提高自身性能的过程。
机器学习过程与推理过程是紧密相连的,通常要从特殊训练样本中归纳出一般概念或规律,常常以函数方式体现。机器学习的重要步骤为:选择原始数据,并按照要求进行分类;使用训练数据来构建主要特征的数据模型;验证、测试、使用、优化已经构建的数据模型性能(见图1-32)。
机器学习依托海量数据、超强计算能力、学习算法三大基石,首先通过海量数据来“训练”自己,再用超强的计算处理能力处理海量数据,最后运用学习算法从数据中学习,从而推论出新的指令(算法模型),这是机器学习的核心优势。
3.神经网络回归
沉寂10年之后,神经网络又一次走上历史舞台,人工智能研究学者对神经网络的研究有了新的进展。20世纪80年代中期,研究者们开始重新在神经网络方面作出贡献。
图1-32 机器学习的工作方式
1982年,物理学家约翰·霍普菲尔德(John Hopfield)在前人的基础上提出了新型神经网络算法——霍普菲尔德网络。霍普菲尔德网络作为存储处理理论,实现了并行分布式处理表达和控制。该算法是具有一定规模和灵活联结关系的多层神经网络,强调神经元的集体功能,初步显示了按内容寻址的联想记忆的性质。这一切均表明霍普菲尔德网络对人脑的模拟研究更加接近真实生物脑的情况,但它与生物脑之间的差距仍然是当代科学无法跨越的。
1986年,杰弗里·辛顿(Geoffrey Hinton)等研究者重新发表了反转(backpropagation)学习算法,也就是大名鼎鼎的BP神经网络,有效地解决了多层网络的训练问题。BP神经网络算法思想早在1969年由Bryson和Ho首次建立,但直到十多年后才再次被研究者使用。该算法目前仍被用于计算机学习和心理学中的学习问题。它避免了传统感知器带来的庞大计算量问题,大幅提升了计算效率。
1989年,辛顿的博士后杨立昆(Yann LeCun)发表了卷积神经网络算法,后将其用于读取银行支票上的手写数字,该系统在20世纪90年代末占据了美国近20%的市场。
至此,具有学习能力的神经网络算法一路发展,广泛应用于文字图像识别、语音识别等,并出现了大量商业化的产品。
4.深蓝
计算机博弈(下棋)一直是人工智能研究者关注的领域,但业界总会有不少人持一种态度,认为就算是最先进的计算机,也不可能战胜人类。直到1997年5月11日,IBM公司的电脑“深蓝”战胜国际象棋世界冠军卡斯帕罗夫(Garry Kasparov),成为了首个在标准比赛时限内击败国际象棋世界冠军的电脑系统(见图1-33)。这是人工智能的一个里程碑,也让业界重新对人工智能的研究建立起信心。[33]
图1-33 “深蓝”与卡斯帕罗夫比赛
这次计算机的胜利并非一帆风顺。“深蓝”研发完成之时,IBM发言官对媒体宣称:“我们的团队用了6年时间,研发出了世界上第一流的计算机‘深蓝’号,它可以使用31个功能强大的处理器并行运算,3min就可以搜索500亿步棋路”。同时,IBM向当时所向披靡的国际象棋世界冠军卡斯帕罗夫提出了挑战。1996年2月,卡斯帕罗夫接受了挑战,这次对决他以4∶2的大比分战胜了“深蓝”。卡斯帕罗夫的胜利让人们坚信人类远比计算机聪明。然而,IBM的工程师们在接下来的一年时间里继续钻研,改良“深蓝”中存在的问题和不足。终于在1997年开启了第二次的双方对决。这次人机对决仍然得到了公众媒体的关注,纽约市民可以通过广场公放视频观看最后一轮比赛的赛事直播。这次比赛中,“深蓝”没有掉以轻心,把握了比赛的节奏,只见卡斯帕罗夫时而将头深深地埋在双手之间,时而狠狠地拉拽自己的头发,人们不禁怀疑这还是那个战无不胜、沉着冷静的卡斯帕罗夫吗?实际上,在六轮比赛过程中,卡斯帕罗夫还是想了许多奇招,他甚至摒弃了自己常用的棋路,选择了一些从未出现过的攻防招数,试图混淆“深蓝”的判断。只是,改良换代后的“深蓝”并没有陷入他的圈套,反而能够很快地找到最佳的破解方法。最终,六轮比赛的结果大比分是2.5∶3.5,“深蓝”2胜3平1负。至此,“深蓝”的成功被誉为人工智能对于人类的胜利,也见证了人工智能技术的再次攀升。
深蓝所采用的算法核心仍是前文提到的麦卡锡的α-β搜索法。该算法的基本思想是,利用已经搜索过的状态对搜索进行剪枝,以提高搜索的效率。算法首先按照一定的原则模拟双方一步步下棋,直到向前看几步为止,然后对棋局进行打分,分数越大表明对我方越有利,反之表明对对方有利,并将该分数向上传递。当搜索其他可能的走法时,会利用已有的分数,减掉对我方不利对对方有利的走法,尽可能最大化我方所得分数,按照我方所能得到的最大分数选择走步。可以看出,对棋局如何打分是α-β搜索算法中非常关键的内容。“深蓝”采用规则的方法对棋局打分,大概的思路就是对不同的棋子按照重要程度给予不同的分数,如车分数高一点,马比车低一点等;同时还要考虑棋子的位置赋予不同的权重,如马在中间位置比在边上的权重就大;还要考虑棋子之间的联系,如是否有保护、容易被捕捉等。当然,实际系统中比这要复杂得多,这里只是举例说明。这样打分看起来很粗糙,但是如果搜索的深度比较深的话,尤其是进入了残局,还是非常准确的,因为对于国际象棋来说,当进入残局后,棋子的多少可能就决定了胜负。在深蓝之后,这种方法被先后应用到中国象棋、日本将棋等人机对抗中,均达到了人类的顶级水平。