从《西部世界》聊到人工智能

最近几个星期,有一部美剧可谓是火到不行,那就是HBO最新制作的《西部世界》,这部美剧的基础是上世纪80年代的同名美国科幻片(又译作《血洗乐园》)。

从《西部世界》聊到人工智能_第1张图片
美剧《西部世界》剧照

在这部美剧中,人类创造了一个“乐园”,乐园被设计成西部电影中的场景:沙漠、酒吧、木制教堂、牛仔和治安官。但特别的是,这个乐园中的人们实际上都是游戏中的“NPC”一样的存在,他们实际上是人类制造的具有人工智能的机器人(因为并未看到传统的机械结构,他们的内部也有类似肌肉、骨骼一类的组织,所以或许称为“仿生人”更加恰当)而已。“客人”们可以有偿地来到乐园中,对机器人为所欲为。

野风君今天的文章不是来剧透的,也不是单纯地向大家来推荐这部美剧,而是想和大家聊聊和这部美剧紧密相连的“人工智能”这个话题。

“人工智能”这个概念在近几年可谓是如雨后春笋,在和我们日常生活紧密联系的各个领域被一提再提乃至大肆炒作:“人工智能的语音助手”、“人工智能的地图导航”、“人工智能的安保系统”,等等的宣传语不胜枚举。看了《西部世界》之后,关于人工智能的讨论又火热了起来。很多人都很想知道影视作品中的那种难辨真假的人工智能产物究竟离我们还有多远。

首先,野风君认为,和影视剧中一样“难辨真假”的“人造人”或许给我们带来的并不一定是更加美好的生活。著名的“恐怖谷理论”也认为:和我们人类太过相似的机器人很可能会给我们带来天然的恐惧感,令我们对其感到反感。前不久,野风君听取的著名计算机科学家李开复的演讲中,他也坚定地认为:“可以成功的机器人产品一定是和真人不过分相似的。”尽管,李开复博士论述的角度有所不同,但是野风君也认为:和真人过分相似的“非人物体”不但是挑战科学伦理的,而且是可能带来很大灾难的。

施瓦辛格饰演的“终结者”

在我们的现实生活中,“人工智能”是正在高速发展的,他如今不仅成为了学界关注的热点,而且也得到了资本的青睐。但除了它所要达到的“智能”或许和很多朋友臆想的“极致拟人”不同之外,实现它的方式或许也并不和我们认为的一致。

“人工智能”需要教会机器“如何思考”,但实际上机器的“思考方式”却和人的有很大不同,当一个语音助手可以准确录入我们说的话,并且恰当断句时,很多人认为,这个“人工智能”已经明白了这句话的意思,所以才可以达到这样的效果。但实际上,如今盛行的“人工智能”是并没有这样的能力的。所以,让我们聊聊现今实现人工智能的核心技术——“机器学习”(Machine Learing)。

“机器学习”是什么

“机器学习”一词由计算机科学家阿瑟·萨缪尔(Arthur Samuel)提出,他将其定义为“不显式编程地给予计算机一定的功能”。这个定义或许有点晦涩,但有点编程经历的朋友都知道,计算机实际上是很笨的,你在程序中写入了“1+1”,计算机才知道计算出“2”这个结果,也就是说,我们想让计算机去做一件事,都得在程序代码中明明白白地(即“显式地”)写出来让他做的事情以及步骤和方法,然后才能让计算机去进行基础的、大量的和枯燥的计算,计算机才算是具有了一定的“功能”。

但通过机器学习,计算机解决问题的过程却越来越像是一个“黑箱”,也就是说它逐渐地不再需要我们去一步一步地下指令,它便可以去做一些事情了,而我们的代码对计算机的行为的规划也不再那么的“明确”,所以说,某种程度上,计算机仿佛是有了自己思想的能力(因为一个人可以给你他思考的结果,但你同样无法得知他思考的过程)。

计算机成为“棋王”之路

阿瑟·萨缪尔利用“机器学习”写出了一个西洋跳棋程序,这个程序可以通过对大量棋局的分析逐渐辨认出当前是一步“好棋”,还是“坏棋”。在后来,萨缪尔还用这个程序挑战了康涅狄格州的跳棋冠军,并且取得了胜利。也是从这之后,从IBM的“深蓝”战胜世界西洋棋棋王卡斯帕罗夫,一直到前不久google的AlphaGo战胜围棋高手李世石,人工智能的发展常常是踩着无数“棋王”的尸体走来的。从小爱下围棋的野风君每每想到这里,都觉得好气呀。

从《西部世界》聊到人工智能_第2张图片
阿瑟·萨缪尔和他的西洋棋程序

“人工智能”在不同领域的具体实现方式都有所不同,但机器学习的大致模式都是:通过对大量的数据的训练,增强自己的“思考能力”。说的通俗一点,就是计算机在看了很多的资料之后,可以依据概率和统计的原理来做出一个“是或否”的判断,从而为之后的局面做出一个“更好”的选择。比如,AlphaGo在看了无数盘大师们的棋局之后,知道了在遇到某个场面时,怎样落子可以增大自己赢的概率,同时,它还可以自己“左右互搏”,自己和自己下棋,从而积累更多的棋局数据。

大家都知道,一盘围棋从落第一枚棋子开始,一直到棋局结束,期间可能出现的每一步棋的不同组合的数量是有限的,所以理论上,如果计算机已经对所有的情况进行过“训练”,就可以对任意的棋局做出最优化的反应,人类棋手自然是不能取胜的。但实际上,受计算机性能和资源的制约,这种“穷举”的方法在围棋上还难以实现,但是我们可以认为,计算机看过越多的棋局,进行过越多的“训练”之后,它下棋的能力也会不断地提升,而这过程中,人类是不可能去显式编程对他进行一步一步的指导的(大家设想一下,如果AlphaGo的程序中有类似“如果第1步下在A点,第2步下在B点......第88步下在¥点,那么你的第89步应该下在@点”的指令,这会产生多么恐怖的代码量,这个程序的字符数可能比宇宙中的原子数目还多)

所以,一台计算机变成“棋王”的过程中,就是经历了这样一种“不断训练、吸取经验、自我优化”的过程的。虽然实际的棋类机器人,特别是AlphaGo的“迈向棋王之路”上还有着很多其他的内容,但主体的道路都只是“Practice makes perfect”(这句话应该直译为“练得越多,越厉害”)而已。而且,即使人工智能做出了很好的判断和选择,但它的逻辑和人类的“思考”依旧是大不相同的,它做出的只是基于数据和统计学的判断而已。

“自然语言处理”中的“机器学习”

关于“机器学习”,野风君再举一个例子。

在昨天,野风君看了一年一度的“科技节春晚”——锤子科技的新品发布会。整个发布会中,最引人注目的部分大概就是:罗永浩对着手机说出一串话,然后手机准确迅速地将这段语音信息处理成文字信息显示在手机上。显然,这是基于“人工智能”的,而这背后就牵扯到了“机器学习”应用的一大领域——“自然语言处理”(NLP)。

从《西部世界》聊到人工智能_第3张图片
手机智能地判断出了语段的断句方式

“自然语言”就是指我们人类日常说的语言,是相对于计算机的“机器语言”而存在的。关于这部分,野风君自知能力有限,只能聊聊最浅显的知识。

我们可以想想,如果我们有了大量的“语料”(此处指自然语言的材料,比如大量的语音记录等),那么通过上文提到的机器学习的训练方式,我们可以对这些语料进行训练,计算机便可以学习到不同断句方式正确的概率,比如在训练的语料中有十次出现“我回家吃饭”,而且计算机得知其中有九次都应该断句为“我/回家/吃饭”,仅有一次是“我回/家/吃饭”,那么在应用过程中,再遇到这句话,训练出来的这个人工智能就会选择前者的断句方式。而这背后,实际上是对“出现概率”和“正确几率”做出一种链接。

当然了,这只是给出了一种最简单,最理想的情况,真正的NLP中,会涉及到更多,更复杂的问题,比如对词语的划分,对不恰当语料的识别,对不同来源语料的区别对待(比如来自报纸的语料就来自口语的更加可信)等等。但是毫无疑问,只要是基于“机器学习”和统计学的自然语言处理,在拥有更多语料、经过更久训练之后,计算机就更可能拥有更高的准确率。比如,如今科大讯飞的语音识别引擎就已经比四年前野风君去讯飞总部时体验的“先进语音识别引擎”要强的太多了。

“人工智能”≠“人智”

从《西部世界》聊到人工智能_第4张图片

说了这么多,碍于能力限制,野风君也觉得自己讲的不够易懂,但希望能给大家带来一个印象,那就是:“人工智能”实际上并不是严格仿生学上的“模仿人的智力”(尽管如今人工智能领域的“人工神经网络”等词语仿佛和仿生学有很大关系,但实际上并没有太大关联),而且很大程度上,“人工智能”并不具有严格意义上的“思维”,它的功能的基础只是对已有数据的统计学处理和“经验归纳”而已。《西部世界》中,那种工程师修改一下程序,人造人的个性就发生很大改变,但又和真人难以分辨并且可以自主思考的“人工智能”离我们还是很远的。

最后,还是希望大家有空可以去看看《西部世界》这部美剧,尽管作为HBO制作的作品,它一如既往的有很多“少儿不宜”的画面,而且野风君也不认为这部美剧和很多人吹捧的一样“神”,但的确是值得一看的,特别是在如今这个“人工智能”快速走进我们生活的时代。

最后,大家也都别觉得“人工智能”是个多么高大上和复杂的东西,每个人都是可以不太困难地了解它的基本原理的。就像野风君的学长、人工智能科学家戴文渊说的:“AI(人工智能)这个如今看来高大上的东西,就和20年前制作网站一样,在20年后,也就是一件很平常的东西而已”

你可能感兴趣的:(从《西部世界》聊到人工智能)