AlphaZero:谷歌人工智能在 24 小时内征服国际象棋和围棋
棋盘游戏(如国际象棋)是人工智能历史上广泛研究的领域。图灵、巴贝奇、冯·诺依曼和香农等先驱开发了用于分析和下棋的理论、算法和硬件。在过去几年中,我们看到类似的程序在围棋和将棋(日本象棋)等更复杂的游戏中表现优于人类。
谷歌的 Deepmind 在棋盘游戏中击败人类方面有着惊人的记录。 2015 年,他们的项目 AlphaGo 成为第一个击败人类(职业围棋选手)的计算机围棋程序。现在他们开发了一款 AlphaGo 程序,可以自行学习国际象棋游戏,并在近 4 小时内击败人类或任何其他计算机程序(包括 Stockfish 和 Deep Blue)。
传统的人工智能程序(棋盘游戏)对其领域进行了高度优化,并且在没有人工干预的情况下无法推广到其他问题。另一方面,AlphaZero 程序可以在几个具有挑战性的领域实现超人的性能。除了游戏规则之外,在没有先验知识的情况下,从随机对弈开始,AlphaZero 在国际象棋、将棋和围棋游戏中在 24 小时内达到了超人的水平,并在每种情况下都击败了世界上最好的程序。他们是如何做到这一点的?确切的结果是什么?让我们来看看吧。
方法论
2017 年 10 月,Deepmind 宣布他们的 AlphaGo Zero 算法使用深度卷积神经网络并仅通过强化学习进行训练,已经实现了超人的性能。工程师使用相同的方法构建了一种名为 AlphaZero 的通用算法,该算法用深度神经网络取代了传统游戏算法中使用的特定领域增强和手工知识。 和白板强化学习算法 .
AlphaZero 使用通用MCTS (蒙特卡洛树搜索)算法而不是 alpha-beta 搜索。 它通过与自身对弈来学习价值估计和移动概率,然后使用学习到的信息来指导其搜索。
它与 AlphaGo 零算法有何不同
AlphaGo Zero 算法估计并优化获胜概率,考虑二元获胜或失败结果。另一方面,AlphaZero 会考虑平局或其他潜在结果来估计和优化预期结果。
围棋游戏规则对于反射和旋转是不变的。这一事实在 AlphaGo 及其高级版本 AlphaGo Zero 中以两种方式得到了很好的利用。
- 通过为每个位置创建 8 个对称性来增强训练数据。
- 在 MCTS 算法中,在由神经网络计算之前,通过随机选择反射或旋转来变换位置,以便对不同偏差进行平均计算。
对于国际象棋和将棋来说,规则是不对称的,一般情况下你不能假设对称性。在 AlphaZero 中,MCTS 期间不会增加训练数据,也不会改变棋盘位置。
AlphaGo Zero 使用之前迭代中最好的棋手来生成自对弈。每次迭代完成后,新玩家的表现将与最佳玩家进行评估。如果以 55% 的优势获胜,则最好的玩家将被替换,并且新玩家将进一步生成自玩游戏。然而,AlphaZero 维护单个神经网络(持续更新),而不是暂停直到迭代完成。
AlphaZero 优化和训练
AlphaZero 对所有游戏都使用超参数,没有任何特定于游戏的优化。为了确保探索,集成了噪声因子,该噪声因子与该类型游戏的合法动作数量成比例。
与 AlphaGo Zero 一样,棋盘状态由空间平面编码,动作由空间平面或平面向量编码,具体取决于每个游戏的基本规则。
开发人员将 AlphaZero 应用于国际象棋、将棋和围棋。所有 3 款游戏均使用相同的网络架构、超参数和设置。为每个游戏训练算法的单独实例。从随机初始化参数开始,进行了 700,000 步的训练,使用 5,000 个第一代张量处理单元构建自对弈游戏,使用 64 个第二代张量处理单元训练神经网络。
参考:arxiv.org
结果
如图所示,在国际象棋中,AlphaZero 在 300,000 步(4 小时后)后表现优于 Stockfish;它比 Elmo 跑了 110,000 步(2 小时内);它比 AlphaGo Lee 跑了 165,000 步(8 小时后)。
经过充分训练的 AlphaZero 实例(训练 3 天)与 AlphaGo Zero、Elmo 和 Stockfish 进行了测试,以每步棋 1 分钟的时间速率进行了 100 场比赛。结果非常令人印象深刻(见下表)。
AlphaGo Zero 和 AlphaZero 使用具有 4 个张量处理单元的单台机器,Elmo 和 Stockfish 使用 64 个线程和 1 GB 哈希大小表现最好。 AlphaZero 击败了所有人,输给 Elmo 8 场比赛,输给 Stockfish 一场。
谷歌开发人员还检查了 AlphaZero 中 MCTS 搜索的性能。它在将棋中每秒搜索 40,000 个棋局,在国际象棋中每秒搜索 80,000 个棋局,而 Elmo 每秒搜索 35,000,000 个棋局,Stockfish 每秒搜索 70,000,000 个棋局。 AlphaZero 使用其深度神经网络更有选择性地关注最有希望的选择,或者你可以说是一种更类似于人类的方法。
阅读:基于评级的 15 个最佳国际象棋引擎
虽然 AlphaZero 仍处于起步阶段,但它是实现其目标的重要一步。如果类似的方法可以应用于其他结构性问题,例如蛋白质折叠、发现新材料或减少能源消耗,那么其结果有可能以积极的方式影响我们的未来。
工业技术