01 简史:互联网风云背后的人工智能生长(第3/8页)

以资讯分发当中的贝叶斯方法为例,可以构建一个用概率来描述的人格特征模型。比如男性读者模型的特征之一是在阅读新闻时点击军事新闻的概率是40%,而女性读者模型是4%。一旦一个读者点击了军事新闻,根据图1-2中的贝叶斯公式就可以逆推这个读者的性别概率,加上这个读者的其他行为数据,综合计算,就能比较准确地判断读者的性别以及其他特征。这就是数学的“神奇”。当然,计算机神经网络使用的数学方法远不止这些。

图1-2 贝叶斯与贝叶斯公式[1]

类似机器翻译的人工智能技术方法的前提是数据量足够大。互联网提供了以前科学家梦寐以求却难以得到的海量数据。互联网诞生的初衷是为了信息沟通方便,结果带来了信息爆炸,信息爆炸又促进了人工智能技术的发展。

再以下棋为例。1952年瑟·萨缪尔编写了跳棋程序,水平能达到业余高手程度。跳棋规则比较简单,计算机在这方面有人类很难比拟的优势,但是国际象棋就难多了。百度总裁张亚勤在微软担任研究院院长的时候,请来中国台湾计算机才子许峰雄,他在IBM(国际商业机器公司)的时候开发了名噪一时的国际象棋机器人“深蓝”。20世纪90年代的人工智能代表非“深蓝”莫属,“智慧”集中在一台超级计算机上[使用了多块CPU(中央处理器)并行计算技术],连续战胜人类国际象棋高手,并终于在1997年战胜了人类国际象棋冠军卡斯帕罗夫。不过富有意味的是,比赛之后不久,IBM就宣布“深蓝”退役了。张亚勤对许峰雄说,“你去做围棋吧,等能下赢我的时候再来找我”,但直到他离开微软,许峰雄都没有再来找过他。

“深蓝”本身面临一些无法突破的瓶颈,虽然可以处理国际象棋棋盘上的运算,但面对围棋棋盘上达到宇宙数量级变化的可能性,只能望洋兴叹。基于决策树算法,穷举一切走子可能性的模式超出了计算机的承载能力,虽然算法不断优化,但还是无法突破计算瓶颈。以围棋为代表的东方智慧,面对人工智能似乎可以稳若泰山,但一个新时代正在来临。

Internet的大会师

“深蓝”代表的计算机智能似乎与互联网无关,然而云计算和大数据的发展,使得人工智能和互联网终于合二为一,元神合体,获得了一种不同于“深蓝”时代的智慧模式。多芯片分布式计算加上人类积累的大数据,再通过超越决策树的新算法来贯通,体现了人类智慧与机器智慧的结合。

2016—2017年,AlphaGo(阿尔法围棋)横扫人类围棋高手圈。AlphaGo的下棋“思路”不同于人类,也不同于“深蓝”。简而言之,是千万盘人类围棋对弈的数据滋养了它。如果要给出更专业的解读,则可以说是蒙特卡洛搜索算法和基于深度学习的模式识别促成了AlphaGo的成就,其中最为重要的,恰恰是其前辈“深蓝”所不具备的深度学习。

根据各方的研究来看,AlphaGo不是自己想出棋着来,而是学习了人类高手的千万盘棋局(这就是大数据)。它记录下每个棋局中的每个局面,把上百万个局面当作输入进行训练,通过一个多层神经网络来预测人类高手会走出的下一着。经过巧妙的神经网络设计与训练,这个多层神经网建模了人类高手的“棋感”——对于当前局面,已知以往下棋历史中的胜率。在实际下棋时,计算机可以通过视觉识别记录下棋局,然后和以往的棋局数据比较,找到相同的模式(局面),再检索不同局面往后发展下去,根据以往下棋史中的胜率高低选出一些高质量的候选点供走子,而不必每个候选点都去尝试一遍,从而极大地减少系统运算量,不至于让系统“殚精竭虑”而死。这就像人类,不会穷尽所有候选点,而是根据经验和感觉选择某些点。选出几个点之后,人类还是要分别计算、比较哪个点更好。对于机器来说,这个计算就要交给蒙特卡洛搜索算法。

我们用一个不一定十分准确,但是形象的比喻来说明。蒙特卡洛树形搜索是对以往决策树算法的优化。对于以往的决策树算法,即便给了一个高质量的候选点,对于接下来的选择,它同样要进行穷举,在每个要选择的地方做一次分支,同样会遇到可选路径数量的指数爆炸。

蒙特卡洛方法就体现了概率学的精妙。假设在某个棋局局面下,深度学习网络给出了三个候选落子办法A、B、C,以这三个点为根节点,分别往下走子,可以想象成三棵树,每棵树还有无数分支。蒙特卡洛搜索不去穷尽所有分支,而是派出300万只蚂蚁分别从A、B、C出发,每个点100万只,飞速向树梢爬(也就是往下黑白棋交替走子直到决出胜负,基本上走200步就会分出胜负),总有部分蚂蚁走到最高点(也就是决出胜负,假设蚂蚁走到终点的情况代表黑子胜,没走到终点的情况代表白子胜)。

假设从A点出发的100万只蚂蚁有30万只到达终点,从B点出发的有50万只到达终点,从C点出发的有40万只到达终点,系统就认为黑子走B点胜率更高,就会选择B点。这就是概率学的取样算法,相比逐项穷举法,极大地缩减了计算量。

为什么派100万只蚂蚁而不是10万只或者1000万只?这是根据计算机的计算能力和对竞争对手的大致估计来确定的。如果派10万只蚂蚁就可以得到较高胜率,那么派10万只也可以。在相同时间内派出越多蚂蚁,对计算能力要求越高。

CPU芯片与GPU(图形处理器)芯片同时进行神经网络计算与蒙特卡洛树形搜索,模拟海量的终盘局面,这是人类计算能力无法相比的。由于采用深度学习建模了人类高手的棋感,看上去人工智能拥有了人类的大局观,而这个大局观恰恰蕴藏在人类高手的千万盘对弈数据里。

相信聪明的读者即便不太了解数学理论,也已经基本明白AlphaGo是怎么做的了,虽然具体的算法和策略要远比上面描述得复杂。AlphaGo向大众展现了一次当下人工智能/深度学习技术的发展水平。但实际上做同类研发的机构和人才很多,而且八仙过海,各显神通。

人类的行为一旦被互联网以数据的形式记录下来,就成为滋养人工智能在各行各业齐头并进,进而帮助人类自己的无穷无尽的燃料。机器翻译、语音识别、图像识别都是基于互联网提供的大量数据,用户点击行为也是如此。为什么百度搜索引擎的准确性是国内其他搜索引擎难以比拟的?因为数据量最大、算法最先进、积累最雄厚。用户的每一次点击其实都在训练搜索引擎背后的百度大脑,告诉它哪一条资讯才是用户最想要的。