昨日,不少网友可能都被一条消息给“震住了”——“面对谷歌围棋AI,人类最后的智力骄傲即将崩塌”①。这则消息讲的是谷歌公司旗下团队研制的计算机程序“阿尔法围棋”首次在没有让子的情况下,战胜里人类职业围棋选手。这个事情是真的吗?如果是真的,能说是人类被电脑打败了吗?《较真》为你解读。
查证过程
1、人工智能打败职业围棋选手确有其事
这次“阿尔法围棋(Alpha Go)”打败人类职业围棋选手的新闻,来自国际知名的科学期刊《自然(Nature)》的最新一期封面论文,谷歌旗下的这支团队在论文中介绍了如何大幅度提高里人工智能围棋的水平。被“阿尔法围棋”5:0比分打败的这名职业棋手叫樊麾,是连续几年的欧洲冠军。有读者或许清楚欧洲围棋水平远不如东亚,但樊麾本人是来自中国的棋手,在中国取得了职业二段证书。虽然樊麾定段的年代比较早,但终究也是职业棋手,与现在活跃的顶尖高手李世石、柯洁等,最多也就让两子水平的差距。
所以,至少可以认为,“阿尔法围棋”的水平已经摸到了人类职业棋手的边了,如果能在接下来在今年三月的人机大战中战胜曾经统治棋坛的李世石九段,其意义就相当于当年IBM超级电脑“深蓝”战胜国际象棋世界冠军卡斯帕罗夫。按国内职业高手李喆六段的初步判断,“阿尔法围棋”在棋谱中展现的棋力,“大约是顶尖棋手让先或让先倒贴的实力,离战胜人类还有一小段距离”,但这是去年10月的水平,今年3月会有怎样的表现,非常值得期待。
2、回顾电脑围棋的发展历史,“阿尔法围棋”的成就确实令人震惊
棋类运动,通常都是“完全博弈”,即所有信息都在棋盘上呈现,胜负完全不取决于运气,被认为是智力竞赛的极佳载体。在围棋之前,人工智能早已打败几乎所有棋类领域的人类专家,最典型的如国际象棋——电脑程序已经几乎研究透所有的开局库、残局库,中局计算的深度也远超人类,更重要是几乎从不犯错,已经没有任何人类能打败程序。
而来自东方的、具有数千年历史的围棋则不同,围棋被认为是“人类发明的最复杂也是最美的游戏”(谷歌团队就这个观点)。称围棋最复杂,是因为其变化非常之多——在国际象棋的任何一个回合,平均可能的走法有35种。但围棋的走法却能达到250种。而且,国际象棋或象棋的目标非常明确,就是“杀王”,每一个着法之后,对“杀王”有多少好处较易通过函数评估,而围棋是“地多者胜”,这个目标要相对抽象,导致估值函数非常不平滑,差一个子盘面就可能天翻地覆。人类高手可以轻易驾驭围棋,但程序却相当困难②。
可以非常粗略地把电脑围棋的发展历史分为三个时期。在电脑围棋发展的早期,主要是通过“人类手把手教电脑”的方式,来提升电脑围棋的水准——人类告诉电脑在特定情况下有哪些招法,告诉电脑怎么评估一手棋的好坏,然而这种函数评估都是“静态”的,而且很不准确,非常不善于应对变化,一般只对处于棋局初期的局面有一定作用,当棋局进入激烈厮杀后的中后盘后,往往就乱下一气。
在网站computer-go.info上面,有个记录人机围棋大战历史( Human-Computer Go Challenges)③的页面 ,从中可以看出电脑围棋程序挑战人类业余围棋高手乃至职业选手的艰苦历程。围棋人机对战最早从1986年就有记录,但一直发展到2005年,电脑程序还只能在被让15个子的情况下,与人类业余棋手苦苦抗衡。所以2008年的时候,聂卫平九段还认为“电脑围棋水平还停留在被人让二十多个子”。这足以说明早期围棋电脑程序实力还相当有限。
不过重大的变化在2005、2006年已经发生了,围棋程序普遍用上了一种叫“蒙特卡洛树搜索(MCTS)”的方法,来改进其算法的估值函数,这可以算作电脑围棋发展的第二个时期。“蒙特卡洛树搜索”是一种概率论的方法,通俗地来说,在一个特定的局面下,电脑大概有几个着点可以选择,怎么判断哪个着点最好?就是每个点都“试一下”,“试”的方式如下:选定一个着点后,用随机着法模拟完对局,模拟几千几万盘后,看胜率如何,胜率最高的着点就是最好的着点。使用这种方法改进算法后,电脑围棋的水平有里大幅度的进步,2007年,一个叫“MoGo”的程序在9路棋盘上打败了人类职业棋手。随后涌现的“Zen”、“Crazy Stone”等程序,慢慢达到了业余围棋好手的水平,与职业棋手的差距在四、五个子左右。
然而这种方法有其极限,其实质是一种“穷举法”,但围棋的变化实在太多了,再先进的硬件也无法穷举完所有变化,电脑计算能力变强也无济于事。而且,在很多人工智能的研究者看来,就算以后超超级计算机能够用穷举法战胜人类,也不能说解决了人工智能。直到最近几个月,以“蒙特卡洛树搜索”为核心的围棋程序还与职业棋手有鸿沟般的差距。
这就是为什么“阿尔法围棋”的横空出世极具震撼性。据《自然》上的这篇论文,“阿尔法围棋”不仅5:0战胜了樊麾二段,还在对阵其他围棋程序中,取得了495局比赛中494次胜利的成绩(99.8%)④。甚至在“阿尔法围棋”让其他程序四个子的情况下,还取得了绝对优势。这可以说是电脑围棋发展历史的第三个时期,目前距离人类顶尖水准已经非常接近了,而其中关键,正在于电脑已经能够“真正地”向人类学习如何来下棋,这与国际象棋程序“靠计算能力打败人类”有着本质上的不同。
3、“阿尔法围棋”取得如此成就的原因:机器学习
谷歌旗下团队之所以能够取得如此的重大突破,并不是毫无预兆的,与同样正在攻关电脑围棋的Facebook团队一样,他们都应用了一种叫做“深度卷积神经网络”的技术。这是人工智能领域非常热门的一项技术,广泛用于图像和语音的智能识别方面。
从广义的层面来说,“深度卷积神经网络”是“深度学习”的一个分支,而“深度学习”又是“机器学习”的一个分支。机器学习,指的是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法,是人工智能的热门领域⑤。这个说法听起来没有什么稀奇之处,然而,“深度学习”是一种模仿人类大脑神经元工作的技术,加上这一技术强调的是“自动”,所以深度学习会给人一种“活物”的感觉。在谷歌团队的论文里,多处用到了“训练”这个词——“阿尔法围棋”之所以这么厉害,就是因为团队用职业棋手的棋谱“训练”它,让它总结出职业高手下棋的招法和规律——用爱丁堡大学教授Amos Storkey的话来说,程序“并不是希望找出最优走法,而是学习人类的下棋风格,然后对人类棋手进行有效的复制。”⑥谷歌团队的论文也提到,“在与樊麾的比赛中,阿尔法围棋在评估位置方面要比深蓝与卡斯帕罗夫比赛时所评估的位置少几千倍”。
与初期的“人类手把手教电脑下围棋”相比,“自动学习”无疑是革命性的。据谷歌团队的说法,用这种方法做出的围棋程序水平,轻易就达到了最先进的蒙特卡洛树搜索算法的级别,两者再一结合,就达到了接近职业棋手的程度。
4、这是否能说明人工智能已经可以打败人类?说不定会全方面来临
电脑围棋真的战胜人类围棋高手了,到底有什么意义呢?能说明人类被人工智能打败了吗?很多人不以为然——“人工智能不也是人类创造出来的吗,即使人类下围棋下不过电脑了,那也不过是人类打败人类,怎么能说人类的智力骄傲崩塌了呢?”
从某种意义上来说,这种说法不算错。但在很多“未来学家”眼里,这种“青出于蓝而胜于蓝”的景象,说不定是令人恐惧的。机器并不是通过“死算”,而是通过“自我学习”,在能够象征人类智慧的棋类项目上战胜人类,在其他一些以前看起来只能人类做到而机器人无法做到的领域——诸如自动驾驶、人工智能客服等等,智能机器人说不定都能胜于人类,这种现象说不定会全方面地来临。到时候普通的人类们该如何自处呢?虽然这种人工智能还不具备“自我意识”,与科幻电影中那些跟人类无异的机器人还相去甚远,但会让这个世界会发生怎样的改变,恐怕也已经很难想象了。
结论
人工智能打败职业围棋选手确有其事,而且关键之处在于,人工智能并不仅仅是具有强大的计算能力,还能够通过“自动学习”的方式模仿人类的行动。人工智能的最新发展正展示着一个广阔而未知的未来。
①《面对谷歌围棋AI,人类最后的智力骄傲即将崩塌》,果壳网
②《计算机下棋的思考模式:特征识别和预测分析》,《科学世界》,2014
③“Human-Computer Go Challenges”,computer-go.info
④《Google人工智能击败欧洲围棋冠军,3月挑战世界冠军!》,微信公众号:新智元
⑤《一页纸说清楚“什么是深度学习?”》 ,吴怀宇
⑥《谷歌发表Nature封面论文破解围棋难题,Facebook却说“是我们先做到的”》,微信公众号:机器之心
⑦“Mastering the Game of Go with Deep Neural Networks and Tree Search”,《自然》,2016