长久以来,我们一直认为智能不只是人类所独有的,可以像人类一样进行推理和学习的机器是完全可能被制造出来的,然而事情却不像想的那样简单。
模拟人工智能
在百科全书上,人工智能的定义是"研究可以智能工作的机器的科学和工程"。不过一个令人纠结的问题是:到底什么是智能?很多情况下,那些"不智能"的机器比我们聪明多了,比如普通的计算机程序可以将成千上万个数字的乘积,可以记录下银行的大量款项,这已经超出了普通人的能力。可是,他们只是能正确地完成大量计算而已,还称不上真正的"智能"。只有某些人类特有的能力,像认出一张熟悉的脸,指挥繁忙时段的交通或者学会一件乐器,才称得上真正的"智能"。
为什么制造一台智能机器这么难?这是因为,一般情况下,在给电脑编写程序之前,程序员知道他想让电脑做的任务是什么。可是,在人工智能领域,程序员要求电脑做正确的事情,可同时又不是很清楚事情到底是什么。比如我们让电脑去识别人脸,可是我们人类自己也不是完全清楚大脑是如何识别人脸的。
在现实世界中,我们不仅要面对还要处理种种不确定性事件。比如你在达到一个目标前,受到诸多困难,你需要排除万难;你在驾车时,前方冲出一辆车,你需要转动方向盘避免撞车;你在处理一项任务时,突然接到另一项重要任务,你需要随机应变。一个智能的电脑程序不仅能够按照既定计划完成任务,还能确保在不确定事件发生的情况下完成任务。所以,真正的人工智能,必须能够感知周围环境的变化,并对此做出反应,适时改变和调整自己的行动,以期出色完成任务。
哲学起源
在世界上第一台电脑问世之前的很多个世纪,人工智能的理念就已经初具端倪。亚里士多德提出的从假设得出结论的"三段论"就是一种机械式的逻辑推理方法。按照他的理论,我们可以这样论述:一些天鹅是白的;所有天鹅都是鸟;所以,一些鸟是白的。如果用符号表示,即为:一些S是W;所有的S都是B;所以,一些B是W。无论S、W、B代表什么,我们都可以得到正确结论。根据这样的构想,我们在没有完全弄清楚人脑是如何想问题的情况下,或许就可以建立出一套智能化系统。
亚里士多德的构想为探寻人工智能的本质奠定了基础。然而,直到20世纪中期,电脑才变得足够复杂,能够真正测试一下这些构想。1948年,英国布里斯托尔大学的研究人员格雷·沃尔特制造出一系列具有感光和学习能力的会移动的机器乌龟。其中一个名为艾尔西(Elsie)的机器乌龟可以自动对环境做出反应,比如当电池电量快耗尽时,它就会自动降低对光线的敏感度。
1950年,英国数学家阿兰·图灵提出,如果电脑可以和一个人谈话自如,我们应该"礼貌地"接受电脑可以思考的现实。不过,直到1956年,人工智能这个词语才被正式提出来。在美国达特茅斯学院的一个暑期研讨会上,这个领域的早期创始者们共同提出了他们的愿景:如果学习的各种方式或智能的各种特征都可以从理论上进行精确描述,那么,一台机器就可以模拟人的智能。似乎按照这样的目标快速发展,拥有真人一般智能的机器早晚会出现。
化整为零
20世纪60年代,研究人工智能的科学家们满怀梦想,信心十足,认为他们将在几十年内实现他们的目标,就像航天领域里,从第一架喷气式飞机到人类登上月球也只用了30年。为什么人工智能不可以拥有这样火箭般的发展速度呢?
事实上,两者之间最大的不同之处在于,对于人工智能,我们找不到像F=ma和E=mc2那样既简洁又通用的公式。到了20世纪80年代,研究人员意识到,他们既没有足够硬件也没有足够知识,来模拟人可以做的所有事情,于是整个领域被分成很多部分。以往研究人员的共同目标是制造一台拥有人类智慧的电脑,取而代之的是,研究人员侧重研究这个宏大问题的某个方面,比如语音识别、计算机视觉、概率推理,甚至国际象棋这个小领域。
可喜的是,在每个分支领域,研究人员都取得重大突破。1997年,IBM的"更深的蓝"电脑击败了国际象棋冠军卡斯帕罗夫。"更深的蓝"电脑能在1秒内计算出2亿种可能性,从而推算出之后棋盘的走势,最终决定下一步怎么走棋。
"更深的蓝"电脑在这场需要高智能的象棋比赛中取得骄人成绩,然而,这位"专家"的技能有点单一,除了象棋比赛外,它什么都不会做,既不能和别人讨论下棋策略,也不会玩其他游戏。尽管它赢了世界象棋大师,但是没有人会把它错当作真人,它只是一台电脑。
人工智能的时间线
1950年,图灵提出,经过编程的电子计算机可以像真人一样回答问题
1956年,在美国达特茅斯学院的一个暑期工作坊上,这个领域的早期创始者们正式提出了"人工智能"这个词汇
1958年 Allen Newell和Herbert Simon预测在十年内,电脑可以击败国际象棋世界冠军,不过在现实中这整整花了四十年。
1961年,电脑解决了大学一年级程度的微积分题目
1965年,世界上第一个用于心理治疗的聊天机器人ELIZA,尝试着和人进行对话
1967年,STUDENT程序成功地解决了用文字描述的一道大学程度的代数题目
1973年,Freddy机器人通过视觉感知来定位和组装了模型
1974年,随着政府资助机构减少了对于人工智能研究的拨款预算,人工智能寒冬到来
1975年,斯坦福大学的Meta-DENDRAL程序发现关于分子的新规律,成果被发表在了美国化学学会的期刊上
1980年,自动行驶的汽车在慕尼黑大学里以90公里/小时的速度行驶
1988年,人工智能的主要形式变为基于不确定数据的概率推理,而不再是以往那样侧重于逻辑
1989年,美国航天局(NASA)利用自动聚类的电脑程序发现以往未知的几类恒星
1997年,IBM"更深的蓝"超级电脑击败了国际象棋冠军卡斯帕罗夫
1998年,由Hasbro生产的第一个人工智能的宠物Furby开始在美国出售;美国航天局(NASA)第一次有了完全由电脑程序自动控制的飞行器
2000年,Nomad机器人探索南极洲的偏远地区,采集气象观测样本
2004年,一个电脑程序可以比一个专业级真人飞行员更快地学会操纵遥控直升机
2007年,美国艾尔伯特大学的人工智能程序完全破解了西洋跳棋游戏
2011年,苹果的语音识别软件Siri可以让用户和iPhone对话;iRobot公司出售出了第600万个RooMBA吸尘器机器人
2012年,Google翻译做的翻译总量已经超过了所有人类翻译者所做的总合
2012年,通过10亿个连接,Google的人工智能神经网络可以去识别一些常见的物体,像人脸和猫
或许你没有意识到,其实你每天都在和人工智能打交道。它们帮你接通电话,审核你的信用卡交易,管理你的基金。它们还能从你的数码照片中识别你的脸,在你玩视频游戏时识别你的姿势,甚至帮助医生分析你的化验结果。
益智游戏冠军
2011年,IBM向世界推出沃森(Watson),一个可以理解问题、并给出准确答案的超级计算机。沃森拥有3000个联网在一起的处理器,其中储存着几百万份文件,沃森可以利用这些海量的信息回答几乎所有问题。
IBM让沃森亮相美国一个电视问答娱乐节目《危险边缘》(Jeopardy!)。《危险边缘》一向以提出"拐弯抹角"的问题而出名,有点像国内的《开心辞典》和《幸运52》。这个游戏可比国际象棋复杂得多,沃森不仅需要综合所有人类知识,还需要理解问题中的双关语等文字游戏。
在沃森精彩舞台表现的背后,人工智能的一个分支领域——概率推理功不可没:这项技术帮助沃森从不完整的信息组合中提炼出完整答案。比赛前,IBM的工程师们把百科知识和以往《危险边缘》的节目资料塞进沃森的硬盘里,然后把沃森的电脑程序分成100个小程序,每个小程序负责一个方面。比如,一个程序负责"著名作家",另一个程序负责"食品"。比赛时,针对提出的问题,沃森的100个分程序各自从数据库里寻找答案,最终沃森综合这100个分程序的结果,选择最有可能正确的答案。比赛结果并不出乎意料,沃森曾经在电视节目中击败两位真人冠军。
不过,成为《危险边缘》的冠军并不是沃森的真正使命,I BM计划派给沃森更实用的任务,比如给医学、商业、农业等领域提供时效性强的重要信息。
无人驾驶汽车
行驶在美国拉斯维加斯的公路上,如果你看到一辆汽车的牌照是红色,其上印有无穷大符号,就要留意一下了,它是一辆无人驾驶的汽车。2012年初,美国内华达州为无人驾驶汽车发放了第一张牌照。
在世界上其他地方,无人驾驶汽车也会火起来吗?应该说,到现在为止,驾驶还是一项由真人司机占据主导地位的任务。虽然驾车称不上很难,但其中有太多变数,比如尾随你的汽车是以60千米/时还是70千米/时的速度行驶?角落里是否有一辆行驶在你的视角之外的汽车?如果你想超车,前面车的司机会不会突然加速?诸如此类的问题还有很多。
无人驾驶汽车行驶在公路上并不难。早在1994年,两辆无人驾驶汽车就曾经在环绕巴黎的公路上行驶了1 000千米。但是,如果让无人驾驶汽车在城市中穿行,任务一下子就变得困难很多,城市交通中很多不成文的规则会让无人驾驶汽车摸不到头脑。比如,如果谷歌公司的工程师严格按照司机守则为无人驾驶汽车编写程序,在十字路口上一定要为其他汽车让路,他们会发现,这台太过老实的无人驾驶汽车永远也没法走过这个路口。于是,他们对程序做了一点改进,当无人驾驶汽车等待一段时间后,就会自动缓慢向前移动,向其他汽车示意自己想要先走,而不只是傻傻地等待。
对于无人驾驶汽车来说,还有一个难题,即如何判断自己所处的位置。GPS有时并不靠谱,误差会达到几米之多。无人驾驶汽车不仅能使用GPS,还能同时开启照相机、雷达和测距激光,共同帮助校正GPS的数据。
除了担任驾驶职责外,无人驾驶汽车还能自动调节汽车燃料进出,提高能源利用率。代表前沿科技的无人驾驶汽车综合了多项人工智能技术,越来越被人们所接受。通过特别许可,谷歌公司的无人驾驶汽车已经在完全无人控制的情况下,在美国加利福尼亚州的公路和街区中穿行了成千上万千米。相信世界上其他地方很快也会接纳智能的无人驾驶汽车。
垃圾邮件猎手
如今,全世界的电子邮件中,每10封恐怕有9封都是垃圾邮件。如果这些垃圾邮件和正常邮件混在一起出现在你的收件夹里,电子邮件的方便快捷功能将大打折扣。通过垃圾邮件过滤器,你可以把垃圾邮件从收件夹里过滤出来。
要判断什么样的邮件才算是垃圾邮件,只要看一下邮箱主人打开邮箱后,把哪些邮件加上星号保留,哪些邮件看也不看就直接删掉即可。这些举动为垃圾邮件过滤器提供了最好的参考。电脑程序根据这些信息把每封邮件分解成很多个特征,每个特征可以是一个单词或词组,也可以是邮件发送的时间,还可以是发送邮件的电脑信息。这些特征可以帮助电脑程序判断一封邮件是否垃圾邮件。比如,一封邮件里包含"最低价格""精心包装"两个词组。根据全球统计数据,这两个词组在垃圾邮件中出现的概率高达8%和3%;而在正常邮件中,它们出现的概率只有0.1%和0.3%。之后根据数学上的贝叶斯定律公式,计算出这封邮件是垃圾邮件的概率高达99.9%。
重要的是,垃圾邮件过滤器需要根据经验不断更新判别模式。再好的垃圾邮件过滤器也会有犯错误的时候,可能放过坏邮件,也可能错杀好邮件。每当邮箱主人把一封垃圾邮件从垃圾邮件箱移回收件夹,或者标识并删除一封遗漏在收件夹里的垃圾邮件,垃圾邮件过滤器会立刻更正自己的参数,做出改进,以提高识别垃圾邮件的准确率。
自动翻译高手
2012年,"谷歌翻译"的翻译总量超过所有专业翻译员的翻译总量。"谷歌翻译"掌握65种语言,可以任选其中两种语言进行互译。"谷歌翻译"得以运行,全靠人工智能领域的概率推理技术。
很多年前,语言学家通过双语字典和语法规则来构建自动翻译系统。遗憾的是,这样做失败了,如此翻译会很生硬、不灵活。比如,在法语语法规则里,形容词一般置于名词后。而在英语语法规则里,形容词一般置于名词前。当然,也有例外的时候,比如,英语中表达"神奇的光"时,使用"the light fantastic"词组,形容词fantastic置于名词light之后。
过去十多年,自动翻译依靠的不再是语言学家手写的规则,而是从现实案例中学习而来的概率准则,就好像以往是通过背单词和记语法来学外语,而现在是通过身临语言环境中学习。自动翻译另外一个重要方面是电脑和真人之间的配合和交互,很多自动翻译系统都是先在互联网上搜集大量真人翻译过的文件作为参考。
当然,自动翻译还远远称不上完美,但是它正在被逐步改进——准确率越来越高,翻译的语言种类也越来越多。谷歌公司正在开发一个名为"翻译"(Translate)的安卓手机程序,当你与对方通话时,你可以说母语,该程序根据你的选择,把你所说的话转换成对方的母语,发送给对方,而对方在和你通话时也可以说母语。随着自动翻译技术的发展,一个被长久期盼的诱人目标将有机会实现——每个人不需要学习任何外语,就可以和世界各地的朋友进行交流。
让程序自我进化
现今大多数的人工智能系统如果完全依靠手动来编写程序,会变得很复杂,一个另辟蹊径的方法是让电脑程序自己进化自己。在虚拟的环境中,程序通过不断的迭代,尝试变化各种参数,在不断尝试和失败之中,程序逐渐"自然而然"变成设计者期望的样子。
首先,设计者们为程序搭建一个模拟环境。就垃圾邮件过滤器的程序而言,"环境"就是大量邮件,既包括正常邮件又包括垃圾邮件。然后,程序的不同版本同时在模拟环境中接受检验,输出各自不同的结果。在对结果进行评分后,分数差的程序被淘汰,分数好的程序被进一步修改。修改后的程序再次接受检验,同样优胜劣汰。如此往复,最后,程序可以自然进化成比较理想的状态。
这个过程其实有点类似自然界中所发生的"弱肉强食、适者生存"。而一个程序的某个参数被修改如同自然选择中的基因发生随机突变;两个程序还可以各取一部分交叉到一起产生一个新的程序,就如同动物交配产生后代一样。这种让程序自我进化的方法被称为"遗传算法"。
电脑也需要直觉
人永远不是绝对理性的,我们在做决定的时候会犯很多常见的错误,并且容易受到无关细节的干扰。有时,我们相信自己的直觉,未经深思熟虑,即匆忙做出决定。我们曾经认为,"冷静"的电脑不像人一样冲动,一定是件好事。可是,最近的认知科学研究发现,事实并非如此。
一个人先天具有两种互补的做决定的方式,一种是缓慢的、深思熟虑的、理性的,另一种是迅速的、冲动的,通过联系当前情况和以往经验,快速做出决定。第二种方式或许才是人类智能高效的关键。
不难想像,深思熟虑和理性必定要以耗费更多的时间和精力为代价。比如,有一辆车正迎面撞向你驾驶的车,你需要立刻做出反应,或者鸣笛,或者刹车,或者转向,而不是经过复杂的计算决定哪种选择最优,估计等结果算出来事故已经发生了。此时,快速反应成为关键。在非紧急情况下,这种快速反应同样有益。比如,如果每天都在认真思考到底穿深蓝色衣服还是浅蓝色衣服这类无伤大雅的问题,会浪费大量的时间和精力,耽误更重要的事情。
那么,是否应该给人工智能加入直觉成分呢?事实上,很多现代人工智能系统包含两部分,一部分用于瞬时反应,一部分用于理性分析。一些机器人使用多层系统结构,最底层只做反应;较高层则负责抑制这些反应,组织更多目标行为。这种方式很有效,控制步行机器人在凹凸不平的地面上行走就是一个例子。
另外一种方式是在人工智能程序中加入一些"情感"。比如,如果一个机器人反复尝试做一件事情,不断遭遇失败后,一个表达"气馁"情感的电路就可以"激励"机器人转换思路。人工智能的创始者之一马文·明斯基认为,情感并非人脑的一个独立事件,而是人脑的多个部分之间、人脑和身体之间的互作。毕竟,人是感性动物。在我们做出某些选择时,情感因素高于其他因素。如果一个电脑程序受到情感驱使,自然更像人类智能。
像大脑一样的机器
既然我们的目标是制造一台具有人类智能的机器,为何不直接复制一下人脑呢?毕竟,人类自己是智能的最好样本。过去几十年,神经科学为大脑如何处理和存储信息提供了很多新的认识。
人脑是由连接着1000亿个神经元的100万亿个神经突触组成的网络,这些神经突触和神经元的状态每秒改变10~100次。人脑的这种结构使得它非常擅长诸如在图片中辨认物体之类的任务。一台超级计算机拥有100万亿字节的内存,拥有的晶体管电路的运算速度比人脑至少快1亿倍,这种结构使得计算机擅长有明确定义、工作量大、要求精确的任务。
这两种结构各有优缺点。如果完成模糊性任务,人脑更占优势。比如,诸如识别面孔的任务,无需计算高度精确的电路。
相比于超级计算机,人脑是一台节能机器。人脑进行各种计算时,所需功率约20瓦,只相当于一个亮度很低的老式电灯泡。而一台进行类似计算的超级计算机所需功率约20万瓦。据统计,2010年,谷歌公司用电23亿千瓦时(度),相当于20.7万户美国家庭一年的用电量、41座帝国大厦一年的用电量。一个表面上看起来并非传统重工业的公司却是个耗电大户,这不由引发研究人员思考人脑的节能高效。
我们都知道,任何一台电脑都有CPU、内存和硬盘。假设CPU是你,内存是桌子,硬盘是柜子,而程序则是那些你放在柜子里的各种书籍、文件、玩具等,CPU负责运算和执行各个程序,硬盘存储着各个程序。如果想看书或玩玩具,你得先把相应的东西从柜子里拿出来放到桌面上,然后才可以在桌面上看书或玩玩具。桌子就相当于内存,是一个临时存储程序的地方。在电脑里,这三个部件缺一不可。可是,在人脑里,我们并没有相应的这些部件,处理、存储信息都是放在一起同时进行的。按照传统计算机的结构,你玩完玩具想去看书,需要先把玩具从桌子放回柜子里,然后再从柜子里拿一本书放到桌子上,完成多个不同任务需要一道道的工序,效率就会降低,可是人脑允许你同时做很多件事情,不需要做完一件再做另外一件。
据此,很多研究人员正在模仿人脑制造新型计算机:它们平行地而不是一件一件地完成任务,它们更加模拟化而不是数字化,它们虽然会慢一些但是耗能较少。