01 简史:互联网风云背后的人工智能生长(第5/13页)
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(图形处理器)芯片同时进行神经网络计算与蒙特卡洛树形搜索,模拟海量的终盘局面,这是人类计算能力无法相比的。由于采用深度学习建模了人类高手的棋感,看上去人工智能拥有了人类的大局观,而这个大局观恰恰蕴藏在人类高手的千万盘对弈数据里。