当前位置:主页 > 期刊技节 >AlphaGo再进化,AlphaZero轻取国际象棋冠军程式 >

AlphaGo再进化,AlphaZero轻取国际象棋冠军程式

AlphaGo, AlphaGo Zero, Alpha Zero

2016年3月,Google棋下的人工智能公司DeepMind,派出使用深度学习技术的程式AlphaGo跟韩国围棋九段棋士李世乭对奕,并在5局中以4胜1负之成绩击败对方,成为围棋史上首次有电脑程式击败人类世界冠军。

去年底开始,AlphaGo的新版本以Master之名秘密在网上跟棋手对奕,未尝一败,最终由AlphaGo重要推手的黄士杰博士揭露身分。这个更强大的AlphaGo Master亦于今年5月跟世界排名第一的九段棋手柯洁对奕,结果以3比0胜出。

今年10月,DeepMind在期刊《自然》发表研究,宣布AlphaGo已被新版本超越。以往AlphaGo需要先从人类的棋谱学习下棋,但新版的AlphaGo Zero只需要从基本规则出发,跟自己对奕,三天就达到击败李世乭版本的AlphaGo Lee水平,21天后已超越击败柯洁的AlphaGo Master,40天内击败所有其他版本的AlphaGo,成为最佳棋手。

本星期二(12月5日)DeepMind研究团队在论文预印本存库arXiv贴出论文,宣布他们的移除了AlphaGo Zero专门为围棋而设的限制,AlphaZero採用跟AlphaGo Zero类似的强化学习(reinforcement larning)技术,但其演算法不仅应用在围棋之上,更可以用来学习国际象际和将棋,无需任何领域知识(domain knowledge),只需要知道游戏规则。

更多限制的棋

1997年,IBM的「深蓝」(Deep Blue)已在国际象棋上击败了当时的世界冠军卡斯帕洛夫(Garry Kasparov),事隔20年,现时电脑程式的棋力已远胜人类,2016年的世界冠军为Stockfish。

从运算複杂度而言,将棋比国际象棋更难︰使用更大的棋盘,而且捕捉到对方的棋后可以放在棋盘上任何位置,以致棋局变化更大。目前最强的将棋程式Elmo,也是近来才击败人类世界冠军。

无类是国际象棋抑或将棋,这类下棋程式得力于大规模搜索、大量启发法(heuristic),以及特定用于国际象棋或将棋的设计。

研究团队指出,围棋适合以神经网络处理,因为其规则不受平移影响,并能对应棋盘上的邻点去定义「自由度」,也是旋转及镜射对称,方便处理数据。此外下子规则简单——可以放在棋盘上任何位置——结果亦是简单的胜或负,容易用来训练神经网络。

相比之下,国际象棋和将棋较不适合AlphaGo的神经网络架构,因为规则受位置影响、不对称,亦包含长距离的互动。下棋时,并非所有位置都可以合法走动,而且有机会出现和局,亦有人相信最优解是和局。

后浪推前浪

团队将AlphaZero的演算法分别应用到国际象棋、将棋和围棋三种游戏上,使用相同设定但各自独立训练。不过2小时,AlphaZero走了11万步棋后,就在将棋上超越了Elmo。在国际象棋方面,AlphaZero也仅需要4小时,走了30万步棋便超越Stockfish。至于AlphaGo的强项围棋,AlphaZero用了8小时(16.5万步棋)去超越击败李世乭的AlphaGo Lee。

他们又把完成训练的AlphaZero跟Stockfish、Elmo及训练了三天的AlphaGo Zero对奕,Stockfish及Elmo均以最强水平应战,使用64线程及1GB大小的散列表(hash table);AlphaZero及AlphaGo Zero都用4个张量处理器(TPU)。

AlphaZero分别跟三个程式对奕100局,执黑棋白棋各佔一半。国际象棋中先行的白方AlphaZero跟Stockfish胜和各半,黑方AlphaZero成绩则为3胜47和,胜出率28%但未尝一败。跟Elmo的将棋比赛中,先行的AlphaGo成绩为47胜三负,后手的AlphaGo则43胜2和5负,总计胜出率高达9成。至于跟AlphaGo Zero的围棋比赛,AlphaZero执白棋先行时成绩为31胜19负,执黑棋时则29胜21负,双方差距较小但仍明显佔优,整体胜出率为6成。

更有效率

除了对赛成绩外,团队亦分析了AlphaZero所用的「蒙地卡罗树搜寻法」(MCTS)表现,并跟Stockfish和Elmo的alpha-beta剪枝法比较。整体而言,AlphaZero搜寻的步数远低于其余两个程式,相差近千倍︰在国际象棋比赛中,AlphaZero每秒搜寻了8万个位置,Stockfish数字为7,000万;在将棋比赛中,AlphaZero每秒搜寻4万个位置,Elmo数字为3,500万。团队认为AlphaZero的MCTS随考虑时间增长的效率,比起alpha-beta搜寻法优胜,质疑长久以来认为此方法在有关领域较优胜的信念。

最后,团队又检视了国际险棋中人类棋手最常用的开局方式——在网上数据库用上10万次的开局走法——发现当中每一款都由AlphaZero在自行对奕训练期间,独立发现并频繁使用。在每一款开局走法中,AlphaZero亦击败了Stockfish,显示它掌握了广泛的下棋技巧。

论文总结指出,比起下围棋的AlphaGo,AlphaZero是个应用更广泛的强化学习演算法,能够在数小时内取得惊人成果,更有效寻搜位置,而且只需要游戏规则,不依赖其他特定的领域知识。而且在没有特别修改下,AlphaZero可以应用到更複杂的将棋和国际象棋,并于数小时内超越原本最强的程式。

解决现实难题?

DeepMind行政总裁Demis Hassabis曾表示,AlphaGo Zero的未来版本可以协助解决多项科学难题,由设计新药到发现新物料等。今次AlphaZero明显应用更广泛,不过要达至上述目标,相信尚有一大段距离。

牛津大学的电脑科学教授Michael Wooldridge提醒,DeepMind团队今次的结果符合他们过往表现,令人印象深刻,但三款游戏都相对「封闭」,规则较为有限而且可知。如要在现实世界应用,需要处理未知的情况,远远複杂得多。他认为当DeepMind开始转向较为「开放」的问题时,人工智能领域的发展会变得更有趣。

相关文章︰

AlphaGo如何战胜职业棋士?关键在这几组学习方式 人工智能不只会捉围棋,还可以帮Google节省电费 AlphaGo到底是如何下棋?兼谈几个对AlphaGo的误解

资料来源︰

Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm (Silver etal. 2017) Google's 'superhuman' DeepMind AI claims chess crown (BBC) DeepMind’s Groundbreaking AlphaGo Zero AI Is Now a Versatile Gamer (MIT Technology Review) AlphaGo Zero: Learning from scratch (DeepMind)   
上一篇: 下一篇: