对战6亿用户竞技手游:聚焦复杂游戏中的多智能体博弈

雷锋网  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

对战6亿用户竞技手游:聚焦复杂游戏中的多智能体博弈

2021年11月,全球首届“ AI《球球大作战》:Go-Bigger多智能体决策智能挑战赛”已正式开赛。作为面向全球技术开发者和在校学生的科技类竞赛活动,本次比赛旨在推动决策智能相关领域的技术人才培养,打造全球领先、原创、开放的决策AI开源技术生态。


在比赛之际,雷锋网&AI科技评论对话了本次竞赛的核心设计团队成员刘宇和周航,他们二人,一个为商汤科技研究总监,也是OpenDILab项目负责人;一个为前星际职业选手iA,目前任商汤决策智能游戏AI组高级研究员;殊途而同归,他们如何通过 「游戏 × 决策」方式走到一起,他们会更看中什么样的“策略高手”?

在现实之外,还有另一个世界,游戏世界。它将人情世故、弱肉强食、情义背叛、谋略运筹挪于方寸之间,功成名就,皆在俯仰间。以游戏世界之有涯,演绎人际种种浮沉。古人制蛊王,今人造脑王,科技的进步,将对抗的秘密搬上台面。

而今这场竞技,被命名为 Go-Bigger多智能体决策智能挑战赛 。比赛由OpenDILab主办,上海人工智能实验室作为学术指导,商汤决策智能团队和巨人网络等多元化组织联合打造 。灵感来自于巨人网络自主研发的一款超火爆休闲竞技手游《球球大作战》,多方共同开启全球首届AI版《球球大作战》。

对战6亿用户竞技手游:聚焦复杂游戏中的多智能体博弈

Go-Bigger游戏环境:https://github.com/opendilab/GoBigger

AI球球大作战采用了类似《球球大作战》的物理引擎设计,具有相对较大的地图,球球具有分裂、吐孢子、中吐等高阶动作空间,但是提供了适合强化学习或行为树AI编写的抽象接口。

刘宇说到,“Go-Bigger并不像星际争霸或Dota2这种重型游戏环境,我们对它的定位是人人可以参加的中型游戏AI竞技环境,推动学术界关注更大一些的决策问题。相比学术界用的最多的Atari、Mojoco、SMAC要大不少,但又可以在小型的实验室中完成——一台机器、一块GPU就能训练起来。它面向大众、学生、研究员,更适合用 「 学术比赛 」来描述它。”

从参与筹办比赛的各方来看,学术价值,在Go-Bigger身上非常明显。它由上海人工智能实验室作为学术指导,商汤科技、巨人网络、上汽集团人工智能实验室联合主办,全球高校人工智能学术联盟、浙江大学上海高等研究院、上海交通大学清源研究院联合协办,OSCHINA、深度强化学习实验室作为支持。

从产业出发,关注底层技术,并进一步拢合各大高校和实验室,其实就是商汤的原创基因。 


一、Go-Bigger比拼决策战术

周航和刘宇都说到,“球球大作战的门槛很低,但是上限很高。”

与风靡全球的agar.io、《球球大作战》等游戏类似, 在Go-Bigger中,每局比赛十分钟,大球吃掉小球而获得更大重量和体积,但同时要避免被更大的球吃掉。当球达到足够大时,玩家(AI)可使其分裂或融合,和同伴完美配合来输出博弈策略。每个队伍都需和其他队伍对抗,总重量更大的团队获胜。

对战6亿用户竞技手游:聚焦复杂游戏中的多智能体博弈

Go-Bigger游戏环境演示图

游戏中有四类小球,分别为 分身球、孢子球、食物球、荆棘球 ,挑战不同决策路径。 

  • 分身球是玩家在游戏中控制移动或者技能释放的球,可以通过覆盖其他球的中心点来吃掉比自己小的球。

  • 孢子球由玩家的分身球发射产生,会留在地图上且可被其他玩家吃掉。

  • 食物球是游戏中的中立资源,其数量会保持动态平衡。如玩家的分身球吃了一个食物球,食物球的重量将被传递到分身球。

  • 荆棘球也是游戏中的中立资源,其尺寸更大、数量更少。如玩家的分身球吃了一个荆棘球,荆棘球的大小将被传递到分身球,同时分身球会爆炸并分裂成多个(10个)分身。此外,荆棘球可通过吃掉孢子球而被玩家移动。

对战6亿用户竞技手游:聚焦复杂游戏中的多智能体博弈

分身球

对战6亿用户竞技手游:聚焦复杂游戏中的多智能体博弈

孢子球,食物球 
对战6亿用户竞技手游:聚焦复杂游戏中的多智能体博弈

荆棘球

此外,Go-Bigger还包含一系列与《球球大作战》类似的游戏规则:

  • 球重量越小,移动速度越快;

  • 分身更多可以快速发育,但自身重量被分散,面临被吃的风险。

  • 每个玩家的总重量会随着时间缓慢衰减,体重越大,衰减速度越大在战斗阶段,分裂后的玩家需要尽快合球,因此,同一队伍中不同球球的配合尤为关键。

  • 同队伍玩家之间不会完全吞噬(会保留最后一个球)。

由于这种规则设置,球球在不同发展阶段,策略各不相同。

在球球发育前期,重量太小无法分裂,一边吃食物完成原始积累,一边防御被吃,就催化了团队合作--多球行动。

比如,当自己进食足够多,并达到分身程度时,将小分身喂给队友,只留一个,同伴和自己都会完成第一次原始积累,并增加团队整体重量。

随着大家争相完成原始积累,比赛进入中期。防御转为攻击,暗争转为明争。而此时,持久战还是速度战、先灭大还是先灭小、霸屏攻击还是轻骑后抄,不同策略组合将游戏推向高潮。

距离,方向,速度以及分身后的密度成为影响获胜关键。

其中一种攻击策略为先灭小而后搏大,大球率先攻击发育不良的球,合成大球,随后寻找实力略弱的大球,判断距离、分身快速逼近、近身后合球鲸吞。几轮下来,大球进入排行榜头列,为后续决战做好准备。

随着游戏进入后期,战场上的玩家也所剩无几,实力相当的大球决战,成为赛点关键!

首先,大球的移动速度非常慢,选择时机分身移动,快速移动并合成干掉对方,成为大球玩家心中既心照不宣,又秘而不发的护身之法。你死我亡,弱肉强食,生命法则向是如此。

但与此同时,作战的另一机制——自我衰亡被触发。

大球的体重并不是一成不变的,而是以一个相当快的速度流失体重,体重衰减率是每秒钟千分之二。因此,游戏进入下一阶段——霸屏团队的优势维持、其它团队的反击。

由于霸屏团队体重流失速度相当快,如果只是用常规的攻击手段,增加的体重往往不能和流失的体重相抵。而同时,大球的移动速度十分缓慢,攻击效率十分低下,多数大球团队会采用多 分身模式 攻击。

因为已经是优势团队,即便多分身,其它团队也往往不能对多分身造成威胁,因此大球往往以相对高的速度 地毯式扫荡

纵观决战之势,无论是大球燃烧心火,击溃其身;还是分身求胜,蚕食殆尽,往往并不随心所欲。在对抗同时,作战时间所剩无几。

此外,还有多少小球蛰伏暗处,酝酿反击,在最后阶段逆转局势,并非新事。

在萌萌的小球之内,涌动着规则和博弈的暗流。周航回应道,这就是Go-Bigger门槛很低,但是上限很高的原因。

“游戏环境非常简单直观,因为大家都玩过类似的游戏,像大鱼吃小鱼、剪刀石头布、围棋。它们都有很直观的名字,都用简单的环境系统构建出博弈场景。但不同的是, Go-Bigger涉及到多智能体的配合和对抗,会有更高的决策复杂度。” 


二、游戏环境如何设计

人工智能现在已经广泛应用在感知优化场景,但是想让模型具有真正的智能,则需要将其落实到一些需要进行决策的场景。

游戏,则是决策智能(DI)天然的训练场。

如果将一个游戏环境比作一个小社会,那么不同的游戏角色则是生活其中的人类。只有人类数量足够多,才足以反映其中的群体关系,并进一步模拟人类社会的生活图景。因此, 在复杂游戏中的多智能体博弈,成为推动决策智能发展的关键。

Go-Bigger涉及多智能体博弈,不可避免要权衡同一团队中的个体行动与合作行动、不同团队间的合作与竞争、表征和交换与其它智能体的环境信息。但要从零开始实现上述算法和训练流程非常复杂,决策智能框架DI-engine大大简化了设计过程。

其内部已经集成了支持多智能体的DQN算法实现和一系列相关诀窍,以及玩家自我对战和对抗机器人的训练组件,只需实现相应的环境封装,神经网络模型和训练主函数即可。

此外,Go-Bigger支持RL环境,提供了三种交互模式。

为帮助用户在强化学习领域的多智能体策略学习, Go-Bigger提供了符合gym.Env标准的接口供其使用。在一局游戏中,Go-Bigger默认设置含有20个状态帧和5个动作帧。每个状态帧都会对当前地图内所有单位进行仿真和状态处理,而动作帧会在此基础上,附加对单位的动作控制,即改变单位的速度、方向等属性,或使单位启用分裂、发射或停止等技能。

为了更方便地对环境进行探索, Go-Bigger还提供了必要的可视化工具。在与环境进行交互的时候,可以直接保存本局包含全局视角及各个玩家视角的录像。此外,Go-Bigger提供了单人全局视野、双人全局视野、单人局部视野三种人机交互模式,使得用户可以快速了解环境规则。

对战6亿用户竞技手游:聚焦复杂游戏中的多智能体博弈

单人全局视野、双人全局视野、单人局部视野 

可视化除了方便用户设计智能体的决策路径,还将智能体的决策进化提供一个参考。

目前基于强化学习等方法的决策智能,主要还是在学习「状态」到「动作」的映射,离可解释的、因果关系的、可互动的决策还有很远距离。但游戏本身的可视化形式,会直接展示智能体的策略。

整个游戏环境的搭建, 不仅涉及到大的封装模块,还有小的动作设计。刘宇说到,我们在设计这个引擎的时候,不仅要兼顾它是否有趣(可视化、难度低),还要考虑它对研究者来说是否有用(动作歧义、公平)。

在复杂的游戏环境中,如何做到公平性,保证所有智能体从同一起点进化,并演化出最多的决策路径,除了球球背后的参赛选手出奇斗勇,还要有公平的评测系统-- 天梯系 。参赛选手只需基于大赛提供的接口,给出智能体在每一帧的动作,最后将代码以及相关模型或文件提交即可加入测试天梯。OpenDILab团队将使用选手提供的环境及代码进行指定竞赛的模型测试工作,决出最后的赢家!

三、决策智能研究刚刚上路

在Go-Bigger游戏中,设计了球球对抗时间、成长加速度、分裂、消失、衰亡等约束条件,它们其实广泛存在于现实世界,比如人的生命周期,微观生物学中细胞免疫等。

天然拥有很高的社会拟合度,是用游戏做决策智能研究的优势。

刘宇说,Go-Bigger项目只想做好一件事,就是想通过打造一款类似于球球大作战和AGAR这样家喻户晓的游戏,让大家先把游戏AI和决策智能联系起来,且人人可上手。

“现在Go-Bigger希望做的,其实非常像CV领域的ImageNet。”

十年来,计算机视觉一直是最火爆的领域。但是CV是如何发展起来的,“其实就是开源了更大的数据集。”

刘宇说到,“在ImageNet比赛之前,数据集都非常小,研究员很难定义产业界真正需要的算法问题。但ImageNet的推出,为当时的技术带来了挑战,随着GPU的算力提升,越来越多的人涌入到CV领域,成就了现在深度学习+计算机视觉的蓬勃发展。”

现在决策智能领域的大多数工作者,很难接触到像星际、DOTA2这样的资源,在相对较理想的小数据集和仿真环境中做实验、发论文,是学术研究的常态。

“而决策智能将走向何方,其实就是从训练平台和仿真环境两个方向发力。我们希望在保持现有资源能够接触的情况下,能让决策智能更接近真实场景,并逐渐推动行业中更多的平台开源。”刘宇说到。

决策智能的研究刚刚上路,首先是数据的问题,其次是标准化的问题。

目前,决策智能的标准化难题是三块:

  • 一个是环境观测的标准化

  • 二个是动作空间的标准化

  • 三个是算法工作流的标准化

“CV标准化做得好,因为这里面所有的数据都可以用非常规整的tensor来表示,像PyTorch、 TensorFlow。”

但在决策智能领域,会涉及到多模态的输入,比如空间信息(Spatial info)、实体信息(Entity info)、Scalar info(标量信息)。“ 难点是将所有模态都统一到一个数据格式下。 ”刘宇说到,“目前一些做法是将各种模态的数据统一到一个encoder,让它们映射到同一个observation space(观测空间)。”

有了状态空间后,就需要决策做什么动作。

比如,强化学习领域很多算法很难同时支持离散和连续两种动作空间。而真实场景里还有更复杂的动作空间,比如前后依赖的动作空间、序列的动作空间,跟马尔可夫链性质不太相关的或者违背的动作空间。“ 这些动作空间如何大一统到一个训练的平台和一个训练流里,也是非常难的问题。

“我们希望通过算法设计出新的head(决策智能训练网络的头),后期只需要做一些plug in(插件)的工作,几乎能够适配所有的算法。”

第三块是算法的标准化。各种算法之间的差异性非常大且难以抽象,如果强行把所有算法兼容到一套框架内,代码会非常冗余。“我们现在想要从计算流的角度思考强化学习的优化过程,把强化学习里所有原子模块拆分,类似PyTorch里operator,那么以后只需要拼算法积木,或者研发一个新的强化学习算法。”

这件事本身是很长期主义的一件事,Go-Bigger只是一个开始。

刘宇说,“我们希望用5年时间,从工具和学术问题定义两个方面推动决策智能落地,能够让平台、算法集、生产的工具链适配到几乎所有决策智能行业应用上,将行业和学术的各自为阵,变成欣欣向荣。”

比赛持续到明年4月,那时,“我们期待所有选手百家争鸣,能够定义出新的问题,也会设计出更多样性的算法,既有纯强化学习的,也有结合硬编码和强化学习的。当然,我们希望训练出的AI不仅能处理好输赢,还能兼顾到游戏的拟人性。”

如今,全球首届“  AI《球球大作战》:Go-Bigger多智能体决策智能挑战赛 ”已正式开赛。作为面向全球技术开发者和在校学生的科技类竞赛活动,本次比赛旨在推动决策智能相关领域的技术人才培养,打造全球领先、原创、开放的决策AI开源技术生态。协作、博弈、对抗,精彩纷呈,欢迎前来挑战!

比赛详情请见:https://mp.weixin.qq.com/s/1hVFFWBVSUx-BT6Fnn_sMA

雷峰网雷峰网 (公众号:雷峰网)

雷峰网原创文章,未经授权禁止转载。详情见。

对战6亿用户竞技手游:聚焦复杂游戏中的多智能体博弈

随意打赏

提交建议
微信扫一扫,分享给好友吧。