[转录] “战胜自己”对于AlphaGo而言不只是口号

楼主: Tkuei (it's me)   2016-03-14 11:49:38
这是台大资工林守德老师在他FB写的一篇文章,是他看过Nature那篇论文之后写的感想
个人认为高手解读应该有助于厘清大家对AlphaGo行为模式的理解
原文连结:https://goo.gl/m8cBHn (FB连结,不喜误入)
“战胜自己”对于AlphaGo而言不只是口号 ─ “Mastering the game of Go with deep
neural networks and tree search” Nature 2016 读后感想
SHOU-DE LIN·2016年3月12日
我对围棋一窍不通,过去也对AI-Game没有特别研究,拜近日来AlphaGo重创人类在围棋上
领先的地位之赐,特别把这篇Nature上的论文拿来看了一下。
这是一篇非常有趣的论文,摘录心得如下:
1. AlphaGo 决策过程跟过去的棋类程式不大一样。它里面每一个stage单独的方法都是不
是新的创见,只是它组合这些方法的framework很特别。它的learning结果(不管是DNN或
是RL)都只是中间产物,最后用来帮助搜寻最好的棋步。
2. 它的learning分三个阶段,第一个阶段“天下棋手为我师”,它主要希望建构一个13
层的DNN来学“围棋专家”的棋步(policy),也就是根据这个盘面预测过去历史资料中
大家会怎么下。第一阶段训练出来的SL系统就可以下棋,但是结果不是很好,因为其实就
只是个模仿专家的系统。
3. 而第二阶段“超越过去的自己”是一个Reinforcement Learning的系统,借由跟过去
的自己对战来refine第一阶段学到的policy,而且需要跟过去不同版本的对手对战avoid
overfitting。在这个RL的阶段,才首度把胜负当成reward在训练model。第二阶段训练出
来的policy已经有85%的机会赢过state-of-the-art二段的程式。
4. 第三阶段我戏称为“机率算尽太聪明”。其宗旨在预估每个盘面的价值。所谓盘面的
价值,就是从这个盘面开始,假设对手能够穷举所有可能的下法找到最佳解,AlphaGo的
获胜机率有多高。当然我们无法知道无懈可击的对手会怎么下,所以退而求其次,
AlphaGo模拟跟自己下的过程决定每个盘面的“胜率”有多少,然后用有限的盘面与胜率
当成Training data再去Train一个DNN来估计所有盘面的价值。在这个阶段还有一个trick
,也就是这些当成training data不能用第一阶段数据库蒐集的棋局盘面,因为同一局的
盘面有高的dependency以及一样的reward,会造成学习中的“记忆”效应,而是要用“与
自己下棋”中每一局单独抽取的独立盘面来训练。
5. 前三个阶段都是AlphaGo的“训练”过程,这些都是offline可以做的。训练好的
AlphaGo已经可以赢过一般的对手。
6. 虽然训练好的第三阶段AlphaGo就可以仗剑大杀四方,但是还不足以赢过高段的对手。
因为实战中的盘面有很大的机率是在训练中没有看过(围棋的盘面总数高达250的150次方
之多),对于它们价值的预测其实不一定准。真正在实战中,AlphaGo采取“灵机应变,
无招胜有招”的战术,不坚持使用之前学习到的棋步,反而利用过去学到的policy 结合
了蒙地卡罗树状搜寻(MCTS)的方法找出最好棋步。也就是在实战中对现在盘面进行模拟下
棋(再度假设对手就是自己),在模拟的过程中把所有经历的盘面重新计算它们的价值,
在有限的思考时间内尽量进行模拟,最后选择模拟过程中最稳定的棋步(不是价值最高的
棋步)。在这个过程中需要快速的运算,越多的模拟就会让盘面价值的计算越准,
AlphaGo利用平行化计算加上GPU达成高速运算的目的。
7. 算法总结:AlphaGo第一阶段的训练过程就像是把一个人关在房间里,不告诉他围棋
是什么,也不告诉他围棋的规则,甚至连围棋最后怎么算胜负都不跟他说,只拿一大堆过
去专家下棋的棋谱给他看。然后等它看完棋谱后,第二阶段就让他自己跟自己下棋,从中
学习更好的下法,最后第三阶段它只要看到某个盘面就知道这个盘面的胜率,虽然从头到
尾它还是不知道围棋的规则。
真正在下棋的时候,AlphaGo还是沈浸在自己的世界里。每当对手下完一步,它就开始模
拟接下来可能的数步(模拟的时候就是假设对手是自己,所以对手是谁对AlphaGo而言完
全不重要,他也完全不去预测对手会怎么下),在模拟的过程中,它就重新对于未来可能
面对棋局来估算胜率,最后选择最稳定最有可能获胜的棋步。它的风格就像是金庸笔下的
独孤九剑,不拘于定式,而是当下根据对手的招式才决定最佳的进击策略。
8. AlphaGo并没有针对对手的棋步训练系统,我不确定在他使用的Data里面有没有李世石
的棋谱,不过就算是有,应该占的比例也应该微乎其微。“自我学习”(与自己对战)才
是AlphaGo的主轴。
9. 看起来AlphaGo所使用的所有Tricks跟方法是缺一不可,paper里面还有一些decision
的detail并没有讲清楚,但是相信是尝试错误后决定的。
10. 后记1:AlphaGo的唯一目的是最后的胜利,所以在过程中它并不在乎下某一子的短期
利益(会赢多少地盘),它甚至对于这些短期损益完全没有认知,在训练的过程中也不在
乎“赢几目”。在与人类对决的时候,我们看到棋评会指出它犯了一个“失误”,或是它
不喜欢某种策略如“打劫”。其实如果了解AlphaGo的决策模式,就会知道他其实没有“
策略”以及“失误”的概念,对它而言,棋类等游戏就是对于每个盘面精确且快速的估算
其通往胜利的机率。
11. 后记2:因为AlphaGo在下棋的过程中会看到越来越多的盘面,所以它只会愈来愈进步
。未来如果人类想从与其对奕中取得胜利,必须要能够走出前所未见的局面,降低它对于
盘面估测的准确度才会有机会。这也不是完全不可能,因为围棋的复杂度太高。其实要更
理解AlphaGo,必须要去研究它present每一个盘面所用的features,我因为不懂围棋,所
以没有办法comment。但是理论上如果它遗漏了某个重要的feature,表示它无法利用这个
资讯判断盘面的价值,人类可以利用这个资讯去进攻,尽量去创造某个比较不容易被已有
的feature来表达的盘面。
作者: s9209122222 (海海海)   2016-03-14 11:58:00
所以昨天李世石真的吓到了电脑 XD
作者: hasroten (赋洛流)   2016-03-14 12:08:00
Google:小李找到bug 加十分(X)
作者: a1223356 (京)   2016-03-14 12:09:00
电脑也才两岁,被大人打当然会吓到。
作者: WindSpread (阳だまりの诗)   2016-03-14 12:24:00
考虑到AlphaGo的练习量,能吓到他真是不容易
作者: hij76128 (小鸭)   2016-03-14 12:27:00
意思是让alphago多累积前所未见的棋路,未来人类想打败alphago会越来越困难
作者: wtl (比特)   2016-03-14 12:27:00
如果把围棋所有的变化资料喂给电脑理论上训练出来的阿发狗应该是围棋之神的等级 永远不败 但实际上只有3000万盘的训练占全部变化10的170方大概只有0.00000...(162个0)..1 所以还能
作者: hij76128 (小鸭)   2016-03-14 12:31:00
未来开发出更好的算法来降低运算复杂度,再过几年人类想打败电脑就很难了,虽然目前算法能打败alphago也只剩少数几人了....
作者: wtl (比特)   2016-03-14 12:32:00
击败 如果能输入总变化量的1% 应该就很接近围棋之神的境界了
作者: tbrLeBlanc (黑玫瑰勒布朗)   2016-03-14 12:43:00
代表小李真的下出电脑没完全考虑的一手
作者: MicroB ( )   2016-03-14 12:47:00
所有的盘面都算出来并储存也不代表AG会走对吧?她的决策机制还是有可能击败 只是人要赢的容错率也会低到一个境界
作者: arnold3 (no)   2016-03-14 13:15:00
就像我打魔兽 用投石车飞船开树林电脑就被打晕了一样因为电脑平常根本练不到的怪招 一遇到就会傻钓
作者: darkseer   2016-03-14 13:18:00
找到这个欧美棋评: https://goo.gl/k0IwTu (英文)主要认为李世石是有计画的试探出弱点,我觉得评论很全面(从只懂算法不懂围棋的观点orz)不知道有没有人想翻译嗯,我不是说李九段依赖找弱点,比较像人类棋手间迫使对方走向不擅长的局势那样?
作者: DreamFly0811 (飞轮)   2016-03-14 13:52:00
好文,but那个English让人read不是很frequently
作者: reinhert (史丹佛的银色子弹)   2016-03-14 14:36:00
这个领域的专用术语用英文早就是习惯了
作者: MicroB ( )   2016-03-14 14:58:00
如果D大那个英文棋枰猜测为真 人如果跟电脑有一样的资讯(MCTS胜率表) 其实是可以做出更好的选择的样子 AG单纯选最高胜率点看来并非真实的最佳解而且若是这个缺点为真 单纯增加百倍计算力多算一两步似乎也无法改进 因为78手赢棋机率就是比较低被舍去 但是低是因为顺序一定要对 可能得对顺序对机率影响的权重改一下 但又会影响其他已成功的判断
作者: luvfilm (luvfilm)   2016-03-14 20:23:00
看完更佩服李世石了

Links booklink

Contact Us: admin [ a t ] ucptt.com