来源:机器之心

本文约3900字,建议阅读8分钟

人工智能 2 级就来越塔来杀我,这游戏怎么玩?

还记得今年五一假期时,腾讯在王者荣耀游戏中上线的绝悟 AI 挑战吗?大多数玩家只能将将挑战前几个难度,AI 击败你之后还会在聊天里嘲讽。在 AlphaGo 的阴影笼罩围棋之后,人工智能也把触角延伸到了最流行的游戏中。

最近,腾讯 AI Lab 在王者荣耀中的研究也获得了学界的认可,研究人员提交的论文也被全球顶尖人工智能会议 NeurIPS 2020 收录

而在 11 月中旬,升级版的绝悟 AI 挑战也在王者荣耀中上线,20 个难度关卡的设置为玩家们留下了充足的挑战空间。在游戏中,人工智能由 5 个智能体互相协作,并不拥有全局视野,反应速度也被调整为和人类类似。在高级关卡中,AI 也会和你在开战前进行挑选英雄的 BP 博弈。

在 11 月 28-30 日限时开放的绝悟升级版最终挑战里,玩家和 AI 可以选择目前版本游戏里几乎所有的英雄,也接受 5 人组队挑战。看起来自我博弈的 AI 已经达到了无限接近成熟的水平。

根据已经进行的一些比赛来看,绝悟通过自我博弈学习,早已学会了蹲草丛这样的操作:

如果用公孙离这样能秀的英雄,1v3 也是不难的事:

在挑战开启以后,玩家们发现人机对战通常会变成这个样子:选英雄斗智斗勇,准备用上套路——一进游戏刚拉开架势,就被 AI 拿了一血。

据 AI Lab 的研究人员透露:"有些冷门英雄 AI 玩的非常强势,到时候可能会颠覆一部分大家对于游戏的认知。"

在腾讯 AI Lab 及腾讯天美工作室发表的论文《Towards Playing Full MOBA Games with Deep Reinforcement Learning》中,研究人员们提出了 MOBA AI 学习范式,支持使用深度强化学习来玩完整的 MOBA 游戏。

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

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

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

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

论文地址:https://arxiv.org/abs/2011.12692

学习系统

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

研究人员表示,这套强化学习系统运行在一个物理集群上。后续进行的控制变量、时间和性能比较实验都使用了相同的资源量进行训练:320 张 GPU 卡以及 35000 个 CPU 核。

模型架构

在模型架构中,绝悟使用了actor-critic结构。

策略更新

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

值函数更新

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

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

  • 多模态特征输入

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

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

  • 通过动作过滤提升训练效率

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

  • 所有智能体共享参数(one model for all)

  • 使用全局信息做 value 预估(仅用于 value network,不包括 policy network)

多智能体训练

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

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

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

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

学习征召模式

王者荣耀的 AI 不仅需要会操作英雄,还需要会选英雄,更加需要会玩套路,且限制玩家的套路。

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

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

研究人员使用了 3000 万样本 (自对弈产生) 训练胜率预测器,使用了 1 亿样本 (样本基于 MCTS 方法的挑选策略产生) 对值网络进行了训练。

绝悟和人类对决的 BP 测试。

除了常见的单轮 BP ,AI 教练还学会了王者荣耀 KPL 赛场上常见的多轮 BP 赛制,该模式下不能选重复英雄,对选人策略要求更高。团队因此引入多轮长周期判定机制,在 BO3/BO5 赛制中可以全局统筹、综合判断,做出最优 BP 选择。训练后的 BP 模型在对阵基于贪心策略的基准方法时,能达到近 70% 胜率,对阵按位置随机阵容的胜率更接近 90%。

AI 的水平大致在什么阶段

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

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

2020 年 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:训练过程:a)教师模型的训练,即 CSPL 的第一阶段。b)蒸馏(distillation)过程中的 Elo 变化,即 CSPL 的第二阶段,学生模型的收敛 Elo 略低于教师模型。c)和 d)分别针对 20 个英雄和 40 个英雄的情况,将 CSPL 的 Elo 变化与基线方法进行比较。注意基线方法中没有第一阶段和第二阶段。CSPL 在扩展英雄池时具有比基线方法更好的扩展性。

人们对于研究者们使用的 ELO 评分机制可能会留有印象:ELO 等级分在棋类游戏和 AI 研究领域经常被用做评价标准,在 AlphaGo 的论文中,ELO 也被用于评判 AI 的下棋水平。

具体来说,Top10% 水平的人类玩家 ELO 分数大约为 1050,Top 1% (王者荣耀中的王者段位)大约为 1500,Top 0.01% 大约为 1700,职业玩家的水平应该在 1730 以上。

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

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

关键部分的控制变量实验:a)用 Elo(带有 CSPL 和不带有 CSPL)比较训练方法;b)使用 Elo 比较值函数的不同组成;c)使用 Elo 比较策略更新方法;d)内置机器人、使用人类游戏数据进行有监督学习的智能体和最终的强化学习智能体的 Elo 分数;e)在使用不同的选择方法时,比较平均获胜概率(RD:随机选择英雄,HWR:挑选获胜概率最大的英雄,MCTS:使用中高段位中的征召模式选择英雄。)

AI 教你打游戏

你肯定会关心腾讯 AI Lab 在 NeurIPS 2020 论文研究里测试的 40 个英雄都包括哪些:

可见里面不仅有瑶、孙膑等操作相对简单的英雄,也有露娜、公孙离这种复杂的——腾讯选择的还都是人类玩家在对战时经常用的那些。不过提交给 NeurIPS 2020 的论文是在几个月前完成的,从目前游戏中开放的第二十关挑战来看,在人机对决中绝大多数的英雄(除了两三个新英雄)都可以选了。

腾讯 AI Lab 在王者荣耀上的研究可谓成果丰厚,除了这篇 NeurIPS 2020 论文之外,腾讯 AI Lab 还有一篇监督学习方面的研究被 IEEE 期刊 TNNLS 收录《Supervised Learning Achieves Human-Level Performance in MOBA Games: A Case Study of Honor of Kings》:https://arxiv.org/abs/2011.12582

在第二篇论文中,研究人员提出了一套适用于 MOBA 游戏的特征和标签。在此基础上,AI 建模任务被定义为一个层级的多分类问题,通过神经网络模型来解决。

可以看到,AI 在游戏中使用的是和人类玩家一样的视角。

在人类玩家打 MOBA 游戏时,通常会分为三路开局:战士走上路,射手辅助走下路,法师在中路。然而通过自我博弈训练出的绝悟几乎不采用这样的套路,这或许为人类玩家未来提高战术水平提供了新的思路。

在短短两年时间里,绝悟从业余玩家水平提升到了精通 100 个英雄,甚至还能教人类打王者,这样的速度可谓惊人。最新的版本因而得名“绝悟完全体”。

最后,如果有人对战 AI 有了很大的挫败感,实践证明人工智能打王者荣耀的能力还不是完美的。有玩家在对战时看到了 AI 的迷惑之语:

另外,基于强化学习的绝悟还需要耗费大量的服务器资源,所以人机对战的活动是限时的。希望在不久的将来,我们能在队友断线重连的时候有绝悟 AI 来接手,完成五杀。

编辑:于腾凯

校对:林亦霖

王者荣耀AI绝悟完全体对战开启:英雄随便选,论文已被NeurIPS收录相关推荐

  1. 本周AI热点回顾:王者荣耀AI绝悟完全体开启,英雄随便选;2张图片就能「算出」一段视频;Nature文章明年起可免费下载

    点击左上方蓝字关注我们 01 王者荣耀AI绝悟完全体对战开启:英雄随便选,论文已被NeurIPS收录 人工智能 2 级就来越塔来杀我,这游戏怎么玩? 还记得今年五一假期时,腾讯在王者荣耀游戏中上线的绝 ...

  2. 王者荣耀AI绝悟如何选英雄?

    王者荣耀AI绝悟如何选英雄? [抢射手?抢中单位?「绝悟」在打王者荣耀时是如何选英雄的?] 腾讯 AI Lab 开发的 AI 智能体「绝悟」已让王者峡谷不再只是人类召唤师的竞技场,而且这个 AI 战队 ...

  3. 被AI人机疯狂单杀?王者荣耀AI“绝悟”亲测体验

    文章目录 (一) 如何评测"绝悟"的智能程度? (二)"绝悟"个体操作能力分析 2.1 草丛埋伏 2.2 越塔强杀 2.3 技能避伤 2.4 技能combo ( ...

  4. 王者荣耀AI“绝悟”又进化了!会全英雄又懂田忌赛马

    点击上方"机器学习与生成对抗网络",关注"星标" 获取有趣.好玩的前沿干货! 文章来源:腾讯公众号  编辑:图灵的猫 还记得围棋AI"绝艺" ...

  5. 王者荣耀AI绝悟如何选英雄?腾讯AI Lab新研究揭秘

    视学算法报道 编辑:Panda 抢射手?抢中单位?「绝悟」在打王者荣耀时是如何选英雄的? 腾讯 AI Lab 开发的 AI 智能体「绝悟」已让王者峡谷不再只是人类召唤师的竞技场,而且这个 AI 战队在 ...

  6. 王者荣耀「绝悟」完全体上线:解禁全英雄,在线约你来战

    腾讯AI Lab与王者荣耀联合研发的策略协作型 AI「绝悟」,全英雄池解禁,升级成「完全体」了. 11月28日到30日,将限时开放三天公众体验. 这次的升级,带来了新算法,除了突破了可用英雄限制,还优 ...

  7. 紧急更新下降难度,《王者荣耀》绝悟 AI 难倒一片玩家

    作者 | 神经星星 来源 | HyperAI超神经(ID: HyperAI) 在 5 月 1 日~ 5 月 4 日期间,玩家通过<王者荣耀>最新版本客户端进入游戏,即可与绝悟 AI 对战. ...

  8. 腾讯AI×王者荣耀「绝悟」项目首亮相:KPL秋季决赛击败顶尖战队

    机器之心报道 机器之心编辑部 人工智能下围棋很在行,但在更为复杂的多人游戏上水平如何?前一阵,OpenAI 就瞄准了著名 MOBA 游戏 Dota 2,结果在 TI8 上输得毫无还手之力.那么在手机游 ...

  9. 腾讯 AI“绝悟”升级至王者荣耀电竞职业水平 测试胜率达99.8%

    8月3日消息,腾讯 AI Lab与王者荣耀共同探索的前沿研究项目策略协作型 AI "绝悟"在吉隆坡举办的王者荣耀世界冠军杯半决赛的特设环节中,在职业选手赛区联队带来的5v5水平测试 ...

  10. 腾讯开悟「王者荣耀AI开放研究环境」启动申请,为学术研究提供探索平台

    感谢阅读腾讯AI Lab微信号第 155 篇文章.本文介绍腾讯「开悟」平台「王者荣耀AI开放研究环境」正式启动申请. 11 月 21 日,腾讯「开悟」平台宣布开放「王者荣耀 AI 开放研究环境」申请, ...

最新文章

  1. 【廖雪峰python入门笔记】tuple_创建
  2. 内容处理和分发中的算法应用探究
  3. eq linux_音乐家和音乐爱好者的开放硬件 | Linux 中国
  4. 基础才是重中之重~如何整理BLL与DAL层的文件
  5. Dijkstra算法【模板】
  6. python特性有什么_举例介绍Python中的25个隐藏特性
  7. 管理系统项目-简历描述篇
  8. 关于H5调用摄像头麦克风的权限问题
  9. vscode插件离线下载vsix文件
  10. 信号与系统 第二版pdf 作者:奥本海姆 翻译:刘树棠
  11. 谷歌地球二次开发基础平台
  12. 2022年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多,看完你也可以了
  13. Naive Bayes——Naive在哪?
  14. EV1527离线语音控制器模块调试日志
  15. MySQL 数据表查询
  16. 图表点编辑数据无反应_!我快疯了!为什么我的excel里的图表不能编辑数据!
  17. java简易用户登录界面编写
  18. c语言把下划线换成空格,python - 如何用下划线替换空格,反之亦然?
  19. python爬贴吧回复_Python爬虫——抓取贴吧帖子
  20. JAR 文件格式的强大功能

热门文章

  1. [Excel]取消隐藏于取消隐藏
  2. HDU 6070 Dirt Ratio 线段树 二分
  3. word打印机显示服务器脱机,教你怎样解决打印机脱机打印-word资料(精).docx
  4. Postgres-XL 9.5简易搭建
  5. 计算机qq群怎样提交作业,qq群作业怎么弄 qq群作业功能详细介绍
  6. w ndows7旗舰版怎么重装系统,windows7旗舰版64位怎么重装32位系统
  7. C语言绘制单项正弦电压波形图,正弦交流电压波形图为例讲解“五点法”画波形图的方法...
  8. 点击箭头 切图 html,css写箭头
  9. Unity鼠标手势滑动
  10. 怎样选择合适的电流继电器