围棋吧 关注:349,089贴子:10,492,754
  • 7回复贴,共1

AlphaGo从零开始自学围棋为什么能成功【转贴】

只看楼主收藏回复

原标题:陈经:AlphaGo从零开始自学围棋为什么能成功
一.AlphaGo从零开始自学习新版本算法框架与等级分表现
2017年10月18日,业界非常期待的AlphagGo新论文终于在《自然》上发表了。Deepmind开发了一个名为AlphaGo Zero的新版本,它只用一个策略与价值合体的神经网络下棋,从随机走子开始自我对弈学习,完全不需要人类棋谱。新的强化学习策略极为高效,只用3天,AlphaGo Zero就以100:0完全击败了2016年3月轰动世界的AlphaGo Lee。经过21天的学习,它达到了Master的实力(而Master在2017年5月3:0胜人类第一柯洁)。
40天后,它能以90%的胜率战胜Master,成为目前最强的围棋程序。而且AlphaGo Zero的计算过程中直接由神经网络给出叶子节点胜率,不需要快速走子至终局,计算资源大大节省,只需要4个TPU就行(AlphaGo Lee要48个)。

从Goratings棋力等级分上看,AlphaGo Zero其实和Master还能比较,只多个300多分。这相当于论文发表当天,人类第一柯洁九段的3667分与第38名的人气主播孟泰龄六段3425分的分差,两人肯定实力有差距,但也还有得下。论文公布了AlphaGo Zero的83局棋谱,其中与Master下的有20局,Master在第11局还胜了一局。
AlphaGo新版本从零开始训练成功,这个结果大大出乎了我的预料,相信也让业界不少人感到震惊。我本来是预期看到Master的算法解密,为什么它能碾压人类高手。AlphaGo退役让人以为Deepmind不研究围棋了,剩下任务是把Master版本的算法细节在《自然》公布出来,腾讯的绝艺等AI就可以找到开发方向突破目前的实力瓶颈了。
本来5月的乌镇围棋大会上说,6月新论文就能出来了,开发者们可以参考了。至于从零知识开始学习,是个有趣的想法,2016年3月人机大战胜李世石后就有这样的风声,人们期待这个“山洞中左右互搏”的版本出来,与人类的下法是不是很不相同,如开局是不是会占天元?但是后来一直好像没进展,乌镇也没有提。
好几个月了,新论文一直没出来。绝艺明显进入发展瓶颈,总是偶而会输给人,还输给了DeepZenGo与CGI。各个借鉴AlphaGo的AI都迫切需要Deepmind介绍新的思路与细节。到8月跑出来一篇AlphaGo打星际争霸的论文,从零知识开始学,学人类录像打,两种办法都不太行。
这时我认为让AlphaGo从零知识开始学可能不太成功,会陷入局部陷阱,人类棋谱能提供一个“高起点”,高水平AI还是需要人类的“第一推动”。
实际是Deepmind团队认为,仅仅写Master对于《自然》级别的文章不够震憾。新的论文标题是“Mastering the Game of Go without Human Knowledge”,这个主题升华就足够了。而Master用人类棋谱训练了初始的策略网络,人类知识还是有影响,虽然后来自学习提升后人类影响很小了。对于不懂围棋或者对算法细节不关心的人,Master相比AlphaGo Lee无非是棋力更强一些,战胜的柯洁与李世石都是顶级高手没本质区别,Master的创新性也需要懂围棋才能明白。
AlphaGo Zero是真正的从零开始训练,整个学习过程与人类完全没有关系,全是自己学,这个哲学意义还是很大的。过程中与人或者其它版本下,只是验证棋力不是学招。
二.真正的算法突破是Master版本实现的
可以认为,在技术上从AlphaGo Lee进步到Master是比较难的,需要真正的变革,神经网络架构需要大变,强化学习过程也要取得突破。绝艺、DeepZenGo等AI开发就一直卡在这个阶段,突破不了AlphaGo Lee的水平,总是出bug偶尔输给人,离Master差距很大。
但如果Master的开发成功了,再去试AlphaGo Zero就是顺理成章的事。如果它能训练成功,应该是比较快的事,实际不到半年顶级论文就出来了,回头看是个自然的进展。Deepmind团队在五月后应该是看到了成功的希望,于是继续开发出了AlphaGo Zero,新论文虽然推迟了,但再次震惊了业界。
也可以看出,2016年Deepmind《自然》论文描述的强化学习过程,整个训练流水线比较复杂,要训练好几种神经网络的系数,进化出一个新版本需要几个星期。用这个训练流水线,从零开始强化学习,应该是意义不大,所以一直没有进展。
但是Master的自学习过程取得了重大突破,之前从人类棋谱开始训练2个月的水平,改进后只要一星期就行了,学习效率,以及能够达到的实力上限都有了很大进展。以此为基础,再把从零开始引进来,就能取得重大突破。所以Deepmind真正的技术突破,应该是开发Master时取得的。AlphaGo Zero是Master技术成果的延续,但看上去哲学与社会意义更重大。
Master与AlphaGo Zero的成功,是机器强化学习算法取得巨大发展的成果与证明。训练需要的局数少了,490万局就实现了AlphaGo Lee的水平。而绝艺到2017年3月就已经自我对弈了30亿局,实力一直卡着没有重大进步,主要应该是强化学习技术上有差距。
我在2017年1月9日写的《AlphaGo升级成Master后的算法框架分析》文中进行了猜测:
从实战表现反推,Master的价值网络质量肯定已经突破了临界点,带来了极大的好处,思考时间大幅减少,搜索深度广度增加,战斗力上升。AlphaGo团队新的prototype,架构上可能更简单了,需要的CPU数目也减少了,更接近国际象棋的搜索框架,而不是以MCTS为基础的复杂框架。比起国际象棋AI复杂的人工精心编写的局面评估函数,AlphaGo的价值网络完全由机器学习生成,编码任务更为简单。
理论上来说,如果价值网络的估值足够精确,可以将叶子节点价值网络的权重上升为1.0,就等于在搜索框架中完全去除了MCTS模块,和传统搜索算法完全一样了。这时的围棋AI将从理论上完全战胜人,因为人能做的机器都能做,而且还做得更好更快。而围棋AI的发展过程可以简略为两个阶段。第一阶段局面估值函数能力极弱,被逼引入MCTS以及它的天生弱点。第二阶段价值网络取得突破,再次将MCTS从搜索框架逐渐去除返朴归真,回归传统搜索算法。
从新论文的介绍来看, 这个猜测完全得到了证实。Master和AlphaGo Zero的架构确实更简单了,只需要4个TPU。AlphaGo Zero到叶子节点就完全不用rollout下完数子了,直接用价值网络(已经与策略网络合并)给出胜率,就等于是“价值网络的权重上升为1.0”。Master有没有rollout没有明确说,从实战表现看应该是取消了。
当然新论文中还是将搜索框架称为“MCTS”,因为有随机试各分支,但这不是新东西,和传统搜索差异不算大。对围棋来说,2006年引入MCTS算法真正的独特之处是从叶子节点走完数子,代替难以实现的评估函数。
这种疯狂的海量终局模拟更像是绝望之下的权宜之计,也把机器弄得很疲惫。但是Master与AlphaGo Zero都成功训练出了极为犀利的价值网络,从而又再次将rollout取消。价值网络的高效剪枝,让Master与AlphaGo Zero的判断极为精确,从而算得更为深远战斗力极为强大。这个价值网络怎么训练出来,就是现在Deepmind的独门绝技。可以说,新论文最有价值的就是这个部分。
从Master开始,AlphaGo的网络结构应该就有大变了。到AlphaGo Zero,将价值与策略网络合为一个,这并不奇怪。因为第一篇论文中,就明确说价值与策略网络的架构是完全一样的,只是系数不同。那么二者共用一个网络也不奇怪,前面盘面特征表述应该是一样的,等需要不同的输出时再分出不同的系数。Master网络结构大变之后,也许Deepmind发现,许多盘面特征都可以训练出来,所以就简单将盘面输入简化成黑白。
AlphaGo Zero的强化学习过程,应该与Master差不多,都是成功地跳出了陷阱,不断提升到超乎人类想象的程度。Master从研发上来说,像一个探路先锋,证明了这条路是可以跑通的,能把等级分增加1000分。而AlphaGo Zero,像是一个更为精减的过程,本质是与Master类似的。
新论文中的AlphaGo Zero确实显得架构优美。只需要一个网络,既告诉机器可以下哪,也能给出局面的胜率。盘面输入就是黑白,也不需要任何人类知识。强化学习就是两招,搜索的结果好于神经网络直觉想下的点,可以用于策略选点的训练,一盘下完的结果回头用于修正胜率,都很自然。但是为了实现这个优美结果,需要勇敢的探索。一开始的AlphaGo并没有这么优美,路跑通了,才想到原来可以做得更简单。
本文再提出一个猜测:现在的绝艺、DeepZenGo等AI实力接近AlphaGo Lee了,但都经常出现死活bug,会怎么出和人类对手的实力关系不大,并不是对手等级分高的它就容易出bug,基本是自己莫明其妙送死。这个bug的原因是rollout模块带来的,因为rollout策略是人类棋谱训练出来的,也可能有人工加代码打补丁。
它的目的是快速下完终局,但如果牵涉到死活,这种快速下完就不太可靠了,活的下死,死的杀活。但是,怎么实现不出错的rollout,这非常困难,应该是不可能完成的任务。Master和AlphaGo Zero的办法,是取消这个不可靠的rollout,直接让神经网络给出结果。如果神经网络给出的胜率结果有问题,那就靠训练来解决。这样纠错,强过程序员去排查rollout代码里出了什么错。


IP属地:山东1楼2017-10-24 09:56回复
    革命!革命!新时代的华章拉开了!所谓的守旧派统统应该被扔进垃圾桶


    IP属地:江西来自iPhone客户端4楼2017-10-24 11:33
    回复
      40天后,它能以90%的胜率战胜Master,成为目前最强的围棋程序。而且AlphaGo Zero的计算过程中直接由神经网络给出叶子节点胜率,不需要快速走子至终局,计算资源大大节省,只需要4个TPU就行(AlphaGo Lee要48个)。
      。是4个。。可惜是下棋时4个。。(注意,其实已经远远超过4路1080ti了。。)


      IP属地:广东5楼2017-10-24 11:36
      回复
        其他人也能精进算法就好了


        IP属地:加拿大来自Android客户端6楼2017-10-24 22:22
        回复