AlphaZero登上《科学》杂志封面:一个算法就能通吃三大棋类

12月7日,Goolge旗下的人工智能实验室DeepMind研究团队在《科学》杂志上发布封面论文,公布了通用算法AlphaZero和测试数据。《科学》杂志评价称,通过单一算法就能够解决多个复杂问题,是创建通用的机器学习系统、解决实际问题的重要一步。该论文的作者包括AlphaGo的核心研发人员大卫·席尔瓦(David Silver)和DeepMind创始人戴密斯·哈萨比斯(Demis Hassabis)等。

2018年12月7日的《科学》杂志封面

AlphaGo首次为人们所熟知是2016年与围棋世界冠军李世乭进行围棋人机大战,并最终以4比1的总比分获胜。实际上早在2016年1月Google就在国际学术期刊《自然》杂志上发布封面文章,介绍AlphaGo在没有任何让子的情况下以5:0完胜欧洲冠军、职业围棋二段樊麾。

2017年10月18日,DeepMind团队公布了最强版阿尔法围棋,代号AlphaGo Zero。彼时DeepMind表示,棋类AI的算法主要基于复杂的枚举,同时需要人工进行评价,人们在过去几十年内已经将这种方法做到极致了。而AlphaGo Zero在围棋中的超人表现,则是通过与自己下棋练习出来的。

现在DeepMind研究团队将这种方法推广到AlphaZero的算法中,AlphaZero最长花了13天“自学成才”,随后与世界冠军级的棋类AI对决:

AlphaGo的前几代版本,一开始都是与人类棋手的棋谱进行上千盘的训练,学习如何下围棋。到了AlphaGo Zero则跳过了这个步骤,通过自我对弈学习下棋,从零学起。系统从一个对围棋一无所知的神经网络开始,将该神经网络和一个强力搜索算法结合,自我对弈。在对弈过程中,神经网络不断调整、升级,预测每一步落子和最终的胜利者。

与AlphaGo Zero一样,从随机小游戏开始,AlphaZero依靠深度神经网络、通用强化学习算法和蒙地卡罗树搜索,在除了游戏规则外没有任何知识背景的情况下,通过自我对弈进行强化学习。强化学习的方式是一种通过“试错”的机器学习方式。

DeepMind在其博客中介绍,一开始AlphaZero完全是在瞎玩,但随着时间的推移,系统从胜、负和平局中学习,调整神经网络的参数,如此往复循环,每过一轮,系统的表现就提高了一点点,自我对弈的质量也提高了一点点,神经网络也就越来越准确。神经网络所需的训练量取决于游戏的风格和复杂程度。经过试验,AlphaZero花了9个小时掌握西洋棋,花了12个小时掌握日本将棋,花了13天掌握围棋。

AlphaZero继承了AlphaGo Zero的算法设置和网络构架等,但两者也有诸多不同之处。比如围棋中很少会出现平局的情况,因此AlphaGo Zero是在假设结果为“非赢即输”的情况下,对获胜机率进行估计和优化。而AlphaZero会将平局或其他潜在结果也纳入考虑,对结果进行估计和优化。

其次围棋棋盘发生旋转和反转,结果都不会发生变化,因此AlphaGo Zero会通过生成8个对称图像来增强训练数据。但西洋棋和日本将棋中,棋盘是不对称的。因此,AlphaZero不会增强训练数据,也不会在蒙地卡罗树搜索期间转换棋盘位置。

在AlphaGo Zero中,自我对弈是由以前所有迭代中最好的玩家产生的,而自我对弈也是与这个产生的新玩家对于。而AlphaZero只继承了AlphaGo Zero的单一神经网络,这个神经网络不断更新,而不是等待迭代完成。自我对弈是通过使用这个神经网络的最新参数产生的,因此省略了评价步骤和选择最佳玩家的过程。

此外,AlphaGo Zero使用的是通过贝氏定理优化调整搜索的超参数;AlphaZero中,所有对弈都重复使用相同的超参数,因此无需进行针对特定某种游戏的调整。唯一的例外是为保证探索噪声和学习率。

研究团队展示了在AlphaZero执白、Stockfish执黑的一局西洋棋里,经过1000次、10000次……直到100万次仿真之后,AlphaZero蒙地卡罗树的内部搜索状态。每个树状图解都展示了10个最常搜索的状态。

DeepMind研究团队介绍,每个AI的硬件都是定制的。例如,在TCES世界锦标赛上,Stockfish和Elmo使用的是44核CPU。而AlphaZero和AlphaGo Zero则使用了一台配备了4个第一代TPU和44核CPU的机器。虽然构架没有可比性,但第一代TPU的处理速度与NIVIDA公司的Titan V型商用GPU相当。研究团队在训练环节里,投入了5000个一代TPU来产生自我对弈游戏,16个二代TPU来训练神经网络。

西洋棋是计算机科学家很早就开始研究的领域。1997年,深蓝(Deep Blue)击败了人类西洋棋冠军卡斯帕洛夫,这一事件成为了人工智能发展的里程碑。但彼时卡
斯帕洛夫对深蓝的印象并不深刻,认为深蓝的智能水准和一个闹钟差不多。如今,他对棋类AI的看法也发生了转变。他认为AlphaZero“像自己一样”,下棋风格多变而开放。

在同一期《科学》杂志上,卡斯帕洛夫撰文称,“传统的机器是通过不断枚举来下棋,最终把棋局拖入无聊的平局。但在我的观察中,AlphaZero会优先考虑棋子的活动而非盘面上的点数优势,并且喜欢在相对风险更大的地方落子。”

尽管与传统的冠军级程序相比,研究人员用训练好的神经网络指导蒙特卡罗树搜索,来选择最有可能获得胜利的一步,因此AlphaZero每秒计算的位置要少得多。据DeepMind介绍,在西洋棋中,AlphaZero每秒仅计算6万个位置,相比之下,Stockfish则会计算6千万个位置。但从比赛的结果来看,AlphaZero的思考显然更有效率。

在西洋棋比赛中,AlphaZero击败了2016年TCEC(第九季)世界冠军Stockfish,在1000场比赛中,赢得155场比赛,输了6场(其余为平局)。为了验证AlphaZero的稳健性,研究团队还进行了一系列比赛,这些比赛都是从“人类开局方式”开始的,而AlphaZero都击败了Stockfish。

在将棋比赛中,AlphaZero击败了2017年CSA世界冠军版Elmo,赢得了91.2%的比赛。

在围棋比赛中,AlphaZero击败了AlphaGo Zero,赢得了61%的比赛。

对于AlphaZero取得的战绩,卡斯帕洛夫认为这正是印证了一句老话——聪明地工作比拼命地工作更重要。

此外,卡斯帕洛夫表示,一个程序的特点通常反映了程序员思考的优先级和思维上的偏见,但由于AlphaZero是通过跟自己下棋来改善自己的思考方式,所以它的风格反映的就是它自己。

在进行马拉松式比赛的过程中,DeepMind研究团队发现,AlphaZero自己发现并掌握了一些人类下棋时摸索出来的套路,比如在西洋棋中,AlphaZero掌握了几种常见的开局模式、保王(King Safety)的思维以及各种兵阵的布局。但另一方面AlphaZero是自学成才的,不受到传统观念的影响,因此它还能为传统策略的发展注入新鲜的血液。这一点得到了日本将棋史上第一个完成七冠王的羽生善治的赞同。

“AlphaZero会将王移到棋盘中央,从人类的角度来看,这是有违将棋理论的,它的一些路数走得也很危险。但令人难以置信的是,它始终控制着局面。AlphaZero独特的风格打开了日本将棋新世界的大门。”羽生善治表示。