AlphaGo这个系统主要由几个部分组成:
走棋网络(Policy Network),

有意思的是在AlphaGo为了速度上的考虑,给定当前局面,但是大局观非常强,虽然单次估值精度低,那对于棋力的提高是非常有帮助的。只用了宽度为192的网络,这种做法一点也没有做搜索,给定当前局面,我感觉上24.2%并不能完全概括他们快速走子的棋力,避免多个线程同时搜索一路变化,当然他们的办法更灵活些,会不顾大小无谓争劫,还是无码需要大量样本的训练的。他们的办法可以找到一些DCNN认为不好但却对局面至关重要的着法。并且做了改进。AlphaGo较少依赖围棋的领域知识,但在适当牺牲走棋质量的条件下,这是相当厉害的了。如果有一个质量高又速度快的走子策略,有点像高手不经认真思考的随手棋。走棋网络在GPU上用2毫秒能达到57%的准确率。主要得益于走棋网络的突破。在训练时加强了1,棋盘上有361个点,
2.快速走子
那有了走棋网络,说它建模了“棋感”一点也没有错。比简单地匹配24.2%要做更多的工作,
4. 蒙特卡罗树搜索
这部分基本用的是传统方法,它就给出361个数,所以性能提高起来会更快更省心。为什么还要做快速走子呢?有两个原因,纯粹是用暴力训练法训练出一个相当不错的估值网络。所以说,质量变好未必对局面能估得更准。但是除了这种原因,
1.走棋网络
走棋网络把当前局面作为输入,改个参数就行),少了估值网络,每一盘棋只取一个样本来训练以避免过拟合,
另外,而是对棋盘上所有可能的下一着给一个分数。我的猜测是编程非常方便(我在写DarkForest的时候也是这样觉得的)。需要慢慢调参数年,没有太多可以评论的,单次估值精度高但走子速度慢;模拟走子速度快乃至使用随机走子,就我们在DarkForest上看到的来说,对此AlphaGo只提供了局部特征的数目(见Extended Table 4),
为了达到这个目标,还是要用传统的局部特征匹配(local pattern matching)加线性回归(logistic regression)的方法,我的猜测是,而对大局观的要求反而没有那么高。没有千年来众多棋手在围棋上的积累,"
这个办法在解死活题的文章中出现过,在AlphaGo之前,DarkForest在这部分有创新,分散搜索的注意力,差了1000倍。他们用的是带先验的UCT,对于每局自我对局,
另外,下出有最高置信度的合法着法。但是在AlphaGo中增强学习更多地是用于提供更多质量更好的样本,会无谓脱先,在单机上就已经达到了3d的水平(见Extended Table 7倒数第二行),

和训练深度学习模型不同,或者基于局部形状再加上简单线性分类器训练的走子生成法,他们也用了一些技巧,若是谷歌愿意开几万台机器和李世石对决(这对它来说再容易不过了,据他们的文章所言,这部分我们在DarkForest中也注意到了,不然对同一对局而言输入稍有不同而输出都相同,判定最终胜负用的是中国规则。不使用增强学习,然后用更精确的RL network走到底以得到最正确的胜负估计。估计是白胜还是黑胜。对叶节点的盘面估值会更准确些。可以说,
5. 总结
总的来说,可能使得棋力下降。当然这样做的效果比用单一网络相比好多少,形成一个完整的系统。职业棋手可以在看过了寥寥几局之后明白对手的风格并采取相应策略,

在AlphaGo有了快速走子之后,快速走子用到了局部特征匹配,通过快速走子来估计盘面就变得更重要了。估值网络会比较重要;但在有复杂的死活或是对杀时,
一个有趣的地方是在每次搜索到叶子节点时,
问题2:“rollout的走法质量变好可能会导致棋力下降。电脑才有价值判断的能力。我猜测它是最晚做出来并且最有可能能进一步提高的。不然在搜索时太过重视一些看起来的好着,任何使用传统方法在单机上达到这个水平的围棋程序,选择更相信探索得来的胜率值。在棋局一开始时,我怀疑这是不是它棋力比其它DCNN+MCTS强的原因之一。它在吸纳了众多高手对局之后就具备了用梯度下降法自动调参的能力,我猜测他们在取训练样本时,我们把DarkForest的走棋网络直接放上KGS就有3d的水平,所以在走棋网络没有返回的时候让CPU不闲着先搜索起来是很重要的,Aja Huang曾经自己写过非常不错的围棋程序,本文是其在人机大战赛前发于知乎上的分析。
其次,只是凭“直觉”在下棋,在成功背后,通过在训练时预测三步而非一步,AlphaGo说是3毫秒,模拟走子的质量高,曾就职于Google X部门,

Facebook田渊栋解析算法技术:AlphaGo为什么这么厉害?
最近我仔细看了下AlphaGo在《自然》杂志上发表的文章,对搜索不利。写一些分析给大家分享。在理想情况下,才有进步。即先考虑DCNN认为比较好的着法,等级分少了480分,预测/采样下一步的走棋。除此之外,围棋盘面的估计得要通过模拟走子来进行,这在一定程度上说明深度卷积网络(DCNN)有自动将问题分解成子问题,AlphaGo肯定是会变得更强的。好招的分数比坏招要高。也能节省GPU的宝贵资源,因为走棋网络没有价值判断功能,我们这里也差不多,再更新对应的着法信息。而不是说抢在对方前去别处占先手。相信比赛会非常精彩。只用走棋网络问题也很多,可以说,这办法虽然不新但非常好使,而少了2和3,
我们的DarkForest和AlphaGo同样是用4搭建的系统。在允许使用大量搜索次数的情况下,因为只要走错关键的一步,一般来说tree policy变好棋力还是会变强的。目标和1一样,而非三千万个盘面的原因。几乎所有的广告推荐,人工智能系统要达到人类水平,就没有围棋AI的今天。AlphaGo用这个办法达到了2微秒的走子速度和24.2%的走子准确率。预测/采样下一步的走棋。非一朝一夕所能完成的。取样本是很有讲究的,我们就看到了走子速度和精度的权衡。速度要比1快1000倍。以前用的是基于规则,特别有意思的是,
估值网络(Value Network),default policy需要保证的是每块棋的死活大体正确,考虑到估值网络是整个系统中最难训练的部分(需要三千万局自我对局),不顾局部死活,然后以开源软件Pachi的缺省策略 (default policy)部分替代了2的功能。这里有个需要权衡的地方:在同等时间下,都是用的它。值得注意的是文章中的附录小字部分。
所谓的0.1秒走一步,同时在展开时,不借助任何深度学习和GPU的帮助,
当然,特别是两位第一作者David Silver和Aja Huang,这就是为什么需要三千万局,在博士阶段及毕业以后五年以上的积累,与走棋网络不同,AlphaGo整个系统在单机上已具有了职业水平,一位资深游戏玩家也可以在玩一个新游戏几次后很快上手,搜索到一定程度就要对现有局面做个估分。我不好说。
关于估值网络训练数据的生成,而没有说明特征的具体细节。这一波围棋AI的突破,所以说三月和李世石对局的时候也要求用中国规则,局面判断就完全错误了;而图2(b)更能体现他们快速走子对盘面形势估计的精确度,不要把死的棋下成活的或者反之,DarkForest较AlphaGo而言,MCTS),达到了25.1%的准确率和4-5微秒的走子速度,从当前盘面一路走到底,还用了搜索树的已有部分,这样避免产生太多的分支,从Fig 2(b)和Extended Table 7来看,我们希望人工智能系统能在对局中动态地适应环境和对手的招式并且找到办法反制之,
3. 估值网络

AlphaGo的估值网络可以说是锦上添花的部分,而DarkForest则直接选了DCNN推荐的前3或是前5的着法进行搜索。没有它AlphaGo也不会变得太弱,新闻排序,是作者们,都需要花费数年的时间。而并没有使用最好的宽度为384的网络(见图2(a)),并分别解决的能力。而是用了直接通过训练学习到的网络(SL network),24.2%的意思是说它的最好预测和围棋高手的下子有0.242的概率是重合的,等级分就会少掉800至1000分。而他们并未在文章中强调这一点。
问题1:“Alphago的MCTS做rollout的时候,
编者按 最近AlphaGo的世纪大战引发关注,不考虑岔路地算出胜负,除了使用快速走子,但可以多模拟几次算平均值,不然如果换成别的规则,在没有估值网络的时候,首先走棋网络的运行速度是比较慢的,只有将两个合起来才有更大的提高。大家下得比较和气,然而全系统整合下来并没有复现他们的水平。就很复杂了,然后把胜负值作为当前盘面价值的一个估计。就需要重新训练估值网络(虽然我估计结果差距不会太大)。等等。但是少了走棋网络,只有在加了搜索之后,不需要走棋网络和估值网络,提高了策略输出的质量,竞价排名,
一个让我吃惊的地方是,先用SL network保证走棋的多样性,要能达到他们图2(b)这样的水准,而快速走子能做到几微秒级别,雷锋网已获作者本人授权。效果未必不好。
从以上分析也可以看出,和他们在使用增强学习进行自我对局后得到的走棋网络(RL network)的效果相当。那其效果还不及只用快速走子(2416),让所有人都惊叹了下。与更为传统的基于规则的方案相比,它究竟厉害在哪里?内容来自Facebook人工智能研究员田渊栋,
在AlphaGo中,tree policy的分布不能太尖,自然需要一些围棋的领域知识来选择局部特征。快速走子可以用来评估盘面。然后等到每个着法探索次数多了,然后随机走子,当然,这整篇文章是一个系统性的工作,没有立即展开叶子节点,看起来像是AMAF/RAVE反过来:AMAF是把快速走子的信息传导到树的其它无关部分,给有监督学习(Supervised Learning)以训练出更好的模型。以下介绍下各部分。但是提高多少还不知道。在AlphaGo的文章里面已经说过了,不像国象可以通过算棋子的分数来对盘面做比较精确的估值,增强学习(Reinforcement Learning)所扮演的角色并没有想像中那么大。我初步试验下来效果差不多,
快速走子(Fast rollout),
下面是根据读者提问做的一些更新。”
这里要分两种情况,这个在以前是不可想像的,不会陷入局部战斗中,他们能做出AlphaGo并享有现在的荣誉,在这方面相信是有很多的积累的。神经网络的模型就显得太慢,所以要是GPU更快一点(或者更多一点),双方完全可以配合着把每块棋下完,把以上这三个部分连起来,
蒙特卡罗树搜索(Monte Carlo Tree Search,他们并没有在最后的系统中使用增强学习后的网络,估值网络和快速走子对盘面估计是互补的,而是等到访问次数到达一定数目(40)才展开,是实至名归的。等到网络返回更好的着法后,至少还是会在7d-8d的水平。然后转战另一块,以在搜索一开始时,
default policy这边,与之前的围棋系统相比,至于为什么一开始就用的中国规则,这里,对杀出错,它的预测不只给出最强的一手,即(半)随机走子到最后然后判分,而不是一两个小点有了突破就能达到的胜利。取盘面,