第二章
人工智能的过去

人工智能的概念

提起人工智能,我们会想起在各类影视作品中看到的场景:《她》里让人类陷入爱情的人工智能操作系统萨曼莎、《超能特工队》里的充气医疗机器人大白、《西部世界》里游荡在公园里逐渐意识觉醒的机器人接待员等等,都是人们对人工智能的美好期待。

时间回到1956年的夏天,在达特茅斯夏季人工智能研究会议上,约翰·麦卡锡、马文·明斯基、纳撒尼尔·罗切斯特和克劳德·香农,以及其余6位科学家,共同讨论了当时计算机科学领域尚未解决的问题,第一次提出了人工智能的概念。在这次会议之后,人工智能开始了第一春,但受限于当时的软硬件条件,那时的人工智能研究多局限于对于人类大脑运行的模拟,研究者只能着眼于一些特定领域的具体问题,出现了几何定理证明器、西洋跳棋程序、积木机器人等。在那个计算机仅仅被作为数值计算器的时代,这些略微展现出智能的应用,即被视作人工智能的体现。

进入21世纪,随着深度学习的提出,人工智能又一次掀起浪潮。小到手机里的Apple Siri,大到城市里的智慧安防,层出不穷的应用出现在论文里、新闻里以及人们的日常生活中。而其中最称得上里程碑事件的是,2016年由谷歌旗下DeepMind公司开发的AlphaGo,在与围棋世界冠军、职业九段棋手李世石进行的围棋人机大战中,以4比1的总比分获胜。这一刻,即使是之前对人工智能一无所知的人,也终于开始感受到它的力量。

虽然人工智能技术在近几年取得了高速的发展,但要给人工智能下个准确的定义并不容易。一般认为,人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人类日常生活中的许多活动,如数学计算、观察、对话、学习等,都需要“智能”。“智能”能预测股票、看得懂图片或视频,也能和其他人进行文字或语言上的交流,不断督促自我完善知识储备,它会画画,会写诗,会驾驶汽车,会开飞机。在人们的理想中,如果机器能够执行这些任务中的一种或几种,就可以认为该机器已具有某种性质的“人工智能”。时至今日,人工智能概念的内涵已经被大大扩展,它涵盖了计算机科学、统计学、脑神经学、社会科学等诸多领域,是一门交叉学科。人们希望通过对人工智能的研究,能将它用于模拟和扩展人的智能,辅助甚至代替人们实现多种功能,包括识别、认知、分析、决策等等。

人工智能的层次

如果要结构化地表述人工智能的话,从下往上依次是基础设施层、算法层、技术层、应用层(见图1-16)。基础设施包括硬件/计算能力和大数据;算法层包括各类机器学习算法、深度学习算法等;再往上是多个技术方向,包括赋予计算机感知/分析能力的计算机视觉技术和语音技术、提供理解/思考能力的自然语言处理技术、提供决策/交互能力的规划决策系统和大数据/统计分析技术。每个技术方向下又有多个具体子技术;最顶层的是行业解决方案,目前比较成熟的包括金融、安防、交通、医疗、游戏等。

图1-16 人工智能的层次结构

基础设施层

回顾人工智能发展史,每次基础设施的发展都显著地推动了算法层和技术层的演进。从20世纪70年代的计算机兴起、80年代的计算机普及,到90年代计算机运算速度和存储量的增加、互联网兴起带来的数据电子化,均产生了较大的推动作用。而到了21世纪,这种推动效果则更为显著,互联网大规模服务集群的出现、搜索和电商业务带来的大数据积累、GPU(图形处理器)和异构/低功耗芯片兴起带来的运算力提升,促成了深度学习的诞生,点燃了人工智能的这一波爆发浪潮。

这波浪潮之中,数据的爆发增长功不可没。我们知道,海量的训练数据是人工智能发展的重要燃料,数据的规模和丰富度对算法训练尤为重要。如果我们把人工智能看成一个刚出生的婴儿,某一领域专业的、海量的、深度的数据就是喂养这个天才的奶粉。奶粉的数量决定了婴儿是否能长大,而奶粉的质量则决定了婴儿后续的智力发育水平。2000年以来,得益于互联网、社交媒体、移动设备和传感器的普及,全球产生及存储的数据量剧增。根据IDC报告显示,2020年全球数据总量预计将超过40ZB(相当于4万亿G)Gantz, John, Reinsel, David. IDC Study:Digital Universe in 2020,2012.,这一数据量是2011年的22倍(见图1-17)。在过去几年,全球的数据量以每年58%的速度增长,在未来这个速度将会更快。与之前相比,现阶段“数据”包含的信息量越来越大、维度越来越多,从简单的文本、图像、声音等数据,到动作、姿态、轨迹等人类行为数据,再到地理位置、天气等环境数据。有了规模更大、类型更丰富的数据,模型效果自然也能得到提升。

图1-17 2005—2020年全球总体数据量

而在另一方面,运算力的提升也起到了明显效果。AI芯片的出现显著提高了数据处理速度,尤其在处理海量数据时明显优于传统CPU。在擅长处理/控制和复杂流程但高功耗的CPU的基础之上,诞生了擅长并行计算的GPU,以及拥有良好运行能效比、更适合深度学习模型的FPGA和ASIC。芯片的功耗比越来越高,而灵活性则越来越低,甚至可以是为特定功能的深度学习算法量身定做的(见图1-18)。

图1-18 不同类型芯片运算能力、功耗对比

算法层

说到算法层,必须先明确几个概念。所谓“机器学习”,是指利用算法使计算机能够像人一样从数据中挖掘出信息;而“深度学习”作为“机器学习”的一个子集,相比其他学习方法,使用了更多的参数、模型也更复杂,从而使得模型对数据的理解更加深入,也更加智能。传统机器学习是分步骤来进行的,每一步的最优解不一定带来结果的最优解;另一方面,手工选取特征是一种费时费力且需要专业知识的方法,很大程度上依赖经验和运气。而深度学习是从原始特征出发,自动学习高级特征组合,整个过程是端到端的,直接保证最终输出的是最优解。但中间的隐层是一个黑箱,我们并不知道机器提取出了什么特征(见图1-19)。

图1-19 深度学习与传统机器学习的差别

机器学习中会碰到以下几类典型问题(见图1-20)。第一类是无监督学习问题:给定数据,从数据中发现信息。它的输入是没有维度标签的历史数据,要求的输出是聚类后的数据。比如给定一篮水果,要求机器自动将其中的同类水果归在一起。机器会怎么做呢?首先对篮子里的每个水果都用一个向量来表示,比如颜色、味道、形状。然后将相似向量(向量距离比较近)的水果归为一类,红色、甜的、圆形的被划在了一类,黄色、甜的、条形的被划在了另一类。人类跑过来一看,原来第一类里的都是苹果,第二类里的都是香蕉呀。这就是无监督学习,典型的应用场景是用户聚类、新闻聚类等。

图1-20 机器学习中的三类典型问题

第二类是监督学习问题:给定数据,预测这些数据的标签。它的输出是带维度标签的历史数据,要求的输出是依据模型所做出的预测。比如给定一篮水果,其中不同的水果都贴上了水果名的标签,要求机器从中学习,然后对一个新的水果预测其标签名。机器还是对每个水果进行了向量表示,根据水果名的标签,机器通过学习发现红色、甜的、圆形的对应的是苹果,黄色、甜的、条形的对应的是香蕉。于是,对于一个新的水果,机器按照这个水果的向量表示知道了它是苹果还是香蕉。监督学习典型的应用场景是推荐、预测相关的问题。

第三类是强化学习问题:给定数据,选择动作以最大化长期奖励。它的输入是历史的状态、动作和对应奖励,要求输出的是当前状态下的最佳动作。与前两类问题不同的是,强化学习是一个动态的学习过程,而且没有明确的学习目标,对结果也没有精确的衡量标准。强化学习作为一个序列决策问题,就是计算机连续选择一些行为,在没有任何维度标签告诉计算机应怎么做的情况下,计算机先尝试做出一些行为,然后得到一个结果,通过判断这个结果是对还是错,来对之前的行为进行反馈。举个例子来说,假设在午饭时间你要下楼吃饭,附近的餐厅你已经体验过一部分,但不是全部,你可以在已经尝试过的餐馆中选一家最好的(开发,exploitation),也可以尝试一家新的餐馆(探索,exploration),后者可能让你发现新的更好的餐馆,也可能吃到不满意的一餐。而当你已经尝试过的餐厅足够多的时候,你会总结出经验(“大众点评”上的高分餐厅一般不会太差;公司楼下近的餐厅没有远的餐厅好吃,等等),这些经验会帮助你更好地发现靠谱的餐馆。许多控制决策类的问题都是强化学习问题,比如让机器通过各种参数调整来控制无人机实现稳定飞行,通过各种按键操作在电脑游戏中赢得分数等。

机器学习算法中的一个重要分支是神经网络算法。虽然直到21世纪才因为AlphaGo的胜利而为人们所熟知,但神经网络的历史至少可以追溯到60年前。60年来神经网络几经起落,由于各个时代背景下数据、硬件、运算力等的种种限制,一次次因遭遇瓶颈而被冷落,又一次次取得突破重新回到人们的视野中,最近的一次是随着深度学习的兴起而备受关注。

从20世纪40年代起,就有学者开始从事神经网络的研究:McCulloch和Pitts发布了A Logical Calculus of the Ideas Immanent in Nervous ActivityMcCulloch, Warren, Walter Pitts. A Logical Calculus of the Ideas Immanent in Nervous Activity. Bulletin of Mathematical Biophysics,1943,5(4):115-133.,被认为是神经网络的第一篇文章;神经心理学家Hebb出版了The Organization of BehaviorHebb, Donald. The Organization of Behavior. New York:Wiley,1949.一书,在书中提出了被后人称为“Hebb规则”的学习机制。第一个大突破出现于1958年,Rosenblatt在计算机上模拟实现了一种他发明的叫作“感知机”(Perceptron)的模型Rosenblatt, F. The Perceptron:A Probabilistic Model for Information Storage and Organization in the Brain. Psychological Review,1958,65(6):386-408.,这个模型可以完成一些简单的视觉处理任务,也是后来神经网络的雏形、支持向量机(一种快速可靠的分类算法)的基础(见图1-21)。一时间,这种能够模拟人脑的算法得到了人们的广泛追捧,国防部等政府机构纷纷开始赞助神经网络的研究。神经网络的风光持续了十余年,1969年,Minsky等人论证了感知机在解决XOR(异或)等基本逻辑问题时能力有限Minsky, Marvin, Papert, Seymour. Perceptrons:An Introduction to Computational Geometry. MIT Press,1969.,这一缺陷的展现浇灭了人们对神经网络的热情,原来的政府机构也逐渐停止资助,直接造成了此后长达10年的神经网络的“冷静时期”。期间,Werbos在1974年证明了在神经网络中多加一层Paul Werbos. Beyond regression:New tools for prediction and analysis in the behavioral sciences. PhD thesis, Harvard University,1974.,并且利用“后向传播”(Back-propagation)算法可以有效解决XOR问题,但由于当时仍处于神经网络的低潮,这一成果并没有得到太多关注。

图1-21 感知机模型图示

直到80年代,神经网络才终于迎来复兴。物理学家Hopfield在1982年和1984年发表了两篇关于人工神经网络研究的论文Hopfield, J. J. Neural networks and physical systems with emergent collective computational abilities//Proceedings of the National Academy of Sciences, National Academy of Sciences,1982:2554-2558; Hopfield, J. J. Neurons with graded response have collective computational properties like those of two-state neurons//Proceedings of the National Academy of Sciences, National Academy of Sciences,1984:3088-3092.,提出了一种新的神经网络,可以解决一大类模式识别问题,还可以给出一类组合优化问题的近似解。他的研究引起了巨大的反响,人们重新认识到神经网络的威力以及付诸应用的现实性。1985年,Rumelhart、Hinton等许多神经网络学者成功实现了使用“后向传播”BP算法来训练神经网络Rumelhart, David E., Hinton, Geoffrey E., Williams, Ronald J. Learning representations by back-propagating errors. Nature,1985,323(6088):533-536.,并在很长一段时间内将BP作为神经网络训练的专用算法。在这之后,越来越多的研究成果开始涌现。1995年,Yann LeCun等人受生物视觉模型的启发,改进了卷积神经网络(Convolution Neural Network, CNN)(见图1-22)。Bengio, Y., Lecun, Y. Convolutional networks for images, speech, and time-series,1995.这个网络模拟了视觉皮层中的细胞(有小部分细胞对特定部分的视觉区域敏感,个体神经细胞只有在特定方向的边缘存在时才能做出反应),以类似的方式计算机能够进行图像分类任务(通过寻找低层次的简单特征,如边缘和曲线,然后运用一系列的卷积层建立一个更抽象的概念),在手写识别等小规模问题上取得了当时的最好结果。2000年之后,Bengio等人开创了神经网络构建语言模型的先河。Bengio, Y., Vincent, P., Janvin, C. A neural probabilistic language model. Journal of Machine Learning Research,2003,3(6),1137-1155.

图1-22 卷积神经网络(CNN)图示

直到2001年,Hochreiter等人发现使用BP算法时,在神经网络单元饱和之后会发生梯度损失Hochreiter, S., et al. Gradient flow in recurrent nets:the difficulty of learning long-term dependencies//Kolen, John F., Kremer, Stefan C. A Field Guide to Dynamical Recurrent Networks. John Wiley &Sons,2001.,即模型训练超过一定迭代次数后容易产生过拟合,就是训练集和测试集数据分布不一致(就好比上学考试的时候,有的人采取题海战术,把每道题目都背下来。但是题目稍微一变,他就不会做了。因为机器非常复杂地记住了每道题的做法,却没有抽象出通用的规则)。神经网络又一次被人们所遗弃。然而,神经网络并未就此沉寂,许多学者仍在坚持不懈地进行研究。2006年,Hinton和他的学生在Science杂志上发表了一篇文章Hinton, Geoffrey, Salakhutdinov, Ruslan. Reducing the Dimensionality of Data with Neural Networks. Science,2006(313):504-507.,从此掀起了深度学习(Deep Learning)的浪潮。深度学习能发现大数据中的复杂结构,也因此大幅提升了神经网络的效果。2009年开始,微软研究院和Hinton合作研究基于深度神经网络的语音识别NIPS Workshop:Deep Learning for Speech Recognition and Related Applications, Whistler, BC, Canada, Dec. 2009(Organizers:Li Deng, Geoff Hinton, D. Yu).,使得相对误识别率降低25%。2012年,Hinton又带领学生在目前最大的图像数据库ImageNet上,对分类问题取得了惊人成果,将Top5错误率由26%降低至15%。Krizhevsky, Alex, Sutskever, Ilya, Hinton, Geoffry. Image Net Classification with Deep Convolutional Neural Networks(PDF).NIPS 2012:Neural Information Processing Systems, Lake Tahoe, Nevada,2012.再往后的一个标志性时间是2014年,Ian Goodfellow等学者发表论文提出题目中的“生成对抗网络”Goodfellow, Ian J., Pouget-Abadie, Jean, Mirza, Mehdi, Xu, Bing, Warde-Farley, David, Ozair, Sherjil, Courville, Aaron, Bengio,Yoshua. Generative Adversarial Networks,2014.,标志着GANs的诞生,并自2016年开始成为学界、业界炙手可热的概念,它为创建无监督学习模型提供了强有力的算法框架。时至今日,神经网络经历了数次潮起潮落后,又一次站在了风口浪尖,在图像识别、语音识别、机器翻译等领域,都随处可见它的身影(见图1-23)。

图1-23 神经网络发展简史

而其他浅层学习的算法,也在另一条路线上不断发展着,甚至一度取代神经网络成为人们最青睐的算法。直到今天,即使神经网络的发展如日中天,这些浅层算法也在一些任务中占有一席之地。

1984年,Breiman和Friedman提出决策树算法Breiman, Leo, Friedman, J. H., Olshen, R. A., Stone, C. J. Classification and regression trees. Monterey, CA: Wadsworth &Brooks/Cole Advanced Books &Software,1984.,作为一个预测模型,代表的是对象属性与对象值之间的一种映射关系。1995年,Vapnik和Cortes提出支持向量机(SVM)Cortes, C., Vapnik, V. Support-vector networks.Machine Learning,1995,20(3):273-297.,用一个分类超平面将样本分开从而达到分类效果(见图1-24)。这种监督式学习的方法,可广泛地应用于统计分类以及回归分析。鉴于SVM强大的理论地位和实证结果,机器学习研究也自此分为神经网络和SVM两派。1997年,Freund和Schapire提出了另一个坚实的ML模型AdaBoostFreund, Yoav, Schapire, Robert E. A decision-theoretic generalization of on-line learning and an application to boosting. Journal of Computer and System Sciences,1997(55):119.,该算法最大的特点在于组合弱分类器形成强分类器,在脸部识别和检测方面应用很广。2001年,Breiman提出可以将多个决策树组合成为随机森林Breiman, Leo. Random Forests. Machine Learning,2001,45(1):5-32.,它可以处理大量输入变量,学习过程快,准确度高(见图1-25)。随着该方法的提出,SVM在许多之前由神经网络占据的任务中获得了更好的效果,神经网络已无力和SVM竞争。之后虽然深度学习的兴起给神经网络带来了第二春,使其在图像、语音、NLP等领域都取得了领先成果,但这并不意味着其他机器学习流派的终结。深度神经网络所需的训练成本、调参复杂度等问题仍备受诟病,SVM则因其简单性占据了一席之地,在文本处理、图像处理、网页搜索、金融征信等领域仍有着广泛应用。

图1-24 支持向量机(SVM)图示

图1-25 浅层学习算法发展历史

另一个重要领域是强化学习,这个因AlphaGo而为人所熟知的概念,从60年代诞生以来,一直不温不火地发展着,直到在AlphaGo中与深度学习的创造性结合让它重获新生。

1967年,Samuel发明的下棋程序是强化学习的最早应用雏形。但在六七十年代,人们对强化学习的研究与监督学习、模式识别等问题混淆在一起,导致进展缓慢。进入80年代后,随着对神经网络的研究取得进展以及基础设施的完善,强化学习的研究再现高潮。1983年,Barto通过强化学习使倒立摆维持了较长时间。另一位强化学习大牛Sutton也提出了强化学习的几个主要算法,包括1984年提出的AHC算法Sutton, Richard S. Temporal Credit Assignment in Reinforcement Learning(PhD thesis). University of Massachusetts, Amherst, MA,1984.,之后又在1988年提出TD方法Sutton, Richard S. Learning to predict by the method of temporal differences. Machine Learning,1988(3):9-44.。1989年,Watkins提出著名的Q-learning算法。Watkins, Christopher J. C. H. Learning from Delayed Rewards(PDF)(PhD thesis). King's College, Cambridge, UK,1989.随着几个重要算法被提出,到了90年代,强化学习已逐渐发展成为机器学习领域的一个重要组成部分。

最新也是最大的一个里程碑事件出现在2016年,谷歌旗下DeepMind公司的David Silver创新性地将深度学习和强化学习结合在了一起,打造出围棋软件AlphaGo,接连战胜李世石、柯洁等一众世界围棋冠军,展现了强化学习的巨大威力(见图1-26)。

图1-26 强化学习算法发展历史

技术方向的发展

计算机视觉

“看”是人类与生俱来的能力。刚出生的婴儿只需要几天的时间就能学会模仿父母的表情,人们能从复杂结构的图片中找到关注重点、在昏暗的环境下认出熟人。随着人工智能的发展,机器也试图在这项能力上匹敌甚至超越人类。

计算机视觉的历史可以追溯到1966年,人工智能学家Minsky在给学生布置的作业中,要求学生通过编写一个程序让计算机告诉我们它通过摄像头看到了什么,这也被认为是计算机视觉最早的任务描述。到了七八十年代,随着现代电子计算机的出现,计算机视觉技术也初步萌芽。人们开始尝试让计算机回答出它看到了什么东西,于是首先想到的是从人类看东西的方法中获得借鉴。借鉴之一是当时人们普遍认为,人类能看到并理解事物,是因为人类通过两只眼睛可以立体地观察事物。因此要想让计算机理解它所看到的图像,必须先将事物的三维结构从二维的图像中恢复出来,这就是所谓的“三维重构”的方法。借鉴之二是人们认为人之所以能识别出一个苹果,是因为人们已经知道了苹果的先验知识,比如苹果是红色的、圆的、表面光滑的,如果给机器也建立一个这样的知识库,让机器将看到的图像与库里的储备知识进行匹配,是否可以让机器识别乃至理解它所看到的东西呢,这是所谓的“先验知识库”的方法。这一阶段的应用主要是一些光学字符识别、工件识别、显微/航空图片的识别等等。

到了90年代,计算机视觉技术取得了更大的发展,也开始广泛应用于工业领域。一方面是由于GPU、DSP等图像处理硬件技术有了飞速进步;另一方面是人们也开始尝试不同的算法,包括统计方法和局部特征描述符的引入。在“先验知识库”的方法中,事物的形状、颜色、表面纹理等特征受到视角和观察环境的影响,在不同角度、不同光线、不同遮挡的情况下会产生变化。因此,人们找到了一种方法,通过局部特征的识别来判断事物,通过对事物建立一个局部特征索引,即使视角或观察环境发生变化,也能比较准确地匹配上(见图1-27)。

图1-27 基于局部特征识别的计算机视觉技术

进入21世纪,得益于互联网兴起和数码相机出现带来的海量数据,加之机器学习方法的广泛应用,计算机视觉发展迅速。以往许多基于规则的处理方式,都被机器学习所替代,自动从海量数据中总结归纳物体的特征,然后进行识别和判断。这一阶段涌现出了非常多的应用,包括典型的相机人脸检测、安防人脸识别、车牌识别等等。数据的积累还诞生了许多评测数据集,比如权威的人脸识别和人脸比对识别的平台——FDDB和LFW等,其中最有影响力的是ImageNet,包含1400万张已标注的图片,划分在上万个类别里。

到了2010年以后,借助于深度学习的力量,计算机视觉技术得到了爆发增长,实现了产业化。通过深度神经网络,各类视觉相关任务的识别精度都得到了大幅提升。在全球最权威的计算机视觉竞赛ILSVR(ImageNet Large Scale Visual Recognition Competition)上,千类物体识别Top-5错误率在2010年和2011年时分别为28.2%和25.8%,从2012年引入深度学习之后,后续4年分别为16.4%、11.7%、6.7%、3.7%,出现了显著突破。由于效果的提升,计算机视觉技术的应用场景也快速扩展,除了在比较成熟的安防领域应用外,也应用于金融领域的人脸识别身份验证、电商领域的商品拍照搜索、医疗领域的智能影像诊断、机器人/无人车上作为视觉输入系统等,包括许多有意思的场景:照片自动分类(图像识别+分类)、图像描述生成(图像识别+理解)等等(见图1-28)。

图1-28 计算机视觉发展历程

语音技术

语言交流是人类最直接最简洁的交流方式。长久以来,让机器学会“听”和“说”,实现与人类的无障碍交流一直是人工智能、人机交互领域的一大梦想。

早在电子计算机出现之前,人们就有了让机器识别语音的梦想。1920年生产的“Radio Rex”玩具狗可能是世界上最早的语音识别器,当有人喊“Rex”的时候,这只狗能够从底座上弹出来(见图1-29)。但实际上它所用到的技术并不是真正的语音识别,而是通过一个弹簧,这个弹簧在接收到500赫兹的声音时会自动释放,而500赫兹恰好是人们喊出“Rex”中元音的第一个共振峰。第一个真正基于电子计算机的语音识别系统出现在1952年,AT&T贝尔实验室开发了一款名为Audrey的语音识别系统,能够识别10个英文数字,正确率高达98%。70年代开始出现了大规模的语音识别研究,但当时的技术还处于萌芽阶段,停留在对孤立词、小词汇量句子的识别上。

图1-29 “Radio Rex”玩具狗

80年代是技术取得突破的时代,一个重要原因是全球性的电传业务积累了大量文本,这些文本可作为机读语料用于模型的训练和统计。研究的重点也逐渐转向大词汇量、非特定人的连续语音识别。那时最主要的变化来自用基于统计的思路替代传统的基于匹配的思路,其中的一个关键进展是隐马尔科夫模型(HMM)的理论和应用都趋于完善。工业界也出现了广泛的应用,德州仪器研发了名为Speak & Spell语音学习机,语音识别服务商Speech Works成立,美国国防部高级研究计划局(DARPA)也赞助支持了一系列语音相关的项目。

90年代是语音识别基本成熟的时期,主流的高斯混合模型GMM-HMM框架逐渐趋于稳定,但识别效果与真正实用还有一定距离,语音识别研究的进展也逐渐趋缓。由于80年代末90年代初神经网络技术的热潮,神经网络技术也被用于语音识别,提出了多层感知器-隐马尔科夫模型(MLP-HMM)混合模型。但是性能上无法超越GMM-HMM框架。

突破的产生始于深度学习的出现。随着深度神经网络(DNN)被应用到语音的声学建模中,人们陆续在音素识别任务和大词汇量连续语音识别任务上取得突破。基于GMM-HMM的语音识别框架被基于DNN-HMM的语音识别系统所替代,而随着系统的持续改进,又出现了深层卷积神经网络和引入长短时记忆模块(LSTM)的循环神经网络(RNN),识别效果得到了进一步提升,在许多(尤其是近场)语音识别任务上达到了可以进入人们日常生活的标准。于是我们看到以Apple Siri为首的智能语音助手、以Echo为首的智能硬件入口等等。而这些应用的普及,又进一步扩充了语料资源的收集渠道,为语言和声学模型的训练储备了丰富的燃料,使得构建大规模通用语言模型和声学模型成为可能(见图1-30)。

图1-30 语音技术发展历程

自然语言处理

人类的日常社会活动中,语言交流是不同个体间信息交换和沟通的重要途径。因此,对机器而言,能否自然地与人类进行交流、理解人们表达的意思并做出合适的回应,被认为是衡量其智能程度的一个重要参照,自然语言处理也因此成为了绕不开的议题。

早在20世纪50年代,随着电子计算机的出现,产生了许多自然语言处理的任务需求,其中最典型的就是机器翻译。当时存在两派不同的自然语言处理方法:基于规则方法的符号派和基于概率方法的随机派。受限于当时的数据和算力,随机派无法发挥出全部的功力,使得符号派的研究略占上风。体现到翻译上,人们认为机器翻译的过程是在解读密码,试图通过查询词典来实现逐词翻译,这种方式产出的翻译效果不佳、难以实用。当时的一些成果包括1959年宾夕法尼亚大学研制成功的TDAP系统(Transformation and Discourse Analysis Project,最早的、完整的英语自动剖析系统)、布朗美国英语语料库的建立等。IBM-701计算机进行了世界上第一次机器翻译试验,将几个简单的俄语句子翻译成了英文。在这之后,苏联、英国、日本等国家也陆续进行了机器翻译试验。

1966年,美国科学院的语言自动处理咨询委员会(ALPAC)发布了一篇题为《语言与机器》的研究报告,报告全面否定了机器翻译的可行性,认为机器翻译不足以克服现有困难,难以投入使用。这篇报告浇灭了之前的机器翻译热潮,许多国家开始削减这方面的经费投入,许多相关研究被迫暂停,自然语言研究陷入低谷。许多研究者痛定思痛,意识到两种语言间的差异不仅体现在词汇上,还体现在句法结构的差异上,为了提升译文的可读性,应该加强语言模型和语义分析的研究。里程碑事件出现在1976年,加拿大蒙特利尔大学与加拿大联邦政府翻译局联合开发了名为TAUM-METEO的机器翻译系统,提供天气预报服务。这个系统每小时可以翻译6万~30万个词,每天可翻译1000~2000篇气象资料,并能够通过电视、报纸立即公布。在这之后,欧盟、日本也纷纷开始研究多语言机器翻译系统,但并未取得预期的成效。

到了90年代,自然语言处理进入了发展繁荣期。随着计算机的计算速度和存储量大幅增加、大规模真实文本的积累产生,以及被互联网发展激发出的、以网页搜索为代表的基于自然语言的信息检索和抽取需求出现,人们对自然语言处理的热情空前高涨。在传统的基于规则的处理技术中,人们引入了更多数据驱动的统计方法,将自然语言处理的研究推向了一个新高度。除了机器翻译之外,网页搜索、语音交互、对话机器人等领域都有自然语言处理的功劳。

进入2010年以后,基于大数据和浅层、深层学习技术,自然语言处理的效果得到了进一步优化。机器翻译的效果进一步提升,出现了专门的智能翻译产品。对话交互能力被应用在客服机器人、智能助手等产品中。这一时期的一个重要里程碑事件是IBM研发的Watson系统参加综艺问答节目Jeopardy。比赛中Watson没有联网,但依靠4TB磁盘内200万页结构化和非结构化的信息,成功战胜了人类选手取得冠军,向世界展现了自然语言处理技术的实力(见图1-31)。机器翻译方面,谷歌推出的神经网络机器翻译(GNMT)相比传统的基于词组的机器翻译(PBMT),英语到西班牙语的错误率下降了87%,英文到中文的错误率下降了58%,取得了非常强劲的提升(见图1-32)。

图1-31 IBM Watson在综艺问答节目Jeopardy中获胜

图1-32 自然语言处理发展历程

规划决策系统

人工智能规划决策系统的发展,一度是以棋类游戏为载体的。最早在18世纪的时候,就出现过一台能下棋的机器,击败了当时几乎所有的人类棋手,包括拿破仑和富兰克林等。不过最终被发现机器里藏着一个人类高手,通过复杂的机器结构以混淆观众的视线,只是一场骗局而已。真正基于人工智能的规划决策系统出现在电子计算机诞生之后,1962年时,Arthur Samuel制作的西洋跳棋程序Checkers经过屡次改进后,终于战胜了州冠军。当时的程序虽然还算不上智能,但已经具备了初步的自我学习能力,这场胜利在当时引起了巨大的轰动,毕竟是机器首次在智力的角逐中战胜人类。这也让人们发出了乐观的预言:“机器将在十年内战胜人类象棋冠军”。

但人工智能所面临的困难比人们想象得要大很多,跳棋程序在此之后也败给了国家冠军,未能更上一层楼。而与跳棋相比,国际象棋要复杂得多,在当时的计算能力下,机器若想通过暴力计算战胜人类象棋棋手,每步棋的平均计算时长是以年为单位的。人们也意识到,只有尽可能减少计算复杂度,才可能与人类一决高下。于是,“剪枝法”被应用到了估值函数中,通过剔除掉低可能性的走法,优化最终的估值函数计算。在“剪枝法”的作用下,西北大学开发的象棋程序Chess4.5在1976年首次击败了顶尖人类棋手。进入80年代,随着算法上的不断优化,机器象棋程序在关键胜负手上的判断能力和计算速度上大幅提升,已经能够击败几乎所有的顶尖人类棋手。

到了90年代,硬件性能、算法能力等都得到了大幅提升,在1997年那场著名的人机大战中,IBM研发的深蓝(Deep Blue)战胜国际象棋大师卡斯帕罗夫,人们意识到在象棋游戏中人类已经很难战胜机器了(见图1-33)。

图1-33 IBM深蓝战胜国际象棋大师卡斯帕罗夫

到了2016年,硬件层面出现了基于GPU、TPU的并行计算,算法层面出现了蒙特卡洛决策树与深度神经网络的结合。4∶1战胜李世石;在野狐围棋对战顶尖棋手60连胜;3∶0战胜世界排名第一的围棋选手柯洁,随着棋类游戏最后的堡垒——围棋也被AlphaGo所攻克,人类在完美信息博弈的游戏中已彻底输给机器,只能在不完美信息的德州扑克和麻将中苟延残喘。人们从棋类游戏中积累的知识和经验,也被应用在更广泛的需要决策规划的领域,包括机器人控制、无人车等等。棋类游戏完成了它的历史使命,带领人工智能到达了一个新的历史起点(见图1-34)。

图1-34 规划决策系统发展历程

人工智能的第三次浪潮

自1956年夏天在达特茅斯夏季人工智能研究会议上人工智能的概念被第一次提出以来,人工智能技术的发展已经走过了60年的历程。在这60年里,人工智能技术的发展并非一帆风顺,其间经历了20世纪50—60年代以及80年代的人工智能浪潮期,也经历过70—80年代的沉寂期。随着近年来数据爆发式的增长、计算能力的大幅提升以及深度学习算法的发展和成熟,我们已经迎来了人工智能概念出现以来的第三个浪潮期。然而,这一次的人工智能浪潮与前两次的浪潮有着明显的不同。基于大数据和强大计算能力的机器学习算法已经在计算机视觉、语音识别、自然语言处理等一系列领域中取得了突破性的进展,基于人工智能技术的应用也已经开始成熟。同时,这一轮人工智能发展的影响已经远远超出学界之外,政府、企业、非营利机构都开始拥抱人工智能技术。AlphaGo对李世石的胜利更使得公众开始认识、了解人工智能。我们身处的第三次人工智能浪潮仅仅是一个开始。在人工智能概念被提出一个甲子后的今天,人工智能的高速发展为我们揭开了一个新时代的帷幕。