AlphaZero是由人工智能研究公司DeepMind开发的计算机程序,旨在掌握棋盘游戏国际象棋、将棋和围棋。与早期的游戏系统不同,它完全通过自我对弈学习,除了游戏规则外,不依赖任何人类知识。该程序使用神经网络结合蒙特卡洛树搜索,这种方法首次在其前身AlphaGo Zero中得到展示。公司于2017年12月5日发布了介绍AlphaZero的预印本论文,随后于2018年12月7日在《科学》期刊上发表了同行评审的出版物。
AlphaZero的训练方法不需要开局库、残局表或人工设计的启发式规则。相反,它通过与自己进行数百万次对弈来生成自身经验,并由强化学习算法引导。这种方法使其在数小时内就在所有三个游戏中达到超人类水平,尽管每秒搜索的位置数远少于传统引擎。DeepMind将由此产生的游戏风格描述为不寻常,有些棋步对人类观察者来说显得违反直觉。
训练方法
训练过程使用了5000个第一代张量处理单元(TPU)来生成自我对弈游戏,以及64个第二代TPU来更新神经网络权重,所有操作并行运行。训练中的系统定期与基准程序进行短时展示比赛以衡量进展。对阵国际象棋引擎Stockfish时,AlphaZero在约四小时训练后超过基准性能;对阵将棋引擎Elmo时,大约需要两小时;对阵三天的AlphaGo Zero版本时,约需八小时。
神经网络在训练期间持续更新。与其前身系统不同,AlphaZero不使用游戏对称性来增强训练数据,并纳入了平局的可能性,这在围棋中不存在但在国际象棋和将棋中可能出现。该算法推广了早期AlphaGo Zero的方法以处理这些额外的平局情况。
比赛结果
在国际象棋中,经过九小时训练后,AlphaZero与Stockfish 8(2016年TCEC世界冠军)进行了100局比赛,每方每步一分钟。Stockfish使用64线程和1 GB哈希大小,而AlphaZero在配备四个TPU的单台机器上运行。结果为28胜、0负、72平。在从流行人类开局开始的十二场100局比赛中,AlphaZero赢得290局、平886局、输24局。
在将棋中,经过两小时训练后,AlphaZero在100局比赛中击败了Elmo引擎(World Computer Shogi Championship 27夏季2017版本,使用YaneuraOu 4.73),赢得90局、输8局、平2局。在围棋中,经过34小时自我学习后,AlphaZero对阵三天的AlphaGo Zero版本,赢得60局、输40局。
评估的位置数量差异巨大。AlphaZero在国际象棋中每秒搜索约80个位置,在将棋中约40,000个,而Stockfish为7000万,Elmo为3500万。它通过深度神经网络对有希望的变化进行选择性聚焦来弥补这一差距。
性能评估
DeepMind研究人员表示,这些算法证明了通用的强化学习方法可以在仅了解规则而不依赖领域知识的情况下,在多种棋盘游戏中达到超人类水平。他们指出,最先进的国际象棋引擎通常使用手工设计的专业知识搜索数百万个位置,而AlphaZero在数小时内搜索的位置少一千倍。DeepMind的Demis Hassabis本人是国际象棋业余爱好者,他将AlphaZero的风格描述为“外星风格”,提到了诸如牺牲皇后和象以获取位置优势等反直觉的弃子。
然而,一些专家表达了谨慎态度。特级大师Hikaru Nakamura和Komodo开发者Larry Kaufman建议,如果Stockfish使用开局数据库,结果可能会更有竞争力,因为该引擎是为这种场景优化的。Stockfish开发者Dario Romstad指出,该引擎并非为严格固定时间而优化,且所用版本在比赛时已经过时。同样,一些将棋观察者认为Elmo的哈希大小过低,且认输或进入设置可能不合适。
遗产
DeepMind从未发布完整的AlphaZero代码。然而,《科学》论文中的算法描述使公众能够重现类似的系统。2019年,DeepMind发布了一个更强大的泛化版本MuZero,它在不被告知规则或游戏表示的情况下,在Atari游戏和棋盘游戏中取得了强劲表现,表明核心思想不限于人类定义的游戏规则。
观察者将AlphaZero的首次亮相与国际象棋计算机发展的历史里程碑进行了比较。1997年,Deep Blue成为第一台在比赛中击败世界冠军Garry Kasparov的计算机。AlphaZero代表了不同的前沿:它不使用专注于数百万位置的专门化、搜索密集型启发式规则,而是通过机器学习学习自身代码并超越对手,其中通过自我对弈训练的神经网络超越了人工工程系统的性能。