1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > AAAI 使用深度强化学习的MOBA游戏《Towards Playing Full MOBA Games with

AAAI 使用深度强化学习的MOBA游戏《Towards Playing Full MOBA Games with

时间:2024-01-20 08:42:17

相关推荐

AAAI 使用深度强化学习的MOBA游戏《Towards Playing Full MOBA Games with

不知道你是否玩过王者荣耀,不知道你是不是经历过被人机疯狂怼在塔下强杀然后嘲讽你的经历?就,真说多了就是泪。

最近,NeurlPS会议收录了来自腾讯AI Lab的一篇强化学习的论文《Towards Playing Full MOBA Games with Deep Reinforcement Learning》本文将介绍一下这篇论所讲的内容。

摘要

多人在线竞技类游戏 MOBA 长久以来一直吸引着众多玩家,其中的王者荣耀、英雄联盟、Dota 2 等最近也常被 AI 研究者当做人工智能的实验场,其中的多智能体、巨大的状态动作空间、复杂的环境等元素向 AI 系统提出了极大的挑战。开发用于 MOBA 游戏的 AI 引起了广泛的关注。

然而,当 OpenAI 的 Dota AI 将游戏限制在只能选择 17 名英雄的情况下,若想扩展英雄库,现有的工作在处理由智能体组合(即阵容)爆炸性增长所导致的游戏复杂性方面的问题存在难度。因此,现有的 AI 系统并不能掌握完全没有限制的 MOBA 游戏。

本文,将新的和已有的学习技术结合起来,对系统设计和算法都做了大量的优化,包括课程自我博弈学习、策略蒸馏(policy distillation), 离策略自适应(off-policy adaption)、多头值估计(multi-head value estimation)、蒙特卡洛树搜索等,在训练和用大量英雄玩游戏,同时巧妙地解决了可扩展性的问题。

在王者荣耀上进行测试,展示了人类可以打造出能够击败顶级电子竞技玩家的超级 AI 智能体。通过文献中首次对 MOBA AI 智能体进行大规模性能测试,证明了该 AI 的优越性。

学习系统

为了解决 MOBA 游戏的复杂性,该研究结合了新的和现有的学习技术,用于神经网络架构、分布式系统、强化学习、多智能体训练、课程学习和蒙特卡罗树搜索。尽管该研究使用王者荣耀进行研究,但这些技术同样适用于其他 MOBA 游戏,因为 MOBA 游戏的游戏机制是类似的。

网络结构设计主要包括如下几个方面:

多模态特征输入(生命值、金币、等级等)

使用 LSTM 来处理部分可观测的问题

使用注意力机制进行目标选择

为了提高训练的效率,动作掩码(action mask)就被引用进了策略的输出层。它是建立在人类玩家丰富先验知识的基础之上,加入了动作之间的相关性,这样就可以减少强化学习中的探索过程。

分层动作设计、动作离散化设计

AI分层次的预测动作

策略更新

研究人员使用了双边截断的PPO方法:

介绍这个改进算法之间首先要简单介绍一些原始的PPO算法的思想:PPO算法是一种基于Policy Gradient的强化学习算法,根据OpenAI[2]的解释,之前的Policy Gradient算法对步长非常敏感,策略更新过程中如果步长过小,那么策略 更新的速度会非常缓慢。反之,如果策略更新步长过大,那么策略更新波动会非常剧烈,很难收敛。

因此,PPO就应运而生了,它采用新策略与老策略之间的比值来限制策略的更新幅度,这样策略的更新对步长就不再那么敏感。简而言之,PPO在原来Policy Gradient加入了一个关键的部分,策略比值

c大于1表示下界,

表示最初的截断

值函数更新

模型使用了游戏状态的完整信息,包括隐藏的观测信息作为值函数的输入来降低值估计的方差。值得注意的是,这种方式仅在训练阶段使用,因为测试时只需要策略网络。为了更准确地估计值函数,研究人员引入了multi-head value(MHV)方法。由图1可知,reward被分成了5大类。损失函数定义如下:

其中Rk t和V kt分别为第k个头的奖励折现和价值估计。

然后,总价值估计是头值估计的加权和。

多智能体训练

大型英雄池会导致大量的阵容。当使用自我博弈强化学习时,10 个智能体玩一个 MOBA 游戏面临着运动目标不稳定的问题。此外,不同的 self-play 游戏阵容各不相同,这使得策略学习更加困难。在训练中出现紊乱的智能体组合导致性能下降。这需要一个范式来指导 MOBA 中的智能体学习。

阶段 1,从简单的任务开始,训练固定的阵容。

阶段 2,专注于如何继承固定阵容的 self-plays 游戏所掌握的知识。

采用了multi-teacher政策蒸馏,使用第一阶段的模型作为老师Π,然后合并为单一学生模型Π,loss函数定义如下:

阶段 3,通过从第 2 阶段中提取的模型进行模型初始化,从英雄池中随机挑选阵容进行持续训练。

学习征召模式

扩大英雄池所带来的一个新问题是 BAN 选机制(Ban Pick)。在 MOBA 比赛开始之前,两支队伍经过挑选英雄的过程,这将直接影响未来的策略和匹配结果。给定一个庞大的英雄池,例如 40 个英雄(超过 10的11次方组合),一个完整的树搜索方法,如 OpenAI Five[2]中使用的 Minimax 算法,在计算上是困难的。

为了解决这个问题,研究者利用蒙特卡洛树搜索(MCTS)和神经网络开发了一种 BAN 选智能体。MCTS 会估算每次选择的长期价值,价值最大的英雄将被选中。该研究使用的特定 MCTS 版本是应用于树(UCT)的上置信界。在征召模式 Ban 选的过程中迭代地构建一棵搜索树,其中每个节点代表一个状态(两个团队都已经选择了英雄),每条边代表一种动作(选择尚未选择的英雄),然后会产生下一个状态。

实验结果

腾讯 AI Lab 训练了一个英雄池大小为 40 的 AI 版本,覆盖了所有英雄角色,包括坦克、法师、辅助、刺客、射手和战士。英雄池的规模是 OpenAI 的 2.4 倍,英雄组合复杂度提升了 2.1×10^11 倍。在挑选英雄阶段,人类玩家可以从 40 个英雄中随机挑选。在对局中,研究人员没有对游戏规则进行任何限制,玩家可以任意购买物品或者使用自己喜欢的召唤师技能。

为了测试 AI 的真实水平,腾讯邀请了王者荣耀职业玩家来和 AI 进行对抗。从 年 2 月 13 日到 4 月 30 日,AI 每周都会和职业玩家进行多次对弈。职业玩家被鼓励使用他们擅长的英雄以及尝试不同的游戏策略。在最初的 10 周时间内,人机对决共进行了 42 场,AI 赢了 40 场(95.2% 的胜率,置信区间[0.838,0.994])。

年 5 月 1 日到 5 月 5 号,腾讯 AI Lab 将 AI 部署到王者荣耀正式服务器上和玩家公开对抗,对参与玩家设置了段位门槛。为了鼓励玩家参与,玩家如果击败了 AI 就能够拿到一枚荣誉徽章。最终,绝悟 AI 与顶尖玩家对抗了 642,047 局,AI 赢得了其中的 627,280 局(胜率 97.7,置信区间[0.9766, 0.9774])。对比其它的公开游戏 AI 测试:AphaStar 和 OpenAI 各打了 90 和 7,257 场,而且对参与者没有游戏水平的要求。

在图 3 中,研究者说明了 CSPL 的整个训练过程和基线方法。表 1 对比了两种方法的具体训练时间。

为了进一步分析该方法中的组件,研究者进行了几项内部控制变量实验,结果如图 4 所示。

结论

在本文中,提出了一种用于使用深度强化学习来玩完整的MOBA游戏的MOBA AI学习范式。我们开发了一种结合了新颖和现有的学习技术,包括非策略适应、多头值估计、课程自玩学习、多教师策略提取、蒙特卡罗树搜索等,以解决由于训练和玩大英雄池而出现的问题。在目前最流行的MOBA游戏《王者荣耀》的测试中,我们的AI能够打败顶尖的人类玩家并具有统计学意义。据我们所知,这是第一个基于强化学习的MOBA AI程序,它可以玩40个英雄或者更多。此外,在我们的大规模、严格、反复的性能测试中,还没有针对复杂策略视频游戏的人工智能程序。在未来,我们将继续致力于完全英雄池的支持,并研究更有效的训练方法,以进一步缩短MOBA AI的学习过程。为了促进游戏智能的研究,我们也会为人工智能社区开发moba游戏的子任务。

或许如果你没玩过王者荣耀,你可以看看他的游戏界面

AAAI 使用深度强化学习的MOBA游戏《Towards Playing Full MOBA Games with Deep Reinforcement Learning》打败王者荣耀顶尖选手

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