【今天早上,小编发表了这篇文章,坚持分析AlphaGo的弱点。大约6小时后,李世石终于在围棋人机大战第四局的“荣誉之战”中亮出绝招,逆袭获胜。这场来之不易的胜利几乎验证了本文的预测:如果想要击败现在的AlphaGo,就应该采取这样的策略。你要能承受大局,不早被大局所控制。小心使用本地方法,不要被抓住。顶住之后,等它在公开的接触战中晕倒。或者它可能会受到部分塑形的影响。在接触战中,我们要利用它“不喜劫”的特点,利用劫的某些分支的虚张声势来迫使其让步,但也不能太过分,将其逼入不利的劫。对人类。
李世石获胜后,观察者网编辑立即采访了本文作者陈静。陈静表示,李世石的78手挖掘对于人工智能算法来说有一个天劫的分支,对人来说不一定有好处,但这个天劫却导致了AlphaGo的bug。他说李世石今天的心态非常好。他在开场和中场比赛中都没有出现致命失误,顶住了比赛。随后他在中右路的局势中发挥非常出色,成功将局势带入了一场开放且复杂的接触战。李世石的78手即使是和别人对弈也可以说是神手。这是非常难对付的。这一招一旦出手,情况就非常复杂,关键点也很多。计算机需要计算的分支有很多。人们已经确定,最强的变化就是抢劫,虽然它不一定对李世石有利。由于计算机“不喜欢抢劫”的固有特性,在这种情况模拟中,最终导致了程序的Bug。证明AlphaGo最终是一个基于MCTS(蒙特卡罗树搜索)的产品。虽然它比之前的 Go 程序 zen 强大得多,但它仍然存在着可笑的 bug。之后,陈静将继续撰写文章和分析。 】
2016年3月12日的人机大战第三场比赛中,AlphaGo以176手战胜李世石,以3:0的比分提前战胜人类。
李世石遭遇了本场比赛最惨重的失利。他早早就被AlphaGo击败,整场比赛毫无机会。最终,李世石惨遭灭门,最终在AlphaGo失去领先优势后,造成了紧逼的灭顶之灾。但AlphaGo仅仅依靠自己的抢就赢得了抢夺大战,粉碎了AlphaGo无法抢的猜想。本场比赛AlphaGo的表现水平是三场比赛中最高的。几乎没有一招可以怀疑,而且都是好招。三盘比赛下来,人们更不清楚AlphaGo到底有多厉害了。
看完这三场比赛,国际象棋界终于陷入了近乎绝望的境地。那些以为是5:0的人,都变成了0:5。一些职业棋手正在考虑第一子和第二子能否承受住这种情况。整个过程可以类比科幻小说《三体》中的黑暗战斗。人类开始有了战胜三体人的信心,想要看到5:0的胜利。一场战斗之后,人类舰队被彻底摧毁,所有人都陷入了0:5的悲观绝望之中。
我也为此挣扎了一段时间。看着人类在围棋中被机器碾压,我感到非常难过。但在承认了机器的优势之后围棋软件zen下载,我很快就完成了自己的心理建设,再次高兴地看着Go。这实际上很容易。这种情况在国际象棋界已经发生很长时间了。这可以在五盘棋之后写出来。
我现在的感觉是,整个国际象棋界对AlphaGo的算法和风格还是很不舒服。一开始,他还瞧不起他。一次又一次的失败之后,他的态度也越来越低落。三场比赛下来,他已经陷入了一种非常压抑、压抑的心态。这是可以理解的。作为一个围棋迷,我一度感到郁闷,更何况是一个视棋为生命的职业棋手。但无论怎样,我们都应该从技术角度冷静地搞清楚,AlphaGo 是怎么下棋的,它有什么优势,有没有弱点呢?
现在已经有了三项高水平棋战记录,其质量比之前与范麾的五场比赛要高得多。还有谷歌2016年1月28日在《自然》上发表的一篇论文,介绍了很多技术细节和一些流传的消息。其实相关信息并不多,可以做一些技术分析。
之前的文章提到,从研发角度来看,谷歌团队汇聚了15-20名专家,提供了大量的高性能计算资源,建立了整个AlphaGo算法研究的“流水线”。这样,谷歌团队就从修改程序代码的麻烦工作中解脱出来,转而指挥机器工作,启动流水线不断学习进步,提高战略网络价值网络的系数。而且,这个研发架构看起来并没有什么严重的瓶颈,能够不断自我完善。如果出现小瓶颈,我们可以想办法改变训练方式。即使最后遇到瓶颈围棋软件zen下载,其水平也可能远远超过人类。
这些复杂且不断变化的神经网络系数是AlphaGo的绝活。训练这些网络需要比分布式版本中使用的 1,200 多个 CPU 更多的计算资源。 AlphaGo算法中还有一些模块代码需要人编写。这些代码不是由机器训练的,无论如何训练都无法更改。谷歌团队不可能这么强大。比如整个蒙特卡洛搜索(MCTS)框架的代码,比如快速移动子网的代码。事实上,以下是该论文的两位共同第一作者 David Silver 和 Aja Huang 多年来积累的贡献。这些人编写的代码会有固有的缺陷,不太可能是完美的。这些缺陷不是“流水线”不眠不休、疯狂训练就能解决的。它们是AlphaGo真正的固有缺陷,无法用深度学习、自我对弈、进化、强化学习等高级术语来解决。无论谷歌堆砌多少硬件,都无法解决问题。人们仍然需要更改代码。
在第一场比赛开始之前,谷歌表示其实还在忙着换版本,而最新的版本不稳定,所以使用了固定版本。此类开发工作可能涉及手动修改代码以消除bug,并且可能因测试不完整而无法使用。
总之,像AlphaGo这样大的软件,从算法的角度来看,很有可能存在Bug。下棋的时候,表现出突然出了一些不好的棋步,并不是因为策略网络价值网络的水平不够高,而是MCTS框架相关的搜索代码的结果。如果你想发现AlphaGo中潜在的bug,你需要仔细研究它的“搜索”。这可能是它唯一的生命力,想要提升并不容易。
那么MCTS有哪些优点和缺点呢?幸运的是,Zen、CrazyStone 等上一代程序以及 Facebook 田元东博士开发的 Darkforest 都使用了 MCTS。虽然他们的棋艺与AlphaGo相差甚远,但他们的棋艺思维其实非常相似,而且相似度比我们想象的要高得多。
这是田元东晒出的《暗黑森林》前两场比赛的成绩。可以看出,这个分数与棋局的走向高度一致,完全有道理。而谷歌也透露了AlphaGo的得分情况。虽然一直领先,但第二局也有逼近的时候,可以相互印证。如果你在线下载一个Zen,进入AlphaGo和李世石的比赛,选择一种情况进行分析,就会得到一个不错的分数。到底是怎么回事?