1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【论文阅读】DouZero+: Improving DouDizhu AI by Opponent Modeling and Coach-guided Learning

【论文阅读】DouZero+: Improving DouDizhu AI by Opponent Modeling and Coach-guided Learning

时间:2023-04-29 14:47:53

相关推荐

【论文阅读】DouZero+: Improving DouDizhu AI by Opponent Modeling and Coach-guided Learning

【论文阅读】DouZero+: Improving DouDizhu AI by Opponent Modeling and Coach-guided Learning

1 本文解决了什么问题?

本文的研究对象仍是属于非完全信息博弈的斗地主游戏,作者对先前的 SoTA 算法 DouZero 进行改进,主要解决两个方面的问题以及提出对应的创新点:

对手建模,对对手手牌的情况进行估计,确定对手手牌的近似概率分布。背后直觉是人类玩家会尝试预测对手卡牌来帮助他们自己做策略。由于斗地主的复杂性,在做决策时,很多行动可能是合适的。在这种情况下,分析对手的手牌将是非常重要的,因为掌握了这个信息,可以帮助智能体选择最佳的动作。教练指导,构建一个新型的教练网络来选择是否进行对局,使模型可以从更有价值的数据中进行学习,而避免浪费时间。背后直觉是斗地主的结果很大程度上依赖于自身的手牌,如果一个玩家在一开始就获得了很强大的手牌,只要他在游戏中不犯错就很难输掉对局,因此智能体很难从这种对局中学到知识。

2 本文提出的方法是什么?

2.1 对手建模

作者在斗地主游戏中采用对手建模,即使用深度神经网络对玩家的手牌进行预测。作者将对手建模的神经网络称为“预测模型”,进行决策的网络称为“决策模型”。根据 DouZero 对三个玩家训练三个模型,作者也对三个玩家训练三个对手模型。这种预测模型可以视为一个多头分类器,输出为下一个玩家的手牌的概率分布,如有多少张 3,有多少张 4。由于斗地主的环境比较容易实现,作者使用下一个玩家的真实手牌作为标签并用来训练预测模型。

此外,以牌 3 为例,玩家可以根据自己所拥有的 3 的数量,以及多少张 3 被打出来计算下一个玩家最多拥有手牌 3 的数量。作者将这种信息称为“legal label”,使用这些信息帮助预测模型过滤掉错误的结果。

预测模型的体系结构也类似于 DouZero,它有一层 LSTM 来编码历史移动和五个共享的MLP层。最后一层作为一个多头分类器,每个头对应一个完全连接的层,并输出一种卡片的预测。该模型采用交叉熵损失函数进行训练。

在决策模型中,除了在状态信息中预测下一个玩家的手卡外,所使用的特征与 DouZero 相似。为了简单起见,作者只将预测结果和原始状态特征连接用于决策模型的状态输入。综上所述,结合了对手模式的框架如图所示。

2.2 教练指导学习

在斗地主 AI 智能体训练时,作者发现训练过程耗费了大量时间。为此,本文提出了一种帮助智能体更快地掌握技能的方法。在本文中,斗地主 AI 并没有抢地主过程,因为 DouZero 中的抢地主阶段是通过监督学习训练的。换句话说,三个玩家的初始手牌在游戏开始时是固定的。然而,作为一种脱落型游戏,玩家的目标是先清空所有的手牌,初始手牌的质量对游戏的结果有很大的影响

如果一个玩家在一开始就有了强有力的优势,只要他不犯严重的错误,他就能轻松获胜。这样,这些初始手牌对学习就没有什么价值了,它们很难帮助智能体学习新的知识。另一方面,如果一个玩家总是玩最初的手牌相对平衡的比赛,他可以更快更好地学习一些技能,因为如果他做出了任何不合适的决策,他会输掉并得到负奖励。

在 DouZero 的设置中,我们发现这三个玩家的初始纸牌是随机生成的,因此不少样本可能在强度上不匹配。然而,actors 仍然必须使用这些严重不平衡的初始纸牌来玩游戏,这也需要很多时间。如果本文只允许 actors 生成基于平衡的初始手牌的样本,智能体就可以更快地学习并形成能够处理这种情况的策略。

基于以上讨论,作者提出了一个教练网络来识别初始手牌在强度上是否平衡。它以三名玩家的初始手牌作为输入,输出地主在一场游戏中获胜的预测概率,称之为 P w i n P_{win} Pwin​。随后,作者可以设置一个阈值,用 β β β 表示,以过滤掉 P w i n P_{win} Pwin​ 太小或太大的游戏。在这种情况下,actors 不需要使用这些最初的手牌,因此会留出时间来进行更多有价值的比赛。

教练网络的输入是地主和农民初始手牌的向量,其维数分别为 20 和 17。对于教练网络的体系结构,它由一个嵌入层来处理输入向量和几层全连通层来提取表示并进行预测组成。由于本文的斗地主 AI 是以自博弈的方式进行训练的,因此教练网络也与决策模型同时进行训练。自博弈的结果可以作为训练模型的标签。考虑到人工智能系统从头开始学习,首先将阈值设置为 0,并在训练过程中不断增加。本文提出的教练网络只在游戏开始时选择合适的初始数据,而不对后续子过程产生影响。

3 本文有什么重要的实验结果

作者的实验设计:

两个相互竞争的算法 A 和 B,在给定初始手牌的的情况下,分别作为地主和农民进行对局;随后,在相同初始手牌下,双方交换角色,再对局一次。

为了展示该模型在训练过程中的表现,作者每 30 分钟执行一次 10,000 集的测试。由于本文是在 DouZero 的基础上进行改进的,因此作者重点与 DouZero 进行对比。本文选择的实验评价指标是 **胜率(WP)**和平均分数差异(ADP)。具体而言,胜率即获胜场数除以总场数,平均分数差异即算法 A 和算法 B 每场比赛得分的平均差,其中基础分数为1,每个炸弹将得分翻倍。

3.1 评估对手建模

为了研究这种想法是否有助于智能体更好地学习,作者首先做了一个预实验,将下一个玩家的手牌直接添加到状态特征中,其结果如图所示。

可以看出,将下一个玩家的手牌加入到状态特征中确实可以提高智能体的表现,尤其是对农民玩家来说。作者认为农民的明显进步是由于了解下一个玩家的手牌不仅可以帮助农民选择地主要不起的手牌,而且还可以帮助农民选择可以更好地配合队友的手牌。而对于地主来说,知道下一个玩家的手牌确实有助于做出决定,但如果手很弱,即使拥有这样的信息也没有很大的帮助。综上所述,本研究的预实验结果表明,引入下一个玩家的手牌的显式表示可以提高斗地柱人工智能的性能。

在验证了作者的想法的有效性后,作者同时训练了预测模型以及所讨论的决策模型,实验结果如下:

结果表明,在 DouZero 模型中引入对手模型主要提高了农民模型的性能,这与上述分析相符。虽然模型最初的表现比 DooZero 差,因为网络必须以更多的特征作为输入,并且有更多的神经元,这将减缓学习速度,但经过足够的训练后,它们设法掌握更多的知识,并取得了比 DouZero 更好的表现。

3.2 评估教练网络

作者在实验中,设置初始阈值 β \beta β 为 0.3。实验结果如图所示,经过显著的改进,证明了该方法的有效性。

可以看出,农民的进步也大于地主。考虑到农民在这个游戏中具有合作的优势,这种现象是可以接受的,因为他们可以在平衡游戏中学习更多的技巧。此外,这种教练指导的学习策略只是控制了游戏的初始状态,而结果显示了它可以带来显著的改善。这一事实表明,运气因素在这类不完全信息博弈中扮演着重要的角色。换句话说,本文的方法可以迁移到其他环境中,帮助游戏 AI 实现更好的性能。

此外,作者还展示了一些从 Botzone 平台上的游戏中预测教练网络的案例,如表所示:

3.3 二者结合评估

结合这两种方法的结果如图8所示。随着“教练网络”的改进比对手建模更明显,要直观地证明是否组合这两种技术带来了进一步的改进,作者还在图中添加了仅仅使用“教练网络”的结果。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。