世界等级分排名
文章来源:大象公会微博
文|李李 南戈
5 月 23 至 27 日,曾战胜围棋世界冠军李世石的谷歌人工智能 AlphaGo,在浙江乌镇挑战目前世界排名第一的人类棋手柯洁九段。
今天下午,柯洁首战告负,输四分之一子。
在人类棋手之间,这种结果说明双方棋艺基本旗鼓相当。所以有人据此认为,柯洁只是惜败。
事实上,柯洁远非惜败,而是 AlphaGo 完全掌控了棋局,在确保胜利的同时,不冒无谓的风险。
在这场人机大战开赛前,前谷歌大中华区总裁李开复就公开表示:柯洁必败毫无悬念。
不仅科技界人士这么认为,概率也显示柯洁几无胜算。根据国际职业围棋 Elo 等级分制度排名,可算出 AlphaGo 每盘的获胜概率为 99.37% 。说这是一场起重机与举重选手的比赛并不为过。
▍2016 年 7 月 18 日,AlphaGo 超越柯洁成为 Elo 排名第一(左侧排名),之后不久就被柯洁反超(右侧排名)。2017 年 2 月初,Go Ratings 网站删除了 AlphaGo、DeepZenGo 等围棋人工智能在该网站上的所有信息,目前世界排名第一的柯洁 Elo 3620/ 数据来自:gorating.org
▍AlphaGo 开发团队主管 David Silver 使用 Elo 算法评估 AlphaGo 的 Elo 为 4500。对阵柯洁,AlphaGo 的胜率 P(A) = 1/(1+10^((3620-4500)/400))/ 图片来自:Advanced Study Room
从击败樊麾二段(Elo 3000 左右),到击败李世石九段(Elo 3500 左右),AlphaGo 只用了五个月。相比之下,从 Elo 3300 到 3600,天才棋手柯洁走了将近五年。
▍柯洁的 Elo 上升路径/ 图片来自 goratings.org
2016 年底,AlphaGo 化名“Master”横扫围棋网战平台时,即已强大到让柯洁感叹“人类几千年来总结的棋谱都是错的”。
AlphaGo 为什么这么厉害?它到底是怎么下棋的?人类顶尖围棋高手在人工智能面前的集体溃败,意味着什么?
寡不敌众的世界冠军
早在 20 世纪 50 年代,计算机科学家就开始研究让人工智能与人类下棋了。棋盘游戏是人类智力的博弈,如果能达到顶尖棋手的水平、甚至超过他们,便可证明人工智能变得更聪明、更有灵活性。
人类下棋,是经验、理性与灵感的结合。
昭和棋圣吴清源就将决定围棋胜负的三个要素归纳为:实力、气力和运气。
以此标准,人工智能“先天不足”,只有理性,靠什么与人对弈?
一言以蔽之:搜索。
早在 1952 年,人工智能就通过穷举所有可能性的”暴力搜索“,在井字棋这样的小型棋类游戏中战无不胜。
![▍在谷歌搜索框中输入“tic-tac-toe”,就能跟电脑下井字棋/ 图片来源:theverge.com](http://tc.sinaimg.cn/maxwidth.2048/tc.service.weibo.com/mmbiz_qpic_cn/47de927622739565ecf0e2cc5fbbade3.jpg)
▍在谷歌搜索框中输入“tic-tac-toe”,就能跟电脑下井字棋/ 图片来源:theverge.com
下面这幅树状图,展示了井字棋游戏中可能出现的部分棋盘情况。
人工智能要做的,就是沿着这棵“游戏树”一步步往下搜索,在所有可能出现的棋盘局面中,根据最有利于己方的终局结果,向前回溯至当前节点,决定下一步应该怎么走。
但对棋盘更大、可能性更多的游戏,暴力搜索就行不通了,因为棋局的可能性远超人工智能的运算能力,纯靠搜索不可能下赢顶尖棋手。
国际象棋和围棋一度被认为是“人类智慧的最后堡垒”,原因就在于此。
![▍国际象棋的棋盘为 8x8 的网格,在对阵双方各走三步以后,可能出现的棋局就超过九百万种](http://tc.sinaimg.cn/maxwidth.2048/tc.service.weibo.com/mmbiz_qpic_cn/b65d5bcf2ce658fe9f6aaf25cf7c10c2.jpg)
▍国际象棋的棋盘为 8x8 的网格,在对阵双方各走三步以后,可能出现的棋局就超过九百万种
要在这类游戏中战胜人类,人工智能必须在暴力搜索的基础上优化改进。
取得突破的是 1997 年 IBM 开发的人工智能深蓝,它战胜了国际象棋世界冠军卡斯帕罗夫。这是历史上人工智能首次在正式比赛中,下赢国际象棋顶尖棋手。
相较用于井字棋的暴力搜索,深蓝的改进主要在两个方面:
一,优先搜索胜率最大的棋局,以便能预测更多步以后的棋盘情况;二,即便如此,也无法像井字棋那样搜索到最终局,这时就要评估当前棋局做出评估,判断下一步怎么走,未来胜率更大。
不论是搜索还是评估,深蓝的算法都包含了大量的人类智慧。深蓝仅评估算法就有 8000 多个部分,很多是为特定棋局专门设计的。为完善算法,提高胜率,IBM 还专门请来包括国际象棋特级大师乔尔·本杰明在内的多位顶尖棋手做参谋。
因此,与其说深蓝战胜了人类,不如说超级计算机+科学家+一群顶尖棋手,战胜了一个卡斯帕罗夫。
▍卡斯帕罗夫与深蓝对弈/ 图片来源:theverge.com
但是,深蓝这种人工调试算法的策略,在围棋上却难以取得相同战绩。
这是因为,围棋的可能性和变数都远超国际象棋,即使最顶尖的围棋选手,也很难用有逻辑的语言清晰阐释自己的下棋策略,更不用说把这种策略转化为计算机能够理解执行的编程语言。
人工智能的胜利
围棋的棋盘为 19x19 的网格,比国际象棋大,可能的下法(10^174)超过已知宇宙中所有原子数目的总和(10^80)。巨大的变数和可能性,让围棋棋道几乎成为一门玄学。
AlphaGo 下围棋的策略,与按人类预设剧本下棋的深蓝不同,其下棋算法没有经过人工调试,全部是靠自己“学会”的。
![▍AlphaGo 的“游戏树”/ 图片来源:Nature](http://tc.sinaimg.cn/maxwidth.2048/tc.service.weibo.com/mmbiz_qpic_cn/f6dcd646ba168f7d49a6b4d210c35fd4.jpg)
▍AlphaGo 的“游戏树”/ 图片来源:Nature
AlphaGo 怎么“学”?答案是人工神经网络。
人工神经网络是一种计算模型,可以在海量数据中找出规律。近年来,人工神经网络在人脸识别、机器翻译等领域被广泛应用。
▍如果人脸识别技术大规模应用,丁义珍就跑不了了
▍与人类神经网络类似,人工神经网络的基本单位是神经元。一个神经元可以接收多个输入,在计算后可以产生一个输出。一个神经网络有若干层,每一层由成百上千个神经元组成。A:生物神经元,B:人工神经元(左侧箭头代表多个输入,右侧箭头代表一个产生的输出),C:突触,D:人工神经网络/ 图片来源:InTechOpen
AlphaGo 使用了两种人工神经网络,一个是预测网络(policy network),一个是评估网络(value network)。预测网络用来预测对手下一步可能怎么走,评估网络则用来评估给定棋局下己方的获胜概率。
▍人工神经网络要用海量数据训练。AlphaGo 输入了至少三千万种棋局,自我博弈超过一百万次。在与李世石对决前,AlphaGo 预测对手的准确率达到 57%——超过半数的情况下,AlphaGo 能猜中对手下一步会怎么走/ 图片来源:Nature
相比深蓝,AlphaGo 采取的策略效率更高,战绩更辉煌。借助远胜于深蓝的计算能力和搜索策略,AlphaGo 搜索的深度与广度均大幅提高;深蓝要靠人工调试的算法才能战胜卡斯帕罗夫,AlphaGo 的下棋策略,却完全是靠自己在海量数据中摸索出来的。
这是真正的人工智能对职业棋手的胜利。
▍AlphaGo 的研发团队中仅有黄世杰博士(业余四段)一人会下围棋。在与李世石的对决中,黄博士代为执子。
理解了 AlphaGo 怎么下棋,就不难理解为什么柯洁必输。
首先,AlphaGo 的训练量、所见棋局和进步速度都远超柯洁。
AlphaGo 见过、下过的棋,以百万计。柯洁的训练量,我们做最乐观的粗略估算,也难以超过五万局。
▍根据启蒙老师李守胜的说法,“柯洁可以说还在娘胎里的时候,就是听着围棋声长大的”。我们假设 1997 年出生的柯洁,从负一岁就开始下棋,每天 24 小时不眠不休,每局 4 小时,在整整 21 年中,也只能下不到 5 万局。
需要指出的是,人类对棋谱的利用率远超人工智能。职业棋手通过几十局棋谱,就能大致摸清对手棋路。人工智能却需要至少数以万计的棋谱,才有可能发现其中规律。
而且,并非数据“喂”得越多,下棋水平越高。输入海量数据后,人工智能仍不得法的情况也很常见。
不过,一旦找到了规律,人工智能就进步神速。AlphaGo 只用两年,就从零起步登顶世界第一,手下败将包括李世石、聂卫平、柯洁。
这次与柯洁对弈的 AlphaGo,也不同于去年大战李世石的版本。
AlphaGo 有分布式版与单机版两个版本,去年与李世石对决,AlphaGo 还需动用分布式版全力以赴,今次只需单机版就能轻取棋艺更高的柯洁。两个版本的计算能力差距悬殊,单机版运行在 48 个CPU 和 8 个 GPU 上,分布式版运行在 1202 个 CPU 和 176 个 GPU 上。
或者说,对李世石是群殴,对柯洁是单挑。
▍2017 年初,AlphaGo 化名 Master,在在线快棋对决中,横扫中日韩顶尖棋手,获 60 胜 0 负 1 平。唯一一次平局是因为对手掉线,比赛不得不提前终止。击败聂卫平后,代为执子的黄世杰博士在对话框中敲出“谢谢聂老师”。
柯洁有没有可能通过研究 AlphaGo 的棋谱找到对手的弱点呢?
可能性非常小。时至今日,AlphaGo 的围棋下法已经超出了人类经验和理解力范畴。理论上,大家都知道,AlphaGo 是按概率下棋。但实战中,棋手猜不出 AlphaGo 下一步会怎么走,AlphaGo 却不仅猜得中,还算得出各种下法胜算几何。
数千年来,人类学习围棋的方式更多是依靠经验。这种经验可能来自前人棋谱,也可能来自长年累月的对弈训练出的“直觉”。
这种经验,既成就了柯洁,也束缚了柯洁。它让柯洁可以站在前人的肩膀上往更高处攀登,但也局限了他对围棋的理解和创新。
当看到 AlphaGo 下出棋论上的“臭棋”,却所向披靡时,柯洁便会发出文章开头那样的惊叹,认为人类几千年来在围棋上的所有积累都化为乌有了。
尽管柯洁试图跳出这种局限,但不论他研究 AlphaGo 的棋谱,还是和其他人工智能下棋,在 AlphaGo 强大的运算和预测能力面前,这样的努力都无异于大海捞针。
AlphaGo 的胜利,虽然难免给柯洁个人造成不快,但对更多人来说,体现的是意义非凡的技术进步。
如果把“寻找围棋的至高真理”看做一个悬疑千年未解的难题,将职业棋手和人工智能看做人类解决这个难题的不同尝试,AlphaGo 的胜利显然意义非凡,仿佛一百年前拖拉机的成功问世。
▍拖拉机的发明,让人类有了比马更高效的生产工具。上图显示了拖拉机出现后,美国农场 1910 年到 1960 年,拖拉机和马、骡子数量的增减对比。蓝色代表拖拉机,红色代表马和骡子/ 图片来源:Economic History Association
计算机科学家开发 AlphaGo,并不是为了给人类创造修身养性的工具,而是像谷歌研究总监彼得·诺维格所说,希望用人工智能解决人类自己也不知道如何解决的问题。
围棋是对抗类、回合制、无随机性的完全信息游戏,AlphaGo 的算法可以为具备同样条件的场景,提供解决问题的参考方案。
▍围棋的“无随机性”是指对手可以落棋的位置、手中的棋,以及开局以来到现在为止的所有棋盘信息都是已知的。扑克属于非完全信息游戏,有随机性,因为其他玩家手中的牌是未知的。
未来十年,如果具备精准决策能力的人工智能获得大范围的应用,金融、医疗、法律、交通、公共安全等领域都将发生翻天覆地的变化。
一年多来人类高手们的接连惨败,也许只是一个伟大故事的开头。