当前位置:首页 > 厂商动态 > 厂商文章
[导读]多智能体对抗作为决策AI中重要的部分,也是强化学习领域的难题之一。为丰富多智能体对抗环境,OpenDILab(开源决策智能平台)开源了一款多智能体对抗竞技游戏环境——Go-Bigger。同时,Go-Bigger还可作为强化学习环境协助多智能体决策AI研究。

多智能体对抗作为决策AI中重要的部分,也是强化学习领域的难题之一。为丰富多智能体对抗环境,OpenDILab(开源决策智能平台)开源了一款多智能体对抗竞技游戏环境——Go-Bigger。同时,Go-Bigger还可作为强化学习环境协助多智能体决策AI研究。

与风靡全球的agar.io、球球大作战等游戏类似,在Go-Bigger中,玩家(AI)控制地图中的一个或多个圆形球,通过吃食物球和其他比玩家球小的单位来尽可能获得更多重量,并需避免被更大的球吃掉。每个玩家开始仅有一个球,当球达到足够大时,玩家可使其分裂、吐孢子或融合,和同伴完美配合来输出博弈策略,并通过AI技术来操控智能体由小到大地进化,凭借对团队中多智能体的策略控制来吃掉尽可能多的敌人,从而让己方变得更强大并获得最终胜利。

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

四类小球,挑战不同决策路径

Go-Bigger采用Free For All(FFA)模式来进行比赛。比赛开始时,每个玩家仅有一个初始球。通过移动该球,玩家可吃掉地图上的其他单位来获取更大的重量。每个队伍都需和其他所有队伍进行对抗,每局比赛持续十分钟。比赛结束后,以每个队伍最终获得的重量来进行排名。

在一局比赛中共有分身球、孢子球、食物球、荆棘球四类球。分身球是玩家在游戏中控制移动或者技能释放的球,可以通过覆盖其他球的中心点来吃掉比自己小的球;孢子球由玩家的分身球发射产生,会留在地图上且可被其他玩家吃掉;食物球是游戏中的中立资源,其数量会保持动态平衡。如玩家的分身球吃了一个食物球,食物球的重量将被传递到分身球;荆棘球也是游戏中的中立资源,其尺寸更大、数量更少。如玩家的分身球吃了一个荆棘球,荆棘球的大小将被传递到分身球,同时分身球会爆炸并分裂成多个分身。此外,荆棘球可通过吃掉孢子球而被玩家移动。

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

分身球

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体 决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

孢子球                          食物球

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体 决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

荆棘球(尖刺)

团队紧密配合,实现合理重量传递

在Go-Bigger中,团队内部的合作和外部的竞技对于最终的成绩至关重要。因此,Go-Bigger设计了一系列的规则来提高团队所能带来的收益。由于玩家的分身球重量越小,移动速度越快,更多的分身可以保证快速发育,但是会面临被其他玩家吃掉的风险。同时,冷却期的存在使得玩家无法靠自身摆脱这样的风险。因此,同一队伍中不同玩家的配合尤为关键。

为便于团队内玩家的配合,Go-Bigger设置了玩家无法被同队伍完全吃掉的规则。Go-Bigger还设置了单个分身球的重量上限和重量衰减,使得单一分身球无法保持过大重量,迫使其分裂以减少重量损失。在游戏后期,团队内部的重量传递会显得至关重要,合理的重量传递可以保证团队在与其他队伍对抗时获得更大的优势。

支持RL环境,提供三种交互模式

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

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

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

三步走,快速搭建强化学习baseline

算法baseline的目的是验证某个问题环境使用强化学习算法的初步效果,对各个环节的信息做简单梳理和分析,熟悉之后便可轻松上手比赛,在环境、算法、算力上逐步增加复杂度,设计迭代效果更强的智能体。

Go-Bigger环境的强化学习算法baseline主要分为环境瘦身、基础算法选择、定制训练流程三部分。其中,环境瘦身即将原始游戏环境简化成适用于强化学习的标准环境格式;基础算法选择指根据环境的基本信息选择合理的基础RL算法;定制训练流程指根据环境的特殊特征定制训练流程。

1.环境瘦身

A.人类视角的Go-Bigger(左)V.S. 翻译成游戏引擎中的结构化信息(右):

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

这些人理解起来很简单的数据表示,对计算机和神经网络却非常不友好,因此需要专门对这些信息做一定的加工,并根据强化学习的特性设置成标准的强化学习环境观察空间。

(1)特征工程:

▪ 原始的游戏数据需要表达游戏内容,其数值范围波动便会较大(比如从几十到几万的球体大小),直接将这样的信息输入给神经网络会造成训练的不稳定,所以需要根据信息的具体特征进行一定的处理(比如归一化,离散化,取对数坐标等等)。

▪ 对于类别信息等特征,不能直接用原始的数值作为输入,常见的做法是将这样的信息进行独热编码,映射到一个两两之间距离相等的表示空间。

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

▪ 对于坐标等信息,使用绝对坐标会带来一些映射关系的不一致问题,相对坐标通常是更好的解决方式。

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

(2)从RGB图像到特征图像层

直接将原始的RGB 2D图像信息输入神经网络,尽管结果尚可,但需要更多的数据、更长的训练时间,以及更复杂的训练技巧。更为简明并有效的方式是进行“升维”,即将耦合在一起的图像信息离解成多个分离的特征图像层。最终根据游戏内容定义出具体的特征图像层,并区分各个玩家的局部视野,拼接后构成总体的特征图像层。下图为一玩家视野中食物球的特征图像层:

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

(3)可变维度

Go-Bigger环境中存在很多可变维度的地方,为了简化,baseline环境中强行截断了单位数量,用统一的方式来规避可变维度问题。

B.设计动作空间

Go-Bigger对于人类来说操作起来十分简单,包括上下左右QWE,这些基本的按键组合起来便可以诞生出许多有趣的操作,如十面埋伏、大快朵颐等。但是,游戏引擎中实际的动作空间是这样的(动作类型 + 动作参数):

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

游戏引擎的这种形式在强化学习中被称作混合动作空间,也有相应的算法来处理该问题。但基于baseline一切从简这一核心,通过使用比较简单粗暴的离散化处理,将连续的动作参数(x,y坐标)离散化为上下左右四个方向。针对动作类型和动作参数的组合,也简单使用二者的笛卡尔积来表示,最终将环境定义为一个16维的离散动作空间。

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

C.设计奖励函数

奖励函数定义了强化学习优化的目标方向。Go-Bigger是一项关于比谁的队伍更大的对抗游戏,因此奖励函数的定义也非常简单,即相邻两帧整个队伍的大小之差。

如下图所示两张表示相邻两个动作帧,右侧计分板显示各个队伍实时的大小数值,将当前帧的大小减去上一帧的大小,就定义得到了奖励值。而对于整场比赛,则使用每一步奖励的累加和作为最终的评价值。评价值最大的队伍,将赢得本局比赛。此外,在训练时,还通过缩放和截断等手段将奖励值限制在[-1, 1]范围内。

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

2.基础算法选择

在完成对RL环境的魔改之后,会呈现如下基本信息:

▪ 多模态观察空间:图像信息 + 单位属性信息 + 全局信息

▪ 离散动作空间:16维离散动作

▪ 奖励函数:稠密的奖励函数,且取值已经处理到[-1, 1]

▪ 终止状态:并无真正意义上的终止状态,仅限制比赛的最长时间

对于这样的环境,可用最经典的DQN算法 + 多模态编码器神经网络来实现。对于各种模态的观察信息,使用数据对应的经典神经网络架构即可。例如,对于图像信息,选择一个带降采样的卷积神经网络将2D图像编码为特征向量;对于单位属性信息,需要建模各个单位之间的联系,获得最终的单位特征向量;对于全局信息,则使用由全连接层构成的多层感知机。在各部分编码完成之后,将三部分的特征拼接在一起,将构成时间步的观察特征向量,以复用最经典的Dueling DQN结构。以特征向量为输入,输出这一步选择16个动作的Q值,并使用N-step TD损失函数即可完成相应训练的优化。完整的神经网络结构如下图所示。

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

3.定制训练流程

DQN通常只用来解决单智能体的问题,而在Go-Bigger中一支队伍会存在多个玩家,且一局比赛为多个队伍混战,因此会涉及多智能体之间合作和对抗等问题。在多智能体强化学习领域,针对该问题可展开诸多的研究方向,但为简化设计Go-Bigger使用了Independent Q-Learning (IQL)+ 自我对战(Self-Play)的方式来实现训练流程。

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

例如,对于一个队伍中的多个智能体,团队的最终目标是让整个队伍(总体积/总体量/总重量)的大小最大,因此在baseline中可使用IQL算法来实现,以高度并行化地实现整个优化过程;对于实际一局比赛中存在多个智能体的情况,则可使用朴素的自我对战(Self-Play)这一相当简单且非常节省算力的方式来参与比赛。评测时,会将随机机器人和基于规则的机器人作为比赛的对手,测试验证目前智能体的性能。

Tips:

▪ 使用更高级的自我对战(Self-Play)算法(比如保存智能体的中间历史版本,或使用PFSP算法);

▪ 构建League Training流程,不同队伍使用不同的策略,不断进化博弈;

▪ 设计基于规则的辅助机器人参与到训练中,帮助智能体发现弱点,学习新技能,可作为预训练的标签或League Training中的对手,也可构造蒸馏训练方法的老师,请玩家尽情脑洞。

从零开始实现上述算法和训练流程非常复杂,而通过决策智能框架DI-engine(https://github.com/opendilab/DI-engine)可大大简化相应内容。其内部已经集成了支持多智能体的DQN算法实现和一系列相关诀窍,以及玩家自我对战和对抗机器人的训练组件,只需实现相应的环境封装,神经网络模型和训练主函数即可(详细代码参考https://github.com/opendilab/GoBigger-Challenge-2021/tree/main/di_baseline)。

几个有意思的发现

通过上述简单基线算法训练出来的初级AI在在发育阶段会将球尽量分开,以增大接触面加快发育;在面对潜在的危险时,会避开比自身大的球,并使用分裂技能加快移动速度,防止被吃掉。这些操作都是在人类玩家的游戏过程中经常用到的小技巧。

决策AI版“大球吃小球”Go-Bigger发布!无需繁杂代码也能设计游戏AI智能体

为了进一步推动决策智能相关领域的技术人才培养,打造全球领先的原创决策AI开源技术生态,OpenDILab(开源决策智能平台)将发起首届Go-Bigger多智能体决策AI挑战赛(Go-Bigger: Multi-Agent Decision Intelligence Challenge)。本次比赛将于2021年11月正式启动,使用由OpenDILab开源的Go-Bigger(https://github.com/opendilab/GoBigger)游戏环境。希望集结全球技术开发者和在校学生,共同探索多智能体博弈的研究。欢迎对AI技术抱有浓厚兴趣的选手踊跃参加,和全球的顶尖高手一决胜负!


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭