ICLR 2023 | GoBigger:孕育海量智能体间的竞争与协作
引言
近些年来,强化学习已经在各种各样的决策任务中大放异彩,从各类经典的红白机游戏 [1] 到最复杂的即时战略类游戏《星际争霸2》[2],从 AlphaGo [3] 在围棋界的一炮而红到最近 ChatGPT [4] 在对话系统领域的技惊四座,现代强化学习技术已经将单个智能体(single-agent)的决策和控制推广到一个新的高度。
而另一方面,很多现实决策场景中,人们需要控制同时存在的多个智能体(multi-agent)来完成特定任务,并思考其中衍生出来的各类竞争和协作问题,具体包括交通信号控制 [5],机器人协作 [6],自动驾驶多车博弈 [7] 和各类多人对抗游戏等等。因此,强化学习相关研究也逐渐从单智能体领域延伸了到多智能体强化学习(Multi-agent Reinforcement Learning,MARL [8])。
俗话说得好,工欲善其事,必先利其器。数据集/基准环境是启发机器学习领域发展和革新的重中之重,就像ImageNet [9]激发了图像分类领域的百花齐放,就像 Atari [10]系列环境启迪了各类强化学习算法的百家争鸣。而在多智能体领域,也涌现了出了 MPE [11-12],SMAC [13],MA-MuJoCo [14] 等一系列经典环境,但是,现有的这些环境在多智能体竞争与协作的扩展性和多样性方面仍比较初级,在决策空间的复杂性角度仍然过于简易(具体对比分析如下方表1所示),难以支持现有研究方法对海量智能体、多个智能团队之间的群体智能行为的进一步探索。
表1:GoBigger 与其他经典多智能体仿真环境的对比
图表1中,Agent Size 表示交互环境中的智能体规模,即队伍数量×每支队伍的队员(玩家)个数。动作空间(Action)和观察空间(Obs)分别代表决策问题的输出和输入空间,GoBigger 中定义了最贴近真实决策场景的混合动作空间和部分可观测观察空间。Coop 和 Comp 分别指代合作和竞争的重要性,”+“ 数量阅读代表相关指标的复杂度,GoBigger 在合作和竞争两个维度都蕴含着足够的复杂性和多样性。
为了尝试解决这一问题,将多智能体强化学习领域的研究推进到一个新的高度和广度, OpenDILab 团队提出了一个名为 GoBigger [15] 的交互仿真平台,构建具有挑战性的多智能体基准环境和算法 benchmark,并提供一系列具有高度可扩展性的关卡机制设计和表征建模方案。具体来讲,就是将”大球吃小球“这样简明的核心逻辑,扩展到不同智能体规模,不同对抗方式,不同特征编码和决策控制手段的对抗下,孕育海量智能体间的竞争与博弈,启发多智能体强化学习、群体智能和大规模智能体交互等等各种新兴研究方向。
相关论文《GoBigger: A Scalable Platform for Cooperative-Competitive Multi-Agent Interactive Simulation》已被机器学习领域顶级会议 ICLR 2023 所接收,完整环境及算法 benchmark 代码也已在 GitHub 上开源。
GoBigger GitHub repo:
https://github.com/opendilab/GoBigger
GoBigger-Explore GitHub repo:
https://github.com/opendilab/Gobigger-Explore
GoBigger ICLR 2023 paper:
https://iclr.cc/Conferences/2023/Schedule?showEvent=11881
视频1:GoBigger 中各类智能体互相博弈的酷炫表现
设计理念和机制
图2:GoBigger 整体平台设计概览图
如图2所示,系统中预设了多种循序渐进的多智能体博弈地图设定(2x2,3x2,4x2),并提供了一系列不同类型的内置 Bot 和天梯排名系统,用户可以便捷地遵循预定义的研究工作流程,无需担心环境运行机制和评测系统的各种细节问题,利用简洁的用户界面直击多智能体决策领域的核心算法研究问题。而对于高级用户,则可以根据需求自定义更加复杂的决策场景,GoBigger 也提供了相应开发者工具助力各类奇思妙想。
接下来,本文将从基本单元和游戏机制两方面具体介绍 GoBigger 中的设计细节,更详细的介绍和展示也可以参考原论文及 GitHub 官方仓库。
🌟基本单元
GoBigger 环境机制设定中一共有四种球,玩家可以获取相应的球体信息,并结合更多游戏统计信息(比如游戏时长,当前排名等等),整体统合抽象用于后续决策,一个经典的表征建模 pipeline 如下图所示:
图3:GoBigger 环境算法 benchmark 中预设的表征建模处理方案
食物球(Food Ball):食物球是中性资源,它们始终固定在地图上。克隆球可以吃掉食物球,然后吸收它们的大小。食物球会随机不断地产生,直到可用食物球的数量达到最大值。
孢子球 (Spore Ball):孢子球会被克隆球弹射出去。它们会留在地图上,并且可以被任何其他克隆球吃掉。
荆棘球 (Thorn Ball) :荆棘球是游戏中的另一种中性资源。与食物球不同,它们在地图上的体积更大,数量更少。此外,它们还可以吃掉克隆球喷出的孢子球,吸收它们的体型。克隆球吃下荆棘球后,会均匀地分裂成几个小球。这意味着玩家可以将荆棘球推向对手的克隆球,迫使其分裂并吃掉它的小球。
克隆球 (Clone Ball):玩家主要操控的球体,它们是唯一可控的球。此外,克隆球可以覆盖其他较小的球,包括食物球、荆棘球、孢子球和(来自队友或对手的)克隆球的中心。玩家的克隆球可以在一定时间后合并。克隆球的大小会衰减,以确保它们不会长得太大。如果一个玩家的所有克隆球都被吃掉,该玩家将在下一帧随机重生在地图上。
图4:左图是整个游戏的完整概览;右图是其中某一个智能体的局部观测视角
而在决策输出空间,玩家一共可以通过以下三个动作来控制克隆球:
移动(Move):移动可以帮助克隆球吃掉其他球或逃离危险。克隆球越大,移动越慢。
弹射(Eject):弹射孢子球可以帮助克隆球缩小一些并移动得更快。当克隆球弹出时,一个新的孢子球会出现在克隆球高速移动的方向上,但很快就会减速并停止。
分裂(Split):分裂有助于将一个克隆球均匀地分裂成两个克隆球。此外,一个玩家最多可以拥有16个克隆球。为了更快地移动,玩家可以将克隆球分裂并变成更小的球并获得更高的速度。
🌟环境系统机制
GoBigger 环境是一个有限大小的地图内的博弈过程,支持精确的移动操作,并不是简单的地图网格化,因此智能体需要面临连续状态的挑战。而从整个对局进程来看,可以分为以下三个部分:资源收集、合作和竞争。
资源收集:资源系统可以看作一个导航和推理任务。在 GoBigger 中,食物球和荆棘球可以帮助智能体变大。吃食物球安全但速度慢,吃荆棘球危险但速度快。地图上随机分布着食物球和荆棘球。智能体需要根据自己当前的大小和周围其他智能体的状态来决定吃哪个球,以获得更快的发展。资源的初始状态和再生率都是可配置的。
合作:合作机制主要指代一个团队内部的协作,也是一系列精彩决策行为的来源。因为 GoBigger 对局的最终排名是根据整个团队的规模来定的,对于单个智能体,克隆球的最大数量为16,这导致智能体无法通过自己无限分裂来快速移动,所以团队内部高效且合理的配合是取得胜利的重要条件。同时,智能体的每个克隆球都有 20 秒的冷却时间,每次分裂后重置。当克隆球处于冷却时间时,它不能与属于同一智能体的其他克隆球合并,这就需要团队内部的智能体协作能有更长远的思考和规划。
竞争:竞争机制就是指各个团队之间的对抗。在 GoBigger 中,智能体在每个时间步后都会损失一些大小。当球体非常大时,这一点更为明显。因此,由于地图上的资源随着游戏的进行而减少,智能体需要吃掉其他智能体以保证其大小。具体来说,智能体可以通过移动和分裂来攻击其他智能体以获得它们的大小,或是聚集队伍所有人与其他智能体对抗,并通过复杂的协作操作在竞争中争取优势。
算法 Benchmark
基于上述定义的环境交互仿真机制,GoBigger 也对现有的各类多智能体算法发起了评测和挑战,尝试分析现有算法的不足和未来可能的研究方向。
🌟核心实验
首先,GoBigger 在预定义好的三张地图上,从游戏总得分,吃掉的食物球数量,吃掉的荆棘球数量,吃掉的队友克隆球数量四个维度来评测 QMIX [16] ,VMIX [17] ,MAPPO [18] 和 COMA [19] 四种最先进的多智能体协作算法。这些算法在面临智能体协作规模和复杂度的增长时,展现出了不同的性能和优化特点,值得进一步深究和探索。
图5:多智能体领域的经典算法在 GoBigger 预设的三种地图上的性能 benchmark
图5中,t2p2代表两支队伍,每支队伍2名玩家,从上到下四行分别是 QMIX,VMIX,MAPPO 和 COMA,每列则代表了不同的评价分数指标。
🌟剥离实验(ablation)
除此之外,GoBigger 论文中也探索了队友间信息共享、决策动作频率,天梯评测系统等因素对多智能体协作行为和相关表现的影响,具体的实验结果如下方一系列对比图所示:
图6:是否结合队友间信息共享的对比实验。其中从左到右分别是地图 st_t2p2,st_t3p2 和 st_t4p3。
图7:决策操作频率的对比实验,即每帧执行动作的数量。从左到右分别是地图 st_t2p2,st_t3p2 和 st_t4p3。
图8:在天梯评测系统(即 ELO 机制)中各类算法的表现,包含主流多智能体算法,经典单智能体算法 PPO 和DQN,以及内置的 Rule-Based Bot。
参考文献
[1] Mnih V, Kavukcuoglu K, Silver D, et al. Human-level control through deep reinforcement learning[J]. nature, 2015, 518(7540): 529-533.
[2] Vinyals O, Babuschkin I, Czarnecki W M, et al. Grandmaster level in StarCraft II using multi-agent reinforcement learning[J]. Nature, 2019, 575(7782): 350-354.
[3] Silver D, Huang A, Maddison C J, et al. Mastering the game of Go with deep neural networks and tree search[J]. nature, 2016, 529(7587): 484-489.
[4] https://openai.com/blog/chatgpt/
[5] Tang Z, Naphade M, Liu M Y, et al. Cityflow: A city-scale benchmark for multi-target multi-camera vehicle tracking and re-identification[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019: 8797-8806.
[6] Li Z, Liu J, Huang Z, et al. Adaptive impedance control of human–robot cooperation using reinforcement learning[J]. IEEE Transactions on Industrial Electronics, 2017, 64(10): 8013-8022.
[7] Shalev-Shwartz S, Shammah S, Shashua A. Safe, multi-agent, reinforcement learning for autonomous driving[J]. arXiv preprint arXiv:1610.03295, 2016.
[8] Busoniu L, Babuska R, De Schutter B. A comprehensive survey of multiagent reinforcement learning[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), 2008, 38(2): 156-172.
[9] Deng J, Dong W, Socher R, et al. Imagenet: A large-scale hierarchical image database[C]//2009 IEEE conference on computer vision and pattern recognition. Ieee, 2009: 248-255.
[10] https://gymnasium.farama.org/environments/atari/
[11] https://pettingzoo.farama.org/environments/mpe/
[12] Mordatch I, Abbeel P. Emergence of grounded compositional language in multi-agent populations[C]//Proceedings of the AAAI conference on artificial intelligence. 2018, 32(1).
[13] Samvelyan M, Rashid T, De Witt C S, et al. The starcraft multi-agent challenge[J]. arXiv preprint arXiv:1902.04043, 2019.
[14] Peng B, Rashid T, Schroeder de Witt C, et al. Facmac: Factored multi-agent centralised policy gradients[J]. Advances in Neural Information Processing Systems, 2021, 34: 12208-12221.
[15] https://github.com/opendilab/Gobigger-Explore
[16] Rashid T, Samvelyan M, De Witt C S, et al. Monotonic value function factorisation for deep multi-agent reinforcement learning[J]. The Journal of Machine Learning Research, 2020, 21(1): 7234-7284.
[17] Su J, Adams S, Beling P. Value-decomposition multi-agent actor-critics[C]//Proceedings of the AAAI conference on artificial intelligence. 2021, 35(13): 11352-11360.
[18] Yu C, Velu A, Vinitsky E, et al. The surprising effectiveness of ppo in cooperative, multi-agent games[J]. arXiv preprint arXiv:2103.01955, 2021.
[19] Foerster J, Farquhar G, Afouras T, et al. Counterfactual multi-agent policy gradients[C]//Proceedings of the AAAI conference on artificial intelligence. 2018, 32(1).
微信扫码关注该文公众号作者