请在后台配置页面设置顶部欢迎语

网站收藏财经新闻网联系我们

导航菜单

【已回答】AlphaGo的致命弱点是什么?

      我专栏的文章指出出了AlphaGo的漏洞:AlphaGo的致命漏洞-知乎专栏。内容如下:

      围棋AI为什么难做?公认的两点理由是:搜索空间大、局面评估难。

      AlphaGo为什么厉害?因为它很好地处理了第一个问题。面对搜索空间大的问题,AlphaGo通过策略网络,使得选择搜索分支时有了很强的针对性。但我认为AlphaGo还远远没解决准确评估局面的问题,因为它是基于蒙地卡罗法做局面评估的,这会导致它在评估局面时出现致命的漏洞。下面我会用通俗的语言来做说明,小学生也能看懂:

      蒙地卡罗法是一种用随机数解决统计问题的方法。用在围棋的局面评估上,就是将围棋的局面评估问题看成一个统计问题。电脑评估一个局面好不好的时候,随机下子,直到棋局结束,如此重复多盘模拟对局,看看胜率怎样,胜率高的话就认为局面是好的。也就是说,它认为模拟对局的胜率高就是局面好。

      但是在某些情况下,这是不成立的。如果接触过象棋残局的话就会知道,象棋残局通常只有一个走法可以赢,走其它着法都会输,胜率是很低的,但只要走对了就是必胜的。因此,胜率低不等于局面差,胜率高不等于局面好。这就是蒙地卡罗法必然有漏洞的原因。而且,这个问题也不会因为模拟棋局的数量增多而发生根本的改变。

      AlphaGo模拟对局的方法建立在蒙地卡罗法之上,但有所改进,并不是随机落子,而是落子在一些较好的位置上,但依然是用胜率来判断局面的优劣。前面论证过,胜率高不等于局面好。因此这一定会是AlphaGo漏洞。

      AlphaGo的局面评估运用了两种方法,一是实战时的模拟对局,二是价值网络。蒙地卡罗法的问题不仅仅表现在实战时的模拟对局,也波及到价值网络,因为价值网络是通过实战前的模拟对局产生的,同样是根据胜率来判断局面的优劣。

      而且我认为,用蒙地卡罗法评估局面并不一定有让围棋软件的棋力出现很大幅度的提升,具体原因请看我的另一篇专栏文章:真正引发电脑围棋界大地震的并不是MCTS-知乎专栏。

alphago为什么会自毁
       AlphaGo的致命弱点是什么?

AlphaGo的致命弱点是什么?

      李世石战胜AlphaGo的一局,已经揭示出AlphaGo的致命弱点是计算力不足,这与大部分人认为AlphaGo具备超强计算力的印象不同。

      以下从几个方面进行回答:

      1.AlphaGo的计算深度是关键制约因素

      目前看到的数据是AlphaGo的计算深度为25步棋。围棋的复杂度为10^171,超过宇宙中原子的总数(10^80)。人类具备灵感和直觉这类特有的意识活动,这是人类超能力的体现。像李世石这样的围棋高手可以从千万种可能性中仅凭直觉找出最有价值的一手。AlphaGo尽管在围棋AI上获得巨大突破,将无穷变为有穷,但每一步依然需要消耗巨大的计算量。

      2.AlphaGo为什么规避打劫?

      这是一个伪命题。AlphaGo不存在规避打劫的人为设定,之所以很少出现打劫的情况,完全是基于估值网络的计算结果。在人类认为打劫有利的情况下,AlphaGo计算出的胜率却较低,原因就在于打劫往往涉及来来回回的N个回合。尤其在双方劫材丰富的情况下,计算复杂度将迅速超过AlphaGo计算深度的限制。由于计算资源的限制,打劫的变化无法计算得到正确的胜率值,从而导致打劫的变化被抛弃。

      3.AlphaGo存在先天不足

      由于缺乏围棋顶尖高手的教导,AlphaGo在监督学习阶段的质量不高,造成其训练结果存在先天不足。无法做得像人类直觉一样,迅速排除掉大量不可能的选择,这是造成其计算量不堪重负的一个重要因素。

      4.AlphaGo所谓的Bug是合理计算的结果

      AlphaGo是由估值网络计算的胜率来决定走哪一步。当进行到黑87手,估值网络计算的胜率由70%大幅下降到40%。此时,策略网络返回的可能选点,经价值网络评估,都无法使得胜率有所提高,由此电脑才选择了貌似幼稚的89手和93手。被视为发疯的97手就更为有趣了,AlphaGo选择这一手的理由或许是基于博弈的结果。在假定败局已定的情况下,获胜的希望必须依赖对手的失误,哪一步失误的价值最大就选择哪一步。在AlphaGo的评估中,若97手应对失误,其胜率将从低于30%大幅回升到70%以上。

      5.AlphaGo的计算策略不够灵活

      围棋的复杂度决定了AlphaGo必须限制每一步的计算量。这个限制可能是一个全局性的统一设定,没有针对复杂多变的场景进行针对性的调整。在人类的对局中,有胜负手的说法,但AlphaGo对此没有概念。如果AlphaGo能够意识到白78神之一手的重大意义,那么它的计算深度至少应该加倍。但显然它没有这么做,所以直到87手才意识到胜率突降。

      6.神之一手的复杂度是由打劫引发的

      AlphaGo为什么没能计算出李世石神之一手的价值,最大的可能性就是由于打劫的出现。合理应对神之一手,必然会出现打劫的变化。但是如前所述,打劫会迅速加大计算深度,而AlphaGo目前存在计算深度的制约。在计算深度不足的情况下,打劫的变化无法得到正确的胜率值,所以AlphaGo无法正确评判出神之一手的价值。

      总结

      AlphaGo的出现并没有本质上解决围棋复杂度的问题,计算资源的不足成为其最大制约。AlphaGo的棋风酷似李昌镐是由其计算力不足的弱点决定的,必然会选择算得清胜率的招法,规避复杂的战斗。因此,战胜AlphaGo的策略非常简明,就是将棋局引入复杂的战斗场面,特别的,应该尽量利用劫争赢得胜利!