【AAAI2020】强化学习玩王者荣耀

  • 论文题目: Mastering Complex Controlin MOBA Games with DeepReinforcement Learning

主要贡献

提出了一个深度强化学习框架,从系统和算法的角度来解决这个问题。提出的算法包括几种新颖的策略,包括control dependency decoupling,action mask,target action和dual-clip PPO,借助这些策略,可以在系统中有效地训练提出的actor-critic网络。经过MOBA游戏《王者荣耀》的测试,训练有素的AI agent可以在完整的1v1游戏中击败顶尖的职业人类玩家。

系统架构

考虑到复杂的Agent控制问题可能会引入随机梯度的高方差问题,在王者荣耀1V1中,大的batch size可以加速训练,所以文章所采用的强化学习架构由四部分构成:

  • RL Learner:是一个分布式训练环境,并行从pool采样得到梯度,同步全部梯度取均值,更新策略后将策略传给AI Server。

  • AI Server:涵盖了游戏环境和AI之间的交互逻辑,用来产生数据。即从游戏中收集state,预测英雄行为。在使用中,一台AI服务器绑定一个cpu内核。我们构建了快速推断库FeatherCNN,以来更有效的生成推断模型。开源地址:https://github.com/Tencent/FeatherCNN

  • Dispatch Module:从多个AI server搜集数据并压缩、打包奥、传送到Memory

  • Memory Pool:也是服务器。它的内部实现为内存高效的循环队列,用于数据存储。它支持各种长度的样本以及基于生成时间的数据样本

算法设计

Reinforcement Learning用的还是熟悉的actor-critic网络,具体如下图所示:

  • 状态设计:如上图;将图像特征fi,向量特征fu和游戏状态信息fg(可观察到的游戏状态)分别通过卷积层、最大池化层和全连接层编码。LSTM输出动作按钮和移动方向。
  • 动作解耦:认为动作之间独立,目标为最终几个策略累积奖励之和;
  • 初始随机动作产生数据;
  • action mask:根据专家经验去掉明显不合理、受限制的动作;
  • dual-PPO:原始PPO在Advantage小于0的时候也容易产生大的策略梯度,作者改进了PPO,使其支持大范围的数据训练。

dual-PPO公式:

实验部分

实验运用了大量的CPU和GPU资源。框架运行在封装在Dockers和1,064个Nvidia GPU(Tesla P40和V100的混合物)中的总共600,000个CPU内核上。我们框架的数量允许并行实验。数据用float16存储,训练时转成float32。minibatch为4096。每个epoisode从游戏开始到结束。每天的数据量相当于人类玩500年的数据。PPO的eps=0.2,c=3,折扣因子是0.997,half-life大概46秒。GAE的lambda=0.97。游戏时按顶级玩家的133ms反应时间进行预测。训练时间跟Elo的曲线如下:

由上图可知训练6小时打败内置行为树,30小时达到top 1%人类水平,70小时达到专业水平。

我们训练的AI强化学习跟人类顶级玩家进行1v1的竞赛



Reward设计

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一。它主要用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。强化学习的特点在于没有监督数据,只有奖励信号。 强化学习的常见模型是标准的马尔可夫决策过程(Markov Decision Process, MDP)。按给定条件,强化学习可分为基于模式的强化学习(model-based RL)和无模式强化学习(model-free RL),以及主动强化学习(active RL)和被动强化学习(passive RL)。强化学习的变体包括逆向强化学习、阶层强化学习和部分可观测系统的强化学习。求解强化学习问题所使用的算法可分为策略搜索算法和值函数(value function)算法两类。 强化学习理论受到行为主义心理学启发,侧重在线学习并试图在探索-利用(exploration-exploitation)间保持平衡。不同于监督学习和非监督学习,强化学习不要求预先给定任何数据,而是通过接收环境对动作的奖励(反馈)获得学习信息并更新模型参数。强化学习问题在信息论、博弈论、自动控制等领域有得到讨论,被用于解释有限理性条件下的平衡态、设计推荐系统和机器人交互系统。一些复杂的强化学习算法在一定程度上具备解决复杂问题的通用智能,可以在围棋和电子游戏中达到人类水平。 强化学习在工程领域的应用也相当广泛。例如,Facebook提出了开源强化学习平台Horizon,该平台利用强化学习来优化大规模生产系统。在医疗保健领域,RL系统能够为患者提供治疗策略,该系统能够利用以往的经验找到最优的策略,而无需生物系统的数学模型等先验信息,这使得基于RL的系统具有更广泛的适用性。 总的来说,强化学习是一种通过智能体与环境交互,以最大化累积奖励为目标的学习过程。它在许多领域都展现出了强大的应用潜力。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小谢先生

支持知识付费

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值