第一章 人工智能来了(第10/11页)

略懂些编程的人都知道,几乎所有程序设计语言都提供了类似“if……else……”的分支结构,即,如果程序发现某个条件已满足,就执行if之后的指令,否则就执行else之后的指令。那么,与“if……else……”相关的一个哲学问题是,程序根据某个条件进行判断并完成相应操作的时候,这个“判断”以及随后的“决定”是由计算机自己做出的,还是由编程序的人做出的?如果是由计算机自己做出的,那能不能说所有执行了“if……else……”语句的计算机程序都是人工智能?如果相反,那计算机根据运行时的情况做决策时,人又在哪里呢?

哲学思辨容易陷入这样的两难境地,但实用主义者根本不把这当回事——执行“if……else……”的程序是否有智能,完全要看那个程序是不是做了和人相似的有智能的事。像Dendral这样的专家系统就是靠大量“if……else……”来模仿人类专家的判定规则,这当然属于人工智能的范畴,而普通的数值计算程序即便用了“if……else……”,也不能被称作智能。

实用主义者推崇备至的一个例子是麻省理工学院于1964年到1966年开发的“智能”聊天程序ELIZA。这个程序看上去就像一个有无穷耐心的心理医生,可以和无聊的人或需要谈话治疗的精神病人你一句我一句永不停歇地聊下去。当年,ELIZA的聊天记录让许多人不敢相信自己的眼睛。可事实上,ELIZA所做的,不过是在用户输入的句子里,找到一些预先定义好的关键词,然后根据关键词从预定的回答中选择一句,或者简单将用户的输入做了人称替换后,再次输出,就像心理医生重复病人的话那样。ELIZA心里只有词表和映射规则,它才不懂用户说的话是什么意思呢。

这种实用主义的思想在今天仍有很强的现实意义。比如今天的深度学习模型在处理机器翻译、语音识别、主题抽取等自然语言相关的问题时,基本上都是将输入的文句看成由音素、音节、字或词组成的信号序列,然后将这些信号一股脑塞进深度神经网络里进行训练。深度神经网络内部,每层神经元的输出信号可能相当复杂,复杂到编程者并不一定清楚这些中间信号在自然语言中的真实含义,但没有关系,只要整个模型的最终输出满足要求,这样的深度学习算法就可以工作得很好。在研究者看来,深度学习模型是不是真的跟人类大脑神经元理解自然语言的过程类似,这一点儿都不重要,重要的是,整个模型可以聪明地工作,最终结果看起来就像人做的一样。

定义四 AI就是会学习的计算机程序

没有哪个完美主义者会喜欢这个定义。这一定义几乎将人工智能与机器学习等同了起来。但这的确是最近这拨人工智能热潮里,人工智能在许多人眼中的真实模样。谁让深度学习一枝独秀,几乎垄断了人工智能领域里所有流行的技术方向呢?

20世纪80年代到90年代,人们还在专家系统和统计模型之间摇摆不定,机器学习固守着自己在数据挖掘领域的牢固阵地远远观望。从2000年到2010年,短短十几年过去,机器学习开始逐渐爆发出惊人的威力,并最早在计算机视觉领域实现了惊人的突破。2010年至今,使用深度学习模型的图像算法在Image Net竞赛中显著降低了对象识别、定位的错误率。2015年,Image Net竞赛中领先的算法已经达到了比人眼更高的识别准确率23。就在同一年,语音识别依靠深度学习获得了大约49%的性能提升24。机器翻译、机器写作等领域也在同一时期逐渐被深度学习渗透,并由此获得了大幅改进。

“无学习,不AI”,这几乎成了人工智能研究在今天的核心指导思想。许多研究者更愿意将自己称为机器学习专家,而非泛泛的人工智能专家。谷歌的Alpha Go因为学习了大量专业棋手棋谱,然后又从自我对弈中持续学习和提高,因此才有了战胜人类世界冠军的本钱。微软的小冰因为学习了大量互联网上的流行语料,才能用既时尚,又活泼的聊天方式与用户交流。媒体上,被宣传为人工智能的典型应用大多都拥有深度学习的技术基础,是计算机从大量数据资料中通过自我学习掌握经验模型的结果。

这一定义似乎也符合人类认知的特点——没有哪个人是不需要学习,从小就懂得所有事情的。人的智慧离不开长大成人过程里的不间断学习。因此,今天最典型的人工智能系统通过学习大量数据训练经验模型的方法,其实可以被看成是模拟了人类学习和成长的全过程。如果说人工智能未来可以突破到强人工智能甚至超人工智能的层次,那从逻辑上说,在所有人工智能技术中,机器学习最有可能扮演核心推动者的角色。