【论文阅读】DouZero Mastering DouDizhu with Self-Play Deep Reinforcement Learning
原始题目:DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning
中文翻译:DouZero:通过自我玩法深度强化学习掌握斗地主
发表时间:2021年07月
平台:International Conference on Machine Learning
文章链接:https://proceedings.mlr.press/v139/zha21a.html
开源代码:https://github.com/kwai/DouZero
摘要
游戏是现实世界的抽象,人工代理在游戏中学会与其他代理竞争和合作。虽然在各种完全信息和不完全信息游戏中取得了重大成就,但三人纸牌游戏斗地主(又名 "斗地主")仍未解决。斗地主是一个极具挑战性的领域,它包含竞争、协作、不完全信息、巨大的状态空间,尤其是大量可能的行动集,而每一轮的合法行动都有很大的不同。遗憾的是,现代强化学习算法主要集中在简单和较小的行动空间上,在斗地主中无法取得令人满意的进展也就不足为奇了。在这项工作中,我们提出了一个概念简单而有效的斗地主人工智能系统,即 DouZero,它通过深度神经网络、动作编码和并行演员来增强传统的蒙特卡洛方法。DouZero 在一台拥有四块 GPU 的服务器上从零开始,经过数天的训练,其性能超过了所有现有的斗地主人工智能程序,并在 Botzone 排行榜的 344 个人工智能代理中名列第一。通过构建 DouZero,我们证明了经典的蒙特卡洛方法可以在具有复杂行动空间的困难领域中取得优异成绩。我们发布了代码和在线演示1 ,希望这些见解能激励我们未来的工作。
1 引言
游戏通常是人工智能的基准,因为它们是许多现实世界问题的抽象。完美信息博弈已经取得了重大成就。例如,AlphaGo(Silver 等人,2016 年)、AlphaZero(Silver 等人,2018 年)和 MuZero(Schrittwieser 等人,2020 年)在围棋游戏中取得了最先进的性能。最近的研究已发展到更具挑战性的不完全信息博弈,即代理在部分可观测的环境中与他人竞争或合作。双人游戏已取得了令人鼓舞的进展,如简单的勒杜克扑克和限注/无注德州扑克(Zinkevich 等人,2008 年;Heinrich & Silver,2016 年;Moravˇ c ́ık 等人,2017 年;Brown & Sandholm,2017 年)、2017;Brown & Sandholm, 2018),以及多人游戏,如多人德州扑克(Brown & Sandholm, 2019b)、星际争霸(Vinyals 等人,2019)、DOTA(Berner 等人,2019)、花牌(Hanabi)(Lerer 等人,2020)、麻将(Li 等人,2020a)、王者荣耀(Ye 等人,2020b;a)和无压力外交(Gray 等人,2020)。
这项工作旨在为DouDizhu2(又名Fighting the Landlord)构建AI程序,斗地主是中国最受欢迎的纸牌游戏,每天有数亿活跃玩家。斗地主有两个有趣的特性,给人工智能系统带来了巨大挑战。首先,斗地主中的玩家需要在一个部分可观察、交流有限的环境中既与他人竞争又与他人合作。具体来说,两个农民玩家将组队对抗地主玩家。扑克游戏的流行算法,如反事实遗憾最小化算法(CFR)(Zinkevich et al.)及其变体,在这种复杂的三人游戏环境中往往并不适用。其次,斗地主有大量平均规模非常大的信息集,而且由于牌的组合,有一个非常复杂和庞大的行动空间,可能的行动多达 104 种(Zha 等人,2019a)。与德州扑克不同,斗地主中的动作不容易抽象化,这使得搜索的计算成本很高,常用的强化学习算法也不太有效。深度 Q 学习(DQN)(Mnih 等人,2015 年)由于高估问题,在非常大的动作空间中存在问题(Zahavy 等人,2018 年);A3C(Mnih 等人,2016 年)等策略梯度方法无法利用斗地主中的动作特征,因此无法像 DQN 那样自然地泛化未见过的动作(Dulac-Arnold 等人,2015 年)。先前的工作表明,DQN 和 A3C 无法在斗地主中取得令人满意的进展,这并不奇怪。在(You等人,2019)中,DQN和A3C即使经过二十天的训练,在与基于规则的简单代理对战中的胜率也不到20%;在(Zha等人,2019a)中,DQN仅比均匀采样合法棋步的随机代理略胜一筹。
通过将人类启发式与学习和搜索相结合来构建斗地主AI,之前已经做出了一些努力。组合Q网络(CQN)(You等人,2019)提出通过将动作解耦为分解选择和最终移动选择来减少动作空间。然而,分解依赖于人类的启发式方法,并且非常缓慢。在实践中,经过二十天的训练,CQN 甚至无法击败简单的启发式规则。DeltaDou(Jiang et al., 2019)是第一个与顶级人类玩家相比达到人类水平性能的人工智能程序。它通过使用贝叶斯方法来推断隐藏信息并根据其他参与者自己的策略网络对其他参与者的行为进行采样,从而实现类似 AlphaZero 的算法。为了抽象动作空间,DeltaDou 基于启发式规则预训练了一个踢球网络。然而,踢球者在豆地竹中起着重要作用,不能轻易抽象。踢球者的错误选择可能会直接导致输掉比赛,因为它可能会破坏其他一些卡牌类别,例如单人链。此外,贝叶斯推理和搜索在计算上是昂贵的。即使在使用监督回归到启发式方法初始化网络时,训练 DeltaDou 也需要两个多月的时间(Jiang 等人,2019 年)。因此,现有的 DouDizhu AI 程序计算成本高昂,并且可能次优,因为它们高度依赖人类知识的抽象。
在这项工作中,我们提出了DouZero,这是一个概念上简单但有效的DouDizhu人工智能系统,没有对状态/动作空间或任何人类知识的抽象。DouZero通过深度神经网络、动作编码和并行Actor增强了传统的蒙特卡洛方法(Sutton&Barto,2018)。DouZero有两个理想的属性。首先,与DQN不同,它不易受到高估偏差的影响。其次,通过将动作编码到卡片矩阵中,它可以自然地泛化在整个训练过程中不经常看到的动作。这两个属性对于处理斗地主庞大而复杂的动作空间至关重要。与许多树搜索算法不同,DouZero基于采样,这使我们能够使用复杂的神经架构,并在相同的计算资源下每秒生成更多的数据。与之前许多依赖于特定领域抽象的扑克 AI 研究不同,DouZero 不需要任何领域知识或底层动态知识。DouZero 在只有 48 个内核和 4 个 1080Ti GPU 的单台服务器中从头开始训练,在半天内超越了 CQN 和启发式规则,在两天内击败了我们内部的监督代理,并在十天内超过了 DeltaDou。广泛的评估表明,DouZero是迄今为止最强大的DouDizhu人工智能系统。
图 1.一手牌及其相应的合法动作。
通过构建DouZero系统,我们证明了经典的蒙特卡洛方法可以在大型和复杂的纸牌游戏中提供强大的结果,这些游戏需要推理巨大的状态和动作空间的竞争和合作。我们注意到,一些工作还发现蒙特卡洛方法可以实现竞争性能(Mania等人,2018;Zha et al., 2021a) 和稀疏奖励设置中的帮助 (Guo et al., 2018;Zha等人,2021b)。与这些专注于简单和小型环境的研究不同,我们证明了蒙特卡洛方法在大规模纸牌游戏中的强大性能。希望这一见解能够促进未来在解决多智能体学习、稀疏奖励、复杂动作空间和不完美信息方面的研究,我们发布了我们的环境和训练代码。与许多需要数千个 CPU 进行训练的扑克 AI 系统不同,例如 DeepStack(Moravˇ c ́ık et al., 2017)和 Libratus (Brown & Sandholm, 2018),DouZero 实现了合理的实验流程,只需要在单个 GPU 服务器上进行数天的训练,这对大多数研究实验室来说都是负担得起的。我们希望它能激励该领域的未来研究,并作为一个强有力的基线。
2 斗地主的背景
斗地主是一款流行的三人纸牌游戏,简单易学,但难以掌握。它在中国吸引了数以亿计的玩家,每年都会举办许多比赛。这是一款脱落型游戏,玩家的目标是在其他玩家之前清空手牌中的所有牌。两名农民玩家组成一个团队,与另一名地主玩家作战。如果农民队中的任何一个玩家是第一个没有牌的人,农民队就赢了。每个游戏都有一个竞标阶段,玩家根据手牌的实力竞标地主,还有一个打牌阶段,玩家轮流打牌。我们在附录A中提供了详细的介绍。
图2.状态和动作的牌被编码成一个 4×15 的单热矩阵,其中列对应于 13 个等级和小丑,每一行对应于特定等级或小丑的牌数。附录 B 中提供了更多示例。
DouDizhu 仍然是多智能体强化学习的未解决基准(Zha et al., 2019a;Terry 等人,2020 年)。两个有趣的属性使斗地主特别具有挑战性。首先,农民需要合作与地主作斗争。例如,图 10 显示了一个典型的情况,即底部的农民可以选择玩一个小的独奏来帮助右侧的农民获胜。其次,斗地主由于卡牌组合,动作空间复杂而大。有 27, 472 种可能的组合,其中这些组合的不同子集对于不同的手牌是合法的。图 1 显示了手牌的一个示例,它有 391 种合法组合,包括 Solo、Pair、Trio、Bomb、Plane、Quad 等。动作空间不容易抽象,因为不当打牌可能会破坏其他类别并直接导致输掉比赛。因此,构建 DouDizhu AI 具有挑战性,因为 DouDizhu 中的玩家需要在巨大的动作空间中推理竞争和合作。
3 深度蒙特卡洛
在本节中,我们重新审视了蒙特卡洛 (MC) 方法,并介绍了深度蒙特卡洛 (DMC),它使用深度神经网络推广 MC 以实现函数逼近。然后,我们讨论并比较了DMC与策略梯度方法(例如,A3C)和DQN,它们在DouDizhu中被证明是失败的(You等人,2019;Zha等人,2019a)。
3.1 深度神经网络的蒙特卡洛方法
蒙特卡洛(MC)方法是传统的强化学习算法,基于平均样本回报(Sutton&Barto,2018)。MC 方法是为情节任务而设计的,其中经验可以分为情节,所有情节最终终止。为了优化策略π,可以通过迭代执行以下过程来使用每次访问 MC 来估计 Q 表 Q(s, a):
- 使用 π 生成剧集。
- 对于每一集出现的 s,a,计算并更新 Q(s, a),并对与 s, a. 相关的所有样本的返回值进行平均。
- 对于剧集中的每个 s,\(π(s) ← arg\ max_a Q(s, a)\)。
第 2 步的平均回报通常通过累积折扣奖励获得。与依赖自举的 Q 学习不同,MC 方法直接逼近目标 Q 值。在步骤 1 中,我们可以使用 epsilon-greedy 来平衡探索和开发。上述过程可以自然地与深度神经网络相结合,从而产生深度蒙特卡洛(DMC)。具体来说,我们可以用神经网络替换 Q 表,并在步骤 2 中使用均方误差 (MSE) 更新 Q 网络。
虽然MC方法被批评为无法处理不完整的事件,并且由于高方差而被认为效率低下(Sutton&Barto,2018),但DMC非常适合DouDizhu。首先,《斗地主》是一项情节性任务,因此我们不需要处理不完整的剧集。其次,DMC可以很容易地并行化,每秒有效地生成许多样本,从而缓解高方差问题。
图3.DouZero的Q网络由一个LSTM组成,用于编码历史动作,以及六层隐藏维度为512的MLP。该网络根据动作和状态的串联表示来预测给定状态-动作对的值。更多详细信息见附录 C.1。
3.2 与策略梯度方法的比较
策略梯度方法,如REINFORCE(Williams,1992),A3C(Mnih等人,2016),PPO(Schulman等人,2017)和IMPALA(Espeholt等人,2018),在强化学习中非常流行。它们的目标是直接使用梯度下降对策略进行建模和优化。在策略梯度方法中,我们经常使用类似分类器的函数近似器,其中输出随操作数线性缩放。虽然策略梯度方法在大型行动空间中效果很好,但它们不能使用行动特征来推理以前看不见的行动(Dulac-Arnold et al., 2015)。在实践中,斗地主中的动作可以自然地编码成卡片矩阵,这对于推理至关重要。例如,如果智能体因为选择了一个很好的踢球者而获得了动作 3KKK 的奖励,那么它也可以将这些知识推广到将来看不见的动作,例如 3JJJ。此属性对于处理非常大的动作空间和加速学习至关重要,因为许多动作在模拟数据中并不常见。
DMC 可以自然地利用动作特征,通过将动作特征作为输入来泛化看不见的动作。虽然如果动作大小很大,执行复杂度可能很高,但在斗地竹的大多数状态中,只有一部分动作是合法的,因此我们不需要遍历所有动作。因此,DMC总体上是斗地主的高效算法。虽然可以将动作特征引入 actor-critic 框架中(例如,通过使用 Q 网络作为 Critic),但类似分类器的 actor 仍然会受到大动作空间的影响。我们的初步实验证实,这种策略不是很有效(见图7)。
3.3 与深度Q-Learning的比较
最流行的基于值的算法是深度QLearning(DQN)(Mnih等人,2015),这是一种自举方法,在下一步中根据Q值更新Q值。虽然 DMC 和 DQN 都近似于 Q 值,但 DMC 在斗地主中有几个优势。
首先,当使用函数近似时,由于逼近DQN中的最大动作值而引起的高估偏差很难控制(Thrun&Schwartz,1993;Hasselt,2010),并在非常大的动作空间中变得更加明显(Zahavy等人,2018)。虽然一些技术,如双Q学习(van Hasselt et al., 2016)和经验回放(Lin, 1992),可能会缓解这个问题,但我们在实践中发现DQN非常不稳定,并且经常在斗地主中发散。然而,蒙特卡洛估计不易受到偏差的影响,因为它直接逼近真实值,而无需引导(Sutton&Barto,2018)。
其次,斗地柱是一项视野长、奖励稀少的任务,即智能体需要在没有反馈的情况下经历一长串状态,并且唯一一次产生非零奖励是在游戏结束时。这可能会减慢 Q 学习的收敛速度,因为估计当前状态下的 Q 值需要等到下一个状态的值接近其真实值(Szepesv ́ ari, 2009;Beleznay等人,1999)。与 DQN 不同,蒙特卡洛估计的收敛性不受集长的影响,因为它直接逼近真实目标值。
第三,由于动作空间大且多变,在豆地竹中高效实现DQN不方便。具体来说,DQN 在每个更新步骤中的最大操作将导致高计算成本,因为它需要在非常昂贵的深度 Q 网络上迭代所有合法行动。此外,不同状态的合法动作不同,这使得进行批量学习变得不方便。因此,我们发现 DQN 在挂钟时间方面太慢了。虽然蒙特卡洛方法可能存在高方差(Sutton&Barto,2018),这意味着它可能需要更多的样本才能收敛,但它可以很容易地并行化,每秒生成数千个样本,以缓解高方差问题并加速训练。我们发现,DMC 的高方差被它提供的可扩展性大大抵消了,并且 DMC 在挂钟时间方面非常有效。
4 DouZero系统
在本节中,我们首先通过描述状态/动作表示和神经架构来介绍 DouZero 系统,然后详细说明我们如何将 DMC 与多个进程并行化以稳定和加速训练。
4.1 卡片表示和神经架构
我们用一个热 4 × 15 矩阵对每个卡片组合进行编码(图 2)。由于花色在斗地柱中无关紧要,因此我们使用每一行来表示特定等级或小丑的牌数。图 3 显示了 Q 网络的架构。对于状态,我们提取了几个牌矩阵来表示手牌、其他玩家的手牌和最近的移动,以及一些 one-hot 向量来表示其他玩家的牌数和到目前为止玩的炸弹数量。同样,我们使用一个卡片矩阵来编码动作。对于神经架构,LSTM 用于对历史移动进行编码,输出与其他状态/动作特征连接。最后,我们使用隐藏大小为 512 的六层 MLP 来生成 Q 值。我们在附录 C.1 中提供了更多详细信息。
4.2 并行参与者
我们将 Landlord 表示为 L,将 Landlord 之前移动的玩家表示为 U,将 Landlord 之后移动的玩家表示为 D。我们将 DMC 与多个参与者进程和一个学习器进程并行化,分别总结在算法 1 和算法 2 中。学习者为这三个位置维护三个全局 Q 网络,并使用 MSE 损失更新网络,以根据参与者进程提供的数据近似目标值。每个参与者维护三个本地 Q 网络,这些网络定期与全球网络同步。Actor 将重复从游戏引擎中采样轨迹,并计算每个状态-动作对的累积奖励。学习者和参与者的交流是通过三个共享缓冲区实现的。每个缓冲区被划分为多个条目,其中每个条目由多个数据实例组成。
5 实验
这些实验旨在回答以下研究问题。RQ1:DouZero与现有的DouDizhu程序相比如何,例如基于规则的策略、监督学习、基于RL的方法和基于MCTS的解决方案(第5.2节)?RQ2:如果我们考虑竞价阶段(第5.3节),DouZero的表现如何?RQ3:DouZero(第5.4节)的训练效率如何?RQ4:DouZero与bootstrapping和actor critic方法(第5.5节)相比如何?RQ5:DouZero所学的纸牌玩法是否与人类知识相符(第5.6节)?RQ6:与现有程序相比,DouZero在推理方面的计算效率是否高(第5.7节)?RQ7: DouZero的两位农民能学会相互合作吗(第5.8节)?
5.1 实验装置
扑克游戏中常用的策略强度衡量标准是可利用性(Johanson et al., 2011)。然而,在斗地主中,计算可利用性本身是棘手的,因为斗地主有巨大的状态/动作空间,并且有三个玩家。为了评估表现,继(Jiang et al., 2019)之后,我们推出了包括地主和农民两个对立面的锦标赛。我们通过玩每副牌两次来减少方差。具体来说,对于两个相互竞争的算法 A 和 B,它们将首先分别作为给定套牌的地主和农民位置。然后他们换边,即 A 占据农民位置,B 占据地主位置,再次玩同一副牌。为了模拟真实环境,在第 5.3 节中,我们进一步训练了一个具有监督学习的竞价网络,代理将在每场比赛中根据手牌的优势对地主进行竞价(更多细节见附录 C.2)。我们考虑以下竞争算法。
- DeltaDou:一个强大的人工智能程序,它使用贝叶斯方法来推断隐藏的信息并使用 MCTS 搜索移动(Jiang 等人,2019 年)。我们使用作者提供的代码和预训练模型。该模型经过两个月的训练,并被证明具有与顶级人类玩家相当的性能。
- CQN:组合 Q-Learning(You 等人,2019 年)是一个基于卡片分解和深度 Q 学习的程序。我们使用作者提供的开源代码和预训练模型3。
- SL:监督学习基线。我们在 DouDizhu 游戏移动应用程序中从联赛最高水平的球员那里内部收集了 226、230 场人类专家比赛。然后,我们使用与DouZero相同的状态表示和神经架构,用从这些数据生成的49、990、075个样本来训练受监督的智能体。有关详细信息,请参阅附录 C.2。
- 基于规则的程序:我们收集了一些基于启发式的开源程序,包括 RHCP4、一个名为 RHCP-v25 的改进版本,以及 RLCard 包 6 中的规则模型(Zha et al., 2019a)。此外,我们还考虑了一个随机程序,该程序可以统一对合法动作进行采样。
指标。借鉴(Jiang 等人,2019 年),给定算法 A 和对手 B,我们使用两个指标来比较 A 和 B 的性能:
- WP(胜率):A 赢得的游戏数除以游戏总数。
- ADP(平均得分差):A 和 B 之间每场比赛的平均得分差。基点为 1。每枚炸弹都会使分数翻倍。
表 1.通过玩 10,000 个随机抽样的套牌来对抗现有的 DouZero 程序。如果 WP 大于 0.5 或 ADP 大于 0,则算法 A 优于 B(以粗体突出显示)。这些算法根据它们击败的其他算法的数量进行排名。每个职位的完整结果在附录D.1中提供。
在实践中,我们发现这两个指标鼓励了不同风格的策略。例如,如果使用 ADP 作为奖励,智能体往往对玩炸弹非常谨慎,因为玩炸弹是有风险的,可能会导致更大的 ADP 损失。相比之下,以 WP 为客观,智能体倾向于积极地玩炸弹,即使它会输,因为炸弹不会影响 WP。我们观察到,在 ADP 方面,使用 ADP 训练的智能体的表现略好于使用 WP 训练的智能体,反之亦然。在下文中,我们分别以 ADP 和 WP 为目标训练和报告两个 DouZero 智能体的结果7。附录D.2提供了关于这两项目标的更多讨论。
7 对于 WP,我们根据代理是赢还是输游戏,为最终时间步长提供 +1 或 -1 的奖励。对于ADP,我们直接使用ADP作为奖励。DeltaDou 和 CQN 分别以 ADP 和 WP 为目标进行训练。
我们首先通过让每对算法玩 10,000 副牌来启动预赛。然后,我们通过玩 100,000 副牌来计算前 3 种算法的 Elo 评分分数,以便进行更可靠的比较,即 DouZero、DeltaDou 和 SL。如果算法在这副牌上玩的两场比赛中达到更高的 WP 或 ADP,则该算法将赢得一副牌。我们用不同的随机抽样套牌重复这个过程五次,并报告Elo分数的平均值和标准差。在竞标阶段的评估中,每副牌在不同位置的 DouZero、DeltaDou 和 SL 的不同扰动下播放六次。我们用 100,000 副牌报告结果。
图4.左图:通过玩 100,000 个随机抽样的套牌来获得 DouZero、DeltaDou 和 SL 的 Elo 评分分数。我们报告了 5 个不同随机种子的平均值和标准差。右图:Elo在斗地柱比赛的在线平台Botzone上的评分。截至 2020 年 10 月 30 日,DouZero 在 344 个机器人中排名第一,Elo 评分为 1625.11。
实施细节。我们在一台服务器上运行所有实验,该服务器具有 48 个英特尔(R) 至强(R) Silver 4214R CPU @ 2.40GHz 处理器和四个 1080 Ti GPU。我们使用 45 个 actor,它们分布在三个 GPU 上。我们在剩余的 GPU 中运行一个学习器来训练 Q 网络。我们的实现基于 TorchBeast 框架(K ̈ uttler et al., 2019)。详细的训练曲线在附录 D.5 中提供。每个共享缓冲区有 B = 50 个条目,大小为 S = 100,批处理大小为 M = 32,并且 = 0.01。我们将折扣系数设置为 γ = 1,因为斗地主在最后一个时间步只有非零奖励,并且早期移动非常重要。我们使用 ReLU 作为 MLP 每一层的激活函数。我们采用学习率为 ψ = 0.0001、平滑常数为 0.99 和 $\epsilon=10−5 $的 RMSprop 优化器。我们对DouZero进行了为期30天的培训。
5.2 针对现有程序的性能
为了回答RQ1,我们将DouZero与离线基线进行比较,并在DouDizhu竞赛的在线平台Botzone(Zhou et al., 2018)上报告其结果(更多详细信息在附录E中提供)。
表 1 总结了 DouZero 和所有基线的头对头比赛的 WP 和 ADP。我们提出三点观察。首先,DouZero主导了所有基于规则的策略和监督学习,这证明了在DouDizhu中采用强化学习的有效性。其次,DouZero的性能明显优于CQN。回想一下,CQN 同样使用动作分解和 DQN 训练 Q 网络。DouZero的优越性表明,DMC确实是在斗地主中训练Q网络的有效方法。第三,DouZero的表现优于文献中最强的DouDizhu AI的DeltaDou。我们注意到,斗地主的方差非常大,即赢得一局取决于初始手牌的强度,而初始手牌的强度高度依赖于运气。因此,WP 为 0.586,ADP 为 0.258,表明比 DeltaDou 有显着改进。此外,DeltaDou 需要在训练和测试时进行搜索。然而,DouZero不进行搜索,这验证了DouZero学习的Q网络非常强大。
图5.DouZero 的 WP 和 ADP 与 SL 和 DeltaDou 的训练天数。DouZero 在 2 天的训练中优于 SL,即整体 WP 大于 0.5 的阈值,整体 ADP 大于 0 的阈值,并在 10 天内超过 DeltaDou,使用具有 4 个 1080 Ti GPU 和 48 个处理器的单台服务器。我们在附录 D.3 中提供了每个位置的完整曲线和曲线与时间步长的关系。
表 2.通过玩 100,000 个随机抽样的套牌,将 DouZero、DeltaDou 和 SL 与竞价阶段进行比较。
图 4 的左侧显示了 DouZero、DeltaDou 和 SL 通过玩 100, 000 副牌获得的 Elo 评级分数。我们观察到,DouZero 在 WP 和 ADP 方面的表现明显优于 DeltaDou 和 SL。这再次证明了DouZero的强劲表现。
图 4 的右侧说明了 DouZero 在 Botzone 排行榜上的表现。我们注意到 Botzone 采用了不同的评分机制。除了WP之外,它还为一些特定的卡牌类别提供了额外的奖励,例如Chain of Pair和Rocket(详见附录E)。虽然如果以Botzone的评分机制为目标,DouZero很有可能获得更好的性能,但我们直接上传了以WP为目标训练的DouZero预训练模型。我们观察到,这个模型足够强大,可以击败其他机器人。
5.3 与投标阶段的比较
为了研究 RQ2,我们使用人类专家数据训练了一个具有监督学习的竞价网络。我们将排名前 3 的算法,即 DouZero、DeltaDou 和 SL,放入斗地柱游戏的三个席位中。在每场比赛中,我们随机选择第一个竞标者,并使用预先训练的竞价网络模拟竞价阶段。所有三种算法都使用相同的竞价网络,以便进行公平比较。结果总结在表2中。尽管 DouZero 是在没有竞价网络的情况下在随机生成的套牌上训练的,但我们观察到 DouZero 在 WP 和 ADP 中都主导了其他两种算法。这证明了DouZero在需要考虑竞标阶段的实际比赛中的适用性。
图6.左图:使用不同数量的 actor 的 SL w.r.t. 训练时间的 WP 右图:使用不同数量的 actor 的 SL w.r.t. 时间步长的 WP。
5.4 学习进度分析
为了研究RQ3,我们在图5中可视化了DouZero的学习进度。我们使用 SL 和 DeltaDou 作为对手来绘制 WP 和 ADP 的曲线,即训练天数。我们提出以下两点意见。首先,DouZero在一天和两天的训练中分别在WP和ADP方面优于SL。我们注意到,DouZero 和 SL 使用完全相同的神经架构进行训练。因此,我们将DouZero的优越性归因于自我玩法强化学习。虽然SL的性能也很好,但它依赖于大量的数据,这并不灵活,可能会限制其性能。其次,DouZero 在 WP 和 ADP 方面分别在三天和十天的训练中优于 DeltaDou。我们注意到 DeltaDou 是用启发式的监督学习初始化的,并且训练了两个多月。然而,DouZero 从头开始,只需要几天的训练就可以击败 DeltaDou。这表明,没有搜索的无模型强化学习在斗地主中确实是有效的。
图7.左图:WP 反对 SL w.r.t. SARSA 和演员-评论家的训练时间 右:WP 反对 SL w.r.t. SARSA 和演员-评论家的时间表。
图8.人类数据上三个位置的平均准确率,以及 DouZero 的训练天数。我们用一个包含四个项的多项式来拟合数据点,以便更好地可视化趋势。SL的准确率为84.2%。DouZero在训练的前五天与人类的专业知识保持一致,但在后期的训练阶段发现了超出人类知识的新策略。附录 D.4 中提供了所有三个位置的曲线。
我们进一步分析了使用不同数量参与者时的学习速度。图 6 报告了使用 15、30 和 45 个 actor 时对 SL 的性能。我们观察到,使用更多的参与者可以加快挂钟时间的训练。我们还发现,所有三种设置都显示出相似的样本效率。未来,我们将探索在多个服务器上使用更多参与者的可能性,以进一步提高训练效率。
5.5 与SARSA和演员评论家的比较
为了回答RQ4,我们实现了两个基于DouZero的变体。首先,我们将DMC目标替换为时间差(TD)目标。这导致了SARSA的深层版本。其次,我们实现了一个具有动作特征的 Actor-Critic 变体。具体来说,我们使用 Q-network 作为具有动作特征的批评者,并使用动作面具将策略训练为参与者来删除非法行为。
图 9.推理时间比较。
图 7 显示了单次运行时 SARSA 和 Actor-Critic 的结果。首先,我们没有观察到使用TD学习的明显好处。我们观察到,DMC 在时钟时间和样本效率方面的学习速度略快于 SARSA。可能的原因是TD学习在稀疏奖励设置中没有多大帮助。我们认为需要更多的研究来了解TD学习何时会有所帮助。其次,我们观察到演员-评论家失败了。这表明,简单地向批评者添加动作特征可能不足以解决复杂的动作空间问题。未来,我们将研究是否可以有效地将动作特征纳入演员-评论家框架。
5.6 DouZero对专家数据的分析
对于 RQ5,我们在整个训练过程中计算 DouZero 对人类数据的准确性。我们将使用 ADP 训练的模型报告为目标,因为从中收集人类数据的游戏应用程序也采用了 ADP。图 8 显示了结果。我们提出以下两个有趣的观察结果。首先,在早期阶段,即训练的前五天,准确性不断提高。这表明智能体可能已经学会了一些与人类专业知识相一致的策略,纯粹是自我游戏。其次,经过五天的训练,准确性急剧下降。我们注意到,针对SL的ADP在五天后仍在改善。这表明智能体可能已经发现了一些人类不容易发现的新颖、更强大的策略,这再次验证了自我游戏强化学习的有效性。
5.7 推理时间比较
为了回答 RQ6,我们在图 9 中报告了每步的平均推理时间。为了公平比较,我们评估了 CPU 上的所有算法。我们观察到 DouZero 比 DeltaDou、CQN、RHCP 和 RHCP-v2 快几个数量级。这是意料之中的,因为 DeltaDou 需要执行大量的蒙特卡罗模拟,而 CQN、RHCP 和 RHCP-v2 需要昂贵的卡片分解。然而,DouZero 在每个步骤中只执行神经网络的一次前向传递。DouZero的高效推理使我们能够每秒生成大量样本用于强化学习。它还使得在实际应用中部署模型变得经济实惠。
5.8 个案研究
为了研究RQ7,我们进行了案例研究,以了解DouZero做出的决策。我们从 Botzone 转储比赛日志,并用预测的 Q 值可视化排名靠前的动作。我们在附录F中提供了大部分的案例研究,包括好的和坏的案例,图10显示了两个农民可以合作击败地主的典型案例。右手边的农民只剩下一张牌了。在这里,底部的农民可以演奏一个小的独奏来帮助另一个农民获胜。在研究DouZero预测的前三个行动时,我们有两个有趣的观察结果。首先,我们发现 DouZero 输出的所有顶级动作都是小 Solos,获胜的信心很高,这表明 DouZero 的两个农民可能已经学会了合作。其次,行动 4 的预测 Q 值 (0.808) 远低于行动 3 的预测 Q 值 (0.971)。一个可能的解释是,那里仍然有一个 4,所以玩 4 不一定能帮助农民获胜。在实践中,在这种特殊情况下,另一张农民的唯一牌的等级不高于 4。总的来说,在这种情况下,行动 3 确实是最好的一步
图 10.一个从Botzone转储的案例研究,其中三个玩家按逆时针顺序打牌。农民特工学会玩小单人游戏,与其他农民合作赢得比赛。请注意,其他玩家的手面朝上显示只是为了更好的可视化,但在真实游戏中是隐藏的。附录F中提供了更多案例研究。
6 相关工作
搜索不完美信息游戏。反事实后悔最小化 (CFR) (Zinkevich et al., 2008) 是一种领先的扑克游戏迭代算法,具有许多变体(Lanctot et al., 2009;Gibson 等人,2012 年;Bowling 等人,2015 年;Moravˇ c ́ık 等人,2017 年;Brown & Sandholm,2018 年;2019年a;Brown 等人,2019 年;Lanctot 等人,2019 年;Li 等人,2020b)。然而,遍历 DouDizhu 的游戏树是计算密集型的,因为它有一棵具有大分支因子的巨大树。此外,以前的大多数研究都集中在零和设置上。虽然已经做出了一些努力来解决合作环境问题,例如,通过蓝图政策(Lerer et al., 2020),但对竞争和合作进行推理仍然具有挑战性。因此,斗地主还没有看到一个有效的类似CFR的解决方案。
RL 表示不完美信息游戏。最近的研究表明,强化学习(RL)可以在扑克游戏中实现竞争表现(Heinrich et al., 2015;Heinrich & Silver,2016 年;Lanctot等人,2017)。与 CFR 不同,RL 基于采样,因此可以很容易地泛化到大型游戏。RL已成功应用于一些复杂的不完美信息游戏,如星际争霸(Vinyals et al., 2019)、DOTA (Berner et al., 2019)和麻将(Li et al., 2020a)。最近,RL+搜索被探索并证明在扑克游戏中是有效的(Brown et al., 2020)。DeltaDou 采用了类似的想法,它首先推断隐藏的信息,然后使用 MCTS 将 RL 与 DouDizhu 中的搜索相结合(Jiang et al., 2019)。然而,DeltaDou 的计算成本很高,并且严重依赖人类的专业知识。在实践中,即使没有搜索,我们的 DouZero 在训练天数内的表现也优于 DeltaDou。
7 结论和未来工作
这项工作为斗地柱提供了一个强大的人工智能系统。一些独特的属性使得斗地柱特别难以解决,例如,巨大的状态/动作空间以及关于竞争和合作的推理。为了应对这些挑战,我们通过深度神经网络、动作编码和并行参与者来增强经典的蒙特卡洛方法。这导致了一个纯粹的RL解决方案,即DouZero,它在概念上简单但有效和高效。广泛的评估表明,DouZero是迄今为止DouDizhu最强大的AI程序。我们希望,简单的蒙特卡洛方法可以在这样一个困难的领域中产生强有力的政策,这将激励未来的研究。
对于未来的工作,我们将探索以下几个方向。首先,我们计划尝试其他神经架构,例如卷积神经网络和ResNet(He et al., 2016)。其次,我们将在强化学习的循环中参与竞价。第三,我们将把DouZero与训练和/或测试时的搜索结合起来(Brown et al., 2020),并研究如何平衡RL和搜索。四是探索脱策学习,提高培训效率。具体来说,我们将研究是否以及如何通过经验回放来改善挂钟时间和样本效率(Lin,1992;Zhang&Sutton,2017年;Zha 等人,2019b;Fedus 等人,2020 年)。第五,我们将尝试明确地模拟农民的合作(Panait & Luke,2005;Foerster 等人,2016 年;Raileanu 等人,2018 年;Lai 等人,2020 年)。第六,我们计划尝试可扩展的框架,例如 SEED RL(Espeholt 等人,2019 年)。最后但并非最不重要的一点是,我们将测试蒙特卡洛方法在其他任务上的适用性。