阿尔法go开发语言 阿尔法什么语言( 五 )


Q: 既然AlphaGo已经退役了,是否有将其开源的计划?这将对围棋社区和机器学习研究产生巨大的影响 。
还有,Hassabis在乌镇宣称的围棋工具将会什么时候发布?David Silver:现在这个工具正在准备中 。
不久后你就能看到新的消息 。
Q:AlphaGo开发过程中,在系统架构上遇到的最大障碍是什么?David Silver:我们遇到的一个重大挑战是在和李世石比赛的时候,当时我们意识到AlphaGo偶尔会受到我们所谓的“妄想”的影响,也就是说,程序可能会错误理解当前盘面局势,并在错误的方向上持续许多步 。
我们尝试了许多方案,包括引入更多的围棋知识或人类元知识来解决这个问题 。
但最终我们取得了成功,从AlphaGo本身解决了这个问题,更多地依靠强化学习的力量来获得更高质量的解决方案 。
围棋爱好者的问题Q:1846年,在十四世本因坊迹目秀策与十一世井上幻庵因硕的一盘对局中,秀策下的第127手让幻庵因硕一时惊急两耳发赤,该手成为扭转败局的“耳赤一手” 。
如果是AlphaGo,是否也会下出相同的一首棋?Julian Schritieser:我问了樊麾,他的回答是这样的:当时的围棋不贴目,而AlphaGo的对局中,黑棋需贴7.5目 。
贴目情况不同造成了古今棋局的差异,如果让AlphaGo穿越到当年下那一手,很有可能下的是不同的另一个地方 。
Q:从已发布的AlphaGo相互对局看,执白子的时间更为充裕,因...
AlphaGo这个系统主要由几个部分组成:走棋网络(Policy Neork),给定当前局面,预测/采样下一步的走棋 。
快速走子(Fast rollout),目标和1一样 , 但在适当牺牲走棋质量的条件下,速度要比1快1000倍 。
估值网络(Value Neork),给定当前局面,估计是白胜还是黑胜 。
蒙特卡罗树搜索(Monte Carlo Tree Search,MCTS),把以上这三个部分连起来,形成一个完整的系统 。
我们的DarkForest和AlphaGo同样是用4搭建的系统 。
DarkForest较AlphaGo而言,在训练时加强了1,而少了2和3,然后以开源软件Pachi的缺省策略 (default policy)部分替代了2的功能 。
以下介绍下各部分 。
1、走棋网络走棋网络把当前局面作为输入,预测/采样下一步的走棋 。
它的预测不只给出最强的一手,而是对棋盘上所有可能的下一着给一个分数 。
棋盘上有361个点,它就给出361个数,好招的分数比坏招要高 。
DarkForest在这部分有创新,通过在训练时预测三步而非一步 , 提高了策略输出的质量,和他们在使用增强学习进行自我对局后得到的走棋网络(RL neork)的效果相当 。
当然,他们并没有在最后的系统中使用增强学习后的网络,而是用了直接通过训练学习到的网络(SL neork),理由是RL neork输出的走棋缺乏变化,对搜索不利 。
有意思的是在AlphaGo为了速度上的考虑,只用了宽度为192的网络,而并没有使用最好的宽度为384的网络(见图2(a)),所以要是GPU更快一点(或者更多一点),AlphaGo肯定是会变得更强的 。
所谓的0.1秒走一步 , 就是纯粹用这样的网络 , 下出有最高置信度的合法着法 。
这种做法一点也没有做搜索,但是大局观非常强,不会陷入局部战斗中,说它建模了“棋感”一点也没有错 。
我们把DarkForest的走棋网络直接放上KGS就有3d的水平,让所有人都惊叹了下 。
可以说,这一波围棋AI的突破,主要得益于走棋网络的突破 。
这个在以前是不可想像的,以前用的是基于规则,或者基于局部形状再加上简单线性分类器训练的走子生成法,需要慢慢调参数年,才有进步 。

推荐阅读