迎战李世石:AlphaGo如何用“大脑”下棋

编者按:

韩国时间2月22日下午5时,“李世石-AlphaGO人机对战”的第二次新闻发布会在韩国棋院二楼进行,公布本次人机大战更多比赛细节:比赛将分别于3月9日、10日、12日、13日、15日在韩国首尔的Four Seasons酒店进行,开赛时间为每日韩国时间下午1点(中国时间中午12点)。比赛最终决定采用中国围棋竞赛规则,黑贴3又3/4子(7.5目),用时为每方2小时,3次1分钟读秒。Deep Mind公司youtube频道和韩国棋院围棋TV将对本次比赛进行全程直播报道。之前0:5不敌AlphaGo的欧洲围棋冠军樊麾,作为比赛裁判团队一员参与其中。

谷歌开发的人工智能围棋程序AlphaGo是如何用“大脑” 下棋的呢?你认为谁会赢?

文 | 董飞(硅谷工程师)

● ● ●

在象棋和国际象棋中,电脑软件都非常厉害,只有围棋是唯一“电脑下不过人类”的项目。而今年1月份有个爆炸性新闻:谷歌DeepMind开发的人工智能围棋程序AlphaGo以5:0的压倒性优势击败了欧洲围棋冠军、专业二段棋手。那么3月份AlphaGo会和韩国九段、世界冠军李世石进行对弈。如果此役AlphaGo获胜,这意味着人工智能真正里程碑式的胜利。


围棋。Gif来源:Wiki


这也引起了笔者好奇心,在春节期间,跟Facebook的田渊栋(他的背景无可挑剔,卡耐基梅隆大学机器人系博士,Google X 无人车核心团队,Facebook人工智能组研究员)交流,他做的也是计算机围棋AI--黑暗森林(熟悉三体的朋友知道怎么回事),今年1月份他的文章被机器学习顶级会议ICLR 2016接受(表达学习亦被江湖称作深度学习或者特征学,已经在机器学习社区开辟了自己的江山,成为学术界的一个新宠)。

他聊天中谈到自从谷歌收购了DeepMind,投入大量资源去做好人工智能项目,不为别的,就是要向世界证明谷歌智能的强大。发表在顶级期刊《Nature》的论文光看作者就20个,明显是下了血本,前两位都是计算机围棋界的大牛,一作David Silver是计算机围棋和强化学习的顶级专家,整个博士论文就是做的围棋; 二作Aja Huang以前写过多年围棋软件,自己又是AGA 6D的水平。

还是不多说废话,下面是SpinPunch CTO 对AlphaGo的工作原理解读(原文见参考资料):

谷歌DeepMind宣布他们研发的神经网络围棋AI,AlphaGo,战胜了人类职业选手。这篇论文由David Silver等完成。里面的技术是出乎意料地简单却又强大。为了方便不熟悉技术的小白理解,这里是我对系统工作原理的解读。

深度学习

“深度学习”是指多层的人工神经网络和训练它的方法。一层神经网络会把大量矩阵数字作为输入,通过非线性激活方法取权重,再产生另一个数据集合作为输出。这就像生物神经大脑的工作机理一样,通过合适的矩阵数量,多层组织链接一起,形成神经网络“大脑”进行精准复杂的处理,就像人们识别物体标注图片一样。

虽然神经网络在几十年前就有了,直到最近才形势明朗。这是因为他们需要大量的“训练”去发现矩阵中的数字价值。对早期研究者来说,想要获得不错效果的最小量训练都远远超过计算能力和能提供的数据的大小。但最近几年,一些能获取海量资源的团队重现挖掘神经网络,就是通过“大数据”技术来高效训练。

两个大脑

AlphaGo是通过两个不同神经网络“大脑”合作来改进下棋。这些大脑是多层神经网络跟那些Google图片搜索引擎识别图片在结构上是相似的。它们从多层启发式二维过滤器开始,去处理围棋棋盘的定位,就像图片分类器网络处理图片一样。经过过滤,13 个完全连接的神经网络层产生对它们看到的局面判断。这些层能够做分类和逻辑推理。

这些网络通过反复训练来检查结果,再去校对调整参数,去让下次执行更好。这个处理器有大量的随机性元素,所以我们是不可能精确知道网络是如何“思考”的,但更多的训练后能让它进化到更好。

第一大脑: 落子选择器 (Move Picker)

AlphaGo的第一个神经网络大脑是“监督学习的策略网络(Policy Network)” ,观察棋盘布局企图找到最佳的下一步。事实上,它预测每一个合法下一步的最佳概率,那么最前面猜测的就是那个概率最高的。你可以理解成“落子选择器”。


落子选择器是怎么看到棋盘的?数字表示最强人类选手会下在哪些地方的可能。

团队通过在KGS(网络围棋对战平台)上最强人类对手,百万级的对弈落子去训练大脑。这就是AlphaGo最像人的地方,目标是去学习那些顶尖高手的妙手。这个不是为了去下赢,而是去找一个跟人类高手同样的下一步落子。AlphaGo落子选择器能正确符合57%的人类高手。(不符合的不是意味着错误,有可能人类自己犯的失误)

更强的落子选择器

AlphaGo系统事实上需要两个额外落子选择器的大脑。一个是“强化学习的策略网络(Policy Network)”,通过百万级额外的模拟局来完成。你可以称之为更强的。比起基本的训练,只是教网络去模仿单一人类的落子,高级的训练会与每一个模拟棋局下到底,教网络最可能赢的下一手。Sliver团队通过更强的落子选择器总结了百万级训练棋局,比他们之前版本又迭代了不少。

单单用这种落子选择器就已经是强大的对手了,可以到业余棋手的水平,或者说跟之前最强的围棋AI媲美。这里重点是这种落子选择器不会去“读”。它就是简单审视从单一棋盘位置,再提出从那个位置分析出来的落子。它不会去模拟任何未来的走法。这展示了简单的深度神经网络学习的力量。

更快的落子选择器

AlphaGo当然团队没有在这里止步。下面我会阐述是如何将阅读能力赋予AI的。为了做到这一点,他们需要更快版本的落子选择器大脑。越强的版本在耗时上越久——为了产生一个不错的落子也足够快了,但“阅读结构”需要去检查几千种落子可能性才能做决定。

Silver团队建立简单的落子选择器去做出“快速阅读”的版本,他们称之为“滚动网络”。简单版本是不会看整个19*19的棋盘,但会在对手之前下的和新下的棋子中考虑,观察一个更小的窗口。去掉部分落子选择器大脑会损失一些实力,但轻量级版本能够比之前快1000倍,这让“阅读结构”成了可能。

第二大脑:棋局评估器 (Position Evaluator)

AlphaGo的第二个大脑相对于落子选择器是回答另一个问题。不是去猜测具体下一步,它预测每一个棋手赢棋的可能,在给定棋子位置情况下。这“局面评估器”就是论文中提到的“价值网络(Value Network)”,通过整体局面判断来辅助落子选择器。这个判断仅仅是大概的,但对于阅读速度提高很有帮助。通过分类潜在的未来局面的“好”与“坏”,AlphaGo能够决定是否通过特殊变种去深入阅读。如果局面评估器说这个特殊变种不行,那么AI就跳过阅读在这一条线上的任何更多落子。

局面评估器是怎么看这个棋盘的。深蓝色表示下一步有利于赢棋的位置。


局面评估器也通过百万级别的棋局做训练。Silver团队通过 复制两个AlphaGo的最强落子选择器,精心挑选随机样本创造了这些局面。这里AI 落子选择器在高效创建大规模数据集去训练局面评估器是非常有价值的。这种落子选择器让大家去模拟继续往下走的很多可能,从任意给定棋盘局面去猜测大致的双方赢棋概率。而人类的棋局还不够多恐怕难以完成这种训练。

增加阅读

这里做了三个版本的落子选择大脑,加上局面评估大脑,AlphaGo可以有效去阅读未来走法和步骤了。阅读跟大多数围棋AI一样,通过蒙特卡洛树搜索(MCTS)算法来完成。但AlphaGo 比其他AI都要聪明,能够更加智能的猜测哪个变种去探测,需要多深去探测。

蒙特卡洛树搜索算法


如果拥有无限的计算能力,MCTS可以理论上去计算最佳落子通过探索每一局的可能步骤。但未来走法的搜索空间对于围棋来说太大了(大到比我们认知宇宙里的粒子还多),实际上AI没有办法探索每一个可能的变种。MCTS做法比其他AI有多好的原因是在识别有利的变种,这样可以跳过一些不利的。

Silver团队让AlphaGo装上MCTS系统的模块,这种框架让设计者去嵌入不同的功能去评估变种。最后马力全开的AlphaGo系统按如下方式使用了所有这些大脑。

1. 从当前的棋盘布局,选择哪些下一步的可能性。他们用基础的落子选择器大脑(他们尝试使用更强的版本,但事实上让AlphaGo更弱,因为这没有让MCTS提供更广阔的选择空间)。它集中在“明显最好”的落子而不是阅读很多,而不是再去选择也许对后来有利的下法。

2. 对于每一个可能的落子,评估质量有两种方式:要么用棋盘上局面评估器在落子后,要么运行更深入蒙特卡罗模拟器(滚动)去思考未来的落子,使用快速阅读的落子选择器去提高搜索速度。AlphaGo使用简单参数,“混合相关系数”,将每一个猜测取权重。最大马力的AlphaGo使用 50/50的混合比,使用局面评估器和模拟化滚动去做平衡判断。

这篇论文包含一个随着他们使用插件的不同,AlphaGo的能力变化和上述步骤的模拟。仅使用独立大脑,AlphaGo跟最好的计算机围棋AI差不多强,但当使用这些综合手段,就可能到达人类职业选手水平。

AlphaGo的能力变化与MCTS的插件是否使用有关。


这篇论文还详细讲了一些工程优化:分布式计算,网络计算机去提升MCTS速度,但这些都没有改变基础算法。这些算法部中分精确,部分近似。在特别情况下,AlphaGo通过更强的计算能力变的更强,但计算单元的提升率随着性能变强而减缓。

优势和劣势

我认为AlphaGo在小规模战术上会非常厉害。它知道通过很多位置和类型找到人类最好的下法,所以不会在给定小范围的战术条件下犯明显错误。

但是,AlphaGo有个弱点在全局判断上。它看到棋盘式通过5*5金字塔似的过滤,这样对于集成战术小块变成战略整体上带来麻烦,同样道理,图片分类神经网络往往对包含一个东西和另一个的搞不清。比如说围棋在角落上一个定式造成一个墙或者引征,这会剧烈改变另一个角上的位置估值。

就像其他的基于MCTS的AI, AlphaGo对于需要很深入阅读才能解决的大势判断上,还是麻烦重重的,比如说大龙生死劫。在面对一些看似正常但实际并不一样的棋局时,AlphaGo也会困惑而失去判断,比如天元开盘或者少见的定式,因为很多训练是基于人类的棋局库的。

我还是很期待看到AlphaGo和李世石9段的对决!我预测是:如果李使用直(straight)式,就像跟其他职业棋手的对决,他可能会输,但如果他让AlphaGo陷入到不熟悉的战略情形下,他可能就赢。

看完SpinPunch CTO的解读,我还想到另一个人,中国最强大脑选手鲍橒,当时看了他走出蜂巢迷宫,被他的超强的空间记忆和想象能力深深震撼了,而他的职业就是围棋选手,并且是盲棋。他能完成1对5的围棋盲棋,实在是很不可思议的事情。在围棋圈内,几乎没有棋手能完成盲棋,因为确实太难了。笔者也向他询问了对这个事情看法,他说,欧洲冠军没能摸到程序的底,但从棋谱来说,对谷歌程序我也难以取胜,确实下得不错。虽然围棋圈一致看好李世石,不过我不敢确定谷歌的程序3月份进展到什么地步。

再说到Facebook田博士,跟谷歌DeepMind超豪华团队长期投入不同,他就在半年多前从立项到实现,直到最近才有一个实习生加入帮他,而背后是他付出的心血,为了抢时间,在圣诞新年都是加班加点,按他所说,每日工作10+小时,自己搭机器,写代码,调参数,单枪匹马做出成绩。

谈到跟谷歌团队的较量,田博士说:“这是一场必败的战斗”,但我还是很佩服他,他让我想到三国时代赵子龙,单枪匹马大战曹军,力拔山兮气盖世!因为他是真正的勇士。正是有了这些英勇无畏的科学家,一次次打破常规,挑战极限,我们才知道人类如此大的潜力。

最近短短几年的发展,从大数据,深度学习人工智能到虚拟现实,从发现了类地球行星,证实引力波,从Hyperloop,无人驾驶,量子计算,这些魅力无穷的科技让我们对世界的认识上升到新的高度。面对这个激动人心的时代,我想说,天空是我们的极限,宇宙是我们的极限,未来才是我们的极限!

最后允许我拿田博士的话来结束。

“我有时候会问自己:‘我是不是背弃了梦想?’”我想除了我自己,任何人都不会给我答案,任何评论也不具效力。我记得有人问过,如果梦想从践行的一开始,就在不自觉地向现实妥协,那样的梦想还是最初的梦想么?其实,这样的问题没什么可纠结的,因为世界从来就不是二元的,梦想和现实,如同高悬的日月,日月之间,有一条灰色的路,在自己脚下蜿蜒曲折,绕过各种险阻,一直向前。

“而我能做的,只是要在奔跑时,不停提醒自己,还记得‘梦想’这个词的含义。”

参考资料:

How AlphaGo works http://www.dcine.com/2016/01/28/alphago/

Nature 论文:http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html

关于 AlphaGo 论文的阅读笔记 http://36kr.com/p/5042969.html

关于围棋AI的新思路 http://zhuanlan.zhihu.com/yuandong/20364622

原载微信公众号《董老师在硅谷》,《知识分子》获授权刊载。


知识分子,为更好的智趣生活。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 本文系《文工团》约稿,禁止一切形式的未授权转载,谢谢合作。这篇是约稿的第二版,第一版可以点这里。 围棋,是一项中国...
    LostAbaddon阅读 2,480评论 7 10
  • He deals the cards as a meditation 他出牌前沉思冥想And those he p...
    隐剑鬼吊阅读 1,560评论 2 2
  • 这篇文章以比较通俗的语言简单介绍了AlphaGo的工作原理,可以先看看了解大概,会发现AlphaGo也没有那么神秘...
    Founting阅读 12,805评论 0 7
  • 笑语家人前,浮生半日闲。 山中无日月,俶尔已千年。
    小木山庄的溜溜阅读 270评论 1 3
  • @occoea 老天心跳 雷电知多少 轰隆隆一场 还给夜空寂寥 这梦想颠倒 就来了 这泡影衰老 要去了 不去也不来...
    occoea阅读 768评论 0 1