编辑 / 三石&大明    原文 / 新智元

腾讯AI Lab团队在arXiv发表论文,通过对AI进行训练,并与《王者荣耀》顶级人类玩家PK,最后获得了48%的胜率。

终于,AI还是对《王者荣耀》下手了。

19日,腾讯AI Lab团队在arXiv上发表文章,训练AI大战人类玩家,而此次所选择的游戏,正是火遍大江南北的手游——《王者荣耀》。

论文地址:https://arxiv.org/pdf/1812.07887.pdf

腾讯团队表示,游戏AI的下一个挑战是即时策略(RTS)游戏。在与顶尖人类玩家大战250回合之后,取得了48%的胜率

AI“杀戮”王者峡谷

近年来,微观层面的操作取得了很大的进步,但宏观战略的完整解决方案仍然缺乏。

腾讯AI Lab团队提出了一种新的基于学习的分层宏观策略模型,用于掌握RTS子类型游戏——MOBA游戏。

在层次宏观战略模型的训练下,智能体能够明确地做出宏观战略决策,并进一步指导其微观层面的操作。

此外,每个智能体都可以在做出独立的战略决策的同时,通过利用一种新颖的模仿交叉通信机制与盟友进行沟通。

团队从《王者荣耀》职业联赛(KPL)比赛和训练中收集了30万个游戏回放记录。最后,用于训练的实例数量高达2.5亿个。

在视觉方面,团队提取了85个特征,例如所有单位的位置和生命点,然后将视觉特征模糊为12*12的分辨率;在属性方面,团队提取了181个特性,如英雄角色、游戏时间、英雄ID、英雄的金币和等级状态以及死亡、助攻量统计。

团队将卷积层和完全连接层混合使用,分别从视觉和属性特征方面获取输入。

而如何开局是MOBA最重要的策略之一。

下图展示了通过模型学到不同英雄的开局注意力。每个子图由两个正方形组成。左侧方形图表示右侧MOBA mini-map的注意力分布。

不同英雄的开场策略。最热的区域用红色圆圈标出。

从左至右分别是貂蝉(法师,中路)、韩信(刺客,打野)、亚瑟(战士,辅助)、后裔(射手,下路)。

根据注意力预测,貂蝉将去中路,韩信将去蓝Buff区域,亚瑟和后裔将去红Buff区域,除此之外,宫本武藏(战士,上单)将去上路发育。

这样的开局策略在《王者荣耀》中非常流行。

随着游戏的进行,注意力的分布是会发生变化的,如下图所示:

为了体现宏观策略、跨智能体通信机制以及相位层的重要性,团队设计了如下实验进行比较:

  • 团队删除了宏观策略,并加入录像中的微观操作来训练模型。微观模型的设计类似于OpenAI Five;

  • 在没有跨智能体通信机制的情况下,将HMS与经过训练的HMS进行匹配;

  • 删除相位层,并将其与完整版HMS进行了比较;

  • 为了更准确的评估AI的表现,还邀请了250位人类玩家团队,他们的排名处于前1%。同样,游戏规则和正常玩法一样,也会涉及BAN英雄。

其结果如下表所示:

比赛统计。250场比赛是针对人类玩家,40场比赛分别针对无宏观策略、无交流和无阶段的比赛。

MOBA游戏介绍:以《王者荣耀》为例


MOBA类游戏现在占世界网络游戏市场的30%,Dota、《王者荣耀》、《英雄联盟》均属此类游戏。MOBA类游戏在PC游戏和移动平台游戏市场上均排名首位。

一局标准的游戏是5V5的组队对抗赛,每个玩家控制一个单位,即英雄。王者荣耀中有80多个英雄可供选用,每个英雄有不同的战斗特点和技能。玩家在游戏控制英雄移动,并释放技能。

如图所示。玩家使用左下角转向按钮来控制移动,而右下角则设置按钮来控制技能。可通过主屏幕观察周围环境,还可以通过左上角迷你地图了解完整的地图情况,其中可观察的炮塔,小兵和英雄显示为缩略图。只有当他们是盟友的单位或与盟友单位相距一定距离内时才能观察到该单位。

每个队都有三组防御塔,每路各有三个塔。地图上还有四个丛林区域,可以收集资源以增加金钱和经验。每个英雄都以最低金币值和等级1出生。两队都试图利用资源获得尽可能多的黄金和经验,以购买物品和升级。最终目标是摧毁敌人的基地。 MOBA的概念图如图所示。 1B。

要想精通MOBA游戏,玩家需要具备出色的宏观策略操作和熟练的微操。常见的宏观策略包括开放,限制,传递消息,伏击等。熟练的微观层面执行需要高度的控制准确性和对技能的损害和影响的深刻理解。宏观策略操作和微观层次执行都需要掌握优秀的时机,这使得它极具挑战性和趣味性。

(a)《王者荣耀》的游戏UI。玩家使用左下角转向按钮来控制动作,而右下角则设置按钮来控制技能。玩家可以通过屏幕观察周围环境,并使用左上角查看小地图。(b)MOBA的示例地图。这两支队伍的颜色为蓝色和红色,每个队伍有9个炮塔(圆圈)和一个基地(方块)。四个丛林区域的编号从1到4

下面以《王者荣耀》为例,对MOBA的计算复杂度进行量化。

MOBA游戏计算复杂度的量化

一局《王者荣耀》一般游戏长度约为20分钟,即游戏核心约为20000帧。在每一帧中,玩家需要在数十个选项中做出决定,包括24方向的移动方向控制,以及向相应的位置/方向上释放技能等。即使具有显着的离散化和简化处理,并将最快反应时间增加到200ms,需要处理动作空间也达到101500

至于状态空间,王者荣耀地图的分辨率是130,000*130,000像素,每个单位的直径是1000像素。在每一帧上,每个单位可能有不同的状态,如生命值,等级,金币数量等。同样,状态空间大小为1020,000。下表中列出了MOBA和围棋之间的动作空间和状态空间复杂度的比较。

围棋和MOBA游戏的计算复杂度比较

MOBA游戏中AI的宏观战略架构

我们设计MOBA AI宏观战略模型的动机源于人类玩家如何做出战略决策。在MOBA游戏中,经验丰富的人类玩家完全了解游戏的每个阶段,例如开局阶段,推线阶段,游戏中期和游戏后期阶段。在每个阶段中,玩家都会关注游戏地图,并根据英雄的位置做出相应的决定。例如,在推线阶段,玩家倾向于更多地关注自己所在的路,而不是去支持队友,而在中后期阶段,玩家更多地关注团战点,并推向敌人的基地。

综上所述,我们将宏观战略运作过程表述为“阶段识别 - >关注预测 - >执行”。为了模拟这个过程,我们提出了一个两层的宏观策略架构,即阶段层和注意力层:

• 阶段层负责识别当前的游戏阶段,以便注意力层可以更好地了解应该注意的位置。

• 注意力层旨在预测游戏地图上的最佳区域,将英雄移动至该区域。

阶段层和注意力层充当微级执行的高级指导。我们将在下一节中描述建模的细节。微观模型的网络结构几乎与OpenAI Five1中使用的网络结构相同,但是采用监督学习方式。我们做了一些小修改,以使其适应王者荣耀,比如删除了瞬移技能。

分层宏观战略模型


我们提出了一种分层宏观策略(HMS)模型,以在统一的神经网络中考虑阶段层和注意力层。我们将首先介绍统一的网络架构。然后,我们将说明如何构建每个阶段层和注意力层。

概述

我们提出了一种分层宏观策略模型(HMS),将注意力层和相位层作为多任务模型进行建模。它将游戏功能作为输入。输出包括两个任务,即将注意力层作为主要任务,阶段层作为辅助任务。注意力层的输出直接将宏观策略嵌入,传递给微观模型,而资源层则作为一个有用的任务,细化注意力层和阶段层任务之间的共享层。 HMS的网络结构如图所示。

HMS将图像和矢量特征作为输入,分别承载视觉特征和全局特征。在图像部分使用卷积层。在矢量部分使用全连接层。图像和矢量部分合并在两个单独的任务中,即注意力层和阶段层。最终,注意力和阶段任务从共享层通过自己的层输出,并输出到计算损失。

注意力层

与玩家根据游戏地图做出决策的方式类似,注意力层会预测智能体移动的最佳目标区域。但是,从数据中判断出玩家的目的地在哪里是很困难的。我们观察到,发生攻击动作的区域可以指示玩家英雄的移动目的地。根据这一观察,我们将地面真实区域定义为玩家进行下一次攻击的区域。如图所示。

设s为包含多个帧的游戏中的一个会话,s-1表示s之前的会话。 s -  1是游戏中的第一个会话。让ts成为s的起始框架。请注意,会话以攻击行为结束,因此在英雄进行攻击的ts中存在区域y。如图所示。s-1的标签是ys,而s的标签是ys + 1。直观地说,以这种方式设置标签,是希望智能体学会在游戏开始时移动到ys处。

阶段层

阶段层旨在识别当前的游戏阶段。提取关于游戏阶段基础信息是很困难的,因为人类玩家使用的阶段定义是抽象的。虽然游戏阶段与时间大致相关,但是更多取决于对当前比赛情况的复杂判断,这使得想从重放录像中提取真实的比赛阶段信息非常难。

幸运的是,我们观察到游戏阶段与主要资源数量之间的存在明显的关联。例如,在开局阶段,玩家通常会瞄准外塔和baron,而在游戏后期,玩家会操纵目标摧毁敌人的基地。

因此,我们对主要资源进行阶段性建模。更具体地说,主要资源表示炮塔、baron、龙和基地。我们在图4A中标出了地图上的主要资源。对阶段层的标签定义类似于注意力层。唯一的区别是,阶段层中的ys表示对炮塔,baron、和基地的攻击行为,而不是区域。我们不会将其他资源(如英雄、小兵和中立生物)视为主要目标,因为通常这些资源是为了实现更大的目标,例如摧毁炮塔或基地。

对多智能体间的通信的模拟

多智能体间的通信对于智能体团队合作至关重要。关于多智能体强化学习研究中的通信问题已有很多研究文献。然而,在监督学习中使用训练数据来学习通信是具有挑战性的,因为实际的通信情况是未知的。

为了使智能体能够在监督学习环境中进行通信,我们设计了一种新的通信机制。在训练阶段,我们将盟友的注意力标签作为训练特征。在测试阶段,我们将盟友的注意力预测作为特征进行相应的决策。通过这种方式,我们的智能体可以实现彼此“沟通”。


推荐阅读

微信巨变,后悔更新了能退回去吗?

几张趣图带你了解程序员眼中的世界

下载 | 217页Stanford统计学习理论笔记【英文】

下载 | Pytorch模型训练实用PDF教程【中文】

Python 3基础语法知识点都在这里了,如果还不能入门就不能怪我了

下载 | 100页机器学习入门完整版,初学者必备!

下载 | 《统计学习方法》最新PPT+代码

Dota之后,《王者荣耀》也被AI攻陷,势把人类顶级玩家拉下马相关推荐

  1. 王者荣耀s22服务器维护,王者荣耀:S22赛季推迟开启,大量老玩家退游,只因官方的两次改动...

    Hello,大家好,这里是头号游戏,每天都会带来最新的游戏资讯! 导语: 王者荣耀:S22赛季推迟开启,大量老玩家退游,只因官方两次改动 最近又有很多的老玩家向官方寻求补偿,如果不补偿的话,那么只能够 ...

  2. 挑战王者荣耀“绝悟” AI,我输了!

    作者 | 马超 责编 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 腾讯 AI Lab 与王者荣耀联合研发的策略协作型AI,"绝悟"首次开放大规模开放:5月1日至4日, ...

  3. 挑战王者荣耀“绝悟” AI,会进化的职业选手太恐怖了!

    作者 | 马超 责编 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 腾讯 AI Lab 与王者荣耀联合研发的策略协作型AI,"绝悟"首次开放大规模开放:5月1日至4日, ...

  4. Java观察者模式事件委托(通过dota和王者荣耀故事讲解)

    故事情景 首先介绍下故事的三位同学,阿顾.蛋蛋和洋洋,蛋蛋,洋洋喜欢玩游戏,但是又生怕班主任回来了被抓到,所以他们就找到了阿顾同学帮他们把风,但是阿顾同学不是谁都通知的,只有到阿顾那里登记的,阿顾同学 ...

  5. 7 Papers | 腾讯王者荣耀绝悟AI;ICLR高分论文Reformer

    点击上方"深度学习技术前沿",选择"星标"公众号 资源干货,第一时间送达 本周 7 Papers 包含多篇 AAAI 2020.ICLR 2020 入选论文,如 ...

  6. 王者荣耀微信哪个服务器人最少,王者荣耀:一句话总结q区和微信区玩家的区别,简直不要太真实...

    王者荣耀目前火了四年多的时间,作为一款moba手游实则少见,在这四年多的时间里王者荣耀的用户量虽然时有变化,但用户群体却不断沉降,从最初的学生群体扩展到很多工薪阶级甚至中老年人都在玩.而作为最有代表性 ...

  7. 鸿蒙os版王者荣耀,华为鸿蒙系统能玩王者荣耀吗?王者荣耀鸿蒙系统版手游下载-游戏大玩家...

    王者荣耀是一款5V5moba竞技对战手游,在这里你可以去进行对不同的游戏战斗的开启,和你的队友一起进行战斗,面对不同的游戏模式你可以去进行随意的选择,我们给你提供了多种不同的英雄可以去进行选择,发现我 ...

  8. 王者服务器维护导致的挂机扣分吗,王者荣耀文字检测系统是什么有用吗?玩家骂人挂机被扣分...

    模拟战精品攻略和超强大神,来这给你安排的明明白白 王者荣耀前不久推出了一个文字实时检测系统,该系统可以检测到言语辱骂,确认结果后系统会自动扣分处理.目前该系统已经在更新于体验服了,而且还有不少玩家受到 ...

  9. 弯道极限超车、击败人类顶级玩家,索尼AI赛车手登上Nature封面

    来源:机器之心 在<GT 赛车>中战胜数位全球顶级电子竞技赛车手,索尼 AI 开发了一个超强大的赛车 AI 智能体. 从国际象棋到围棋再到扑克,AI 智能体在许多游戏中都胜过人类.现在,这 ...

最新文章

  1. BIO与NIO、AIO的区别(这个容易理解)
  2. 分享Kali Linux 2017年第二周镜像文件
  3. abs期刊分类2020_收藏:中科院期刊最新分区来了!| 附516本生物医学等五大领域一区汇总...
  4. python figure函数 gui_python 在一个GUI内创建了2个figure,为什么只能显示第二个图?...
  5. centos akonadi mysql,MySQL数据库之在CentOS7上安装MySQL5.7
  6. java字符串常量池长度_Java String类相关知识梳理(含字符串常量池(String Pool)知识)...
  7. 复赛今日启动,双赛道百支队伍上演算法精英对决
  8. oracle11g trc 文件,Oracle11g11.2.0.1设置HuagePage导致TRC变大变多
  9. eclipse集成weblogic开发环境的搭建
  10. 《机电传动控制》第六周学习笔记
  11. Atitit 项目管理软件 在线服务 attilax总结 1. 项目管理协作的历史 1 1.1. Worktile 406k 1 1.2. Teambition  584k in baidu
  12. 概率论与数理统计 重点篇
  13. UG不用计算机名,win10系统安装UG软件后打开提示计算机名不对的解决步骤
  14. 500G 史上最全的JAVA全套教学视频网盘分享
  15. 库存管理一般用什么软件比较好?
  16. 案例▍Python实战 爬取万条票房数据分析2019春节档电影状况
  17. 如何避免字节流读取文本乱码
  18. 一次和前端的相互甩锅的问题记录
  19. android 画图
  20. 小猿日记(8) - 接口优化从13秒到3秒,我做了什么

热门文章

  1. 抖音、今日头条、西瓜视频将打包上市
  2. 联想服务器安全配置文件,适用于台式机的 Lenovo Service Engine(LSE)BIOS安全公告...
  3. 标志寄存器及其标志位
  4. 多少鸿蒙冰心对无间,鸿蒙造句
  5. 微信小程序:全新独家云开发微群人脉
  6. 华软java综合实验二_华软-企业级javaII(第一次作业)
  7. 【Python机器学习】系列之特征提取与处理篇
  8. vue3状态管理工具 pinia的使用
  9. Final Cut Pro 在视频的多个地方同时打马赛克
  10. 无法打开“Final Cut Pro”,因为无法确认开发者的身份