一、多智能体决策大模型面临的挑战
现实世界中的大量实际问题可以建模为包含了多个主体的协同控制和优化问题。合作式多智能体系统由多个参与主体,合作地优化某个(或多个)相同的目标函数,如:游戏AI中的多“英雄”协作、多用户-多商品推荐、多车辆运输投递优化、智能仓储多车辆调度、云计算多资源调度、多车辆协作调度等。
多智能体问题与单智能体强化学习问题的主要区别在于智能体数量由单个增加至n个,单个智能体的动作空间变为笛卡尔积下的指数型联合动作空间,动作作用于环境,由环境反馈的状态变为包含n个智能体信息的状态集合,为指数次方的状态空间。通常,该类系统使用MMDP或Dec-POMDP方式进行形式化描述。MMDP方法将单智能体的马尔可夫过程扩展至多智能体,核心区别在于动作空间与状态空间的指数拓展,并假设系统内的每个智能体均可以观察到系统全局的状态。Dec-POMDP方法则使用观测函数对系统内的每个智能体在有限视野范围内观测到的信息进行建模。合作系统的目标在于优化所有智能体的联合策略以最大化系统全局的累积回报。
求解合作式多智能体系统的最优控制策略通常面临以下三个方面的难点:①由状态观测空间和联合动作空间随实体数量指数增长带来的维度灾难;②由维度灾难导致现有的强化学习算法学习样本效率低;③在多个任务之间模型通用性与泛化性较差。
多智能体强化学习大模型的根本目的在于设计一个模型,使其具有比较好的泛化性,一个模型可以解决多个类似问题,包括相同游戏不同场景与不同游戏不同场景。
大模型已在自然语言处理、计算机视觉等领域已取得突破性成果,最新研究显示强化学习同样具有BBF(Bigger, Better, Faster)的结论,当模型更大时,模型将具有更好的性能与更快的学习速度。在强化学习经典的Atari-100k测试环境中,model-based的EfficientZero方法被公认为具有较高的sample efficiency,而BBF的研究表明model-free的DQN算法通过增大模型的规模可以取得与EfficientZero相同的样本效率并能够显著降低训练的开支。随着网络参数规模的增大,通过合理的机制设计可以使算法性能逐渐提升。
多智能体强化学习大模型目前主要面临四类挑战:①不同场景的智能体数量、种类不同;②实体的特征、观测、状态不同,导致模型网络输入维度、含义等不同;③动作空间不同,导致策略网络输出维度、含义不同;④奖励函数不同,导致价值函数网络输出尺度不同。
针对以上挑战,需要对多智能体系统构建一套完备描述的方法,使得在该描述基础上设计通用的决策模型成为可能。类比语言模型,可对多智能体系统内部进行统一描述。大语言模型的底座由词表构成,词表构成句子,并形成对客观世界的底层描述。使用tokenizer将词转化为可学习的词向量,并对齐含义与维度,将词向量传递至神经网络中并针对具体任务进行训练。对应的,多智能体系统中通过全局的属性表与动作表(动作语义)形成对系统中实体的完备描述(实体表),通过tokenizer的方式将属性转化为属性向量与实体向量,将实体向量传递至后续策略网络等神经网络模型中,输出控制策略。
二、动作语义网络
动作语义网络研究工作的核心思想是根据前面定义的语言描述,将系统整体的动作空间按照不同的动作语义进行划分。如星际争霸中,动作可以划分为与自身状态相关的移动动作与涉及两个智能体交互的攻击动作。在完成动作语义划分后,根据不同的动作类型进行不同的后续处理,移动动作仅与智能体自身状态相关,攻击动作使用pairwise的方式表征两个智能体之间的交互关系。
该先验知识的引入使得在星际争霸、Neural MMO等场景中模型性能有较大提升。该方案也落地到网易《逆水寒》游戏中,显著提升游戏AI的性能。
三、置换不变性与置换同变性
利用多智能体之间的置换不变性与置换同变性对系统内部天然存在的信息冗余进行压缩,以缩小系统的学习空间,并间接处理网络输入维度不同的问题。
在含有m个实体(包含n个智能体和m-n个非玩家物体)的系统中,状态、观测空间随实体数量指数增长。系统的状态刻画的是实体集合的客观信息,不随输入顺序的变化而变化。在包含同质智能体的系统中,实体信息在排列上存在冗余,因此可利用同质智能体间天然存在的对称性,在模型搭建过程中忽略输入顺序的影响可极大程度约减原有呈指数增长的状态空间。
同时,系统内部具有不同类型的动作,包括仅与自身状态相关的动作和存在实体之间交互的动作。在考虑排除输入顺序影响的时候,由于实体间交互动作与对应实体的状态存在一一对应的关系,输入顺序的变化将导致输出含义的对应改变,这对应了函数的置换同变性。另一种仅与自身状态相关的动作类型,改变输入顺序后输出仍然应保持不变,对应了函数的置换不变性。
通过设计兼具置换同变性与置换不变性的策略网络结构,利用先验知识对系统状态空间进行压缩,从而能够极大程度提升后期策略学习的效率与效果。
决策网络的输入是由多个实体构成的观测,经过典型的inputlayer、backbonelayer(任意网络结构)和outputlayer,输出控制策略。我们期望输出中,仅与自身状态相关的动作不受输入顺序的影响(具备置换不变性),与输入实体有一一对应关系的动作与输入顺序的改变发生相同的变化(具备置换同变性)。为了设计更通用的模型架构,我们重点遵循“最小改动原理”,在尽量少地去改变已有网络结构的条件下达到期望性质,最终我们仅改动inputlayerA使其具备置换不变性,并将输入顺序信息告知并修改outputlayerD使其具备置换同变性。
传统不具备置换不变性的MLP网络输入可以视作每个实体信息乘上独立、对应的子模块参数并对输出进行加和。我们首先提出DynamicPermutationNetwork(DPN),通过增加一个分类选择函数,实现为每个输入实体信息一一绑定确定的子模块参数,进而实现输入层的置换不变性。输出层要求与输入具有一一对应关系,构造类似的分类网络,为每一个实体的输出特征选择确定性的矩阵,使输出的顺序随输入顺序的变化发生协同的变化,从而实现置换同变性。
基于相同的思想,我们进一步提出HyperPolicy Network (HPN),利用“超网络”(用一个网络为另一个网络生成权重参数)自动化地为每个实体生成相应的参数矩阵。以每个实体的特征作为超网络的输入,超网络输出每个实体对应的参数,此结构下实体特征与参数矩阵天然具有一一对应关系,求和后的输出具备置换不变性。输出层利用超网络结构为每一个输入实体特征一一绑定地生成对应参数,使输出与输入实体存在一一对应关系,具备置换同变性。
在典型的星际争霸测试环境中,将HPN的网络结构集成到QMIX算法,在所有困难场景均取得100%胜率。
由于设计遵循最小改动原理,该网络结构可非常容易地集成至不同算法(如QPLEX、MAPPO)中,并使算法性能得到较大提升。
此外,在星际争霸V2、MPE、谷歌足球等更复杂、随机性更强的环境中,该模型架构同样能够取得明显的性能优势。
同时,由于该网络结构能自动适应由不同实体带来的输入维度不同与输出维度不同的问题,因此具有较好的可泛化性与可迁移性,能够实现不同数量不同规模任务中控制策略的高效复用。
四、跨任务自动化课程学习
在跨任务的课程学习过程中,系统中存在多个待学习的任务,包括难度较大的目标任务、较简单的起始任务与其他候选的任务集合,课程学习算法每一步需要从候选任务集合中选出最合适的任务从而最终输出一条“最优学习序列(路径)”。解决该问题需要回答两个核心问题:
①选哪个课程作为下一个学习目标合适?
②前面学到的知识在新的课程中如何复用?
我们提出基于难度和任务相似度选择课程。把当前策略在备选任务集合的所有任务上进行评估,得到相应的奖励值。根据奖励值排序,选择处在中间40%的任务,下一课程在这些任务中产生。同时基于任务相似度,在难度适中的候选任务中选择与目标任务最接近的任务作为最终选定的课程。为了评估与目标任务的相似度,基于当前策略在目标任务和候选任务中进行rollout获得状态访问分布,利用混合高斯模型对该分布进行建模,利用分布相似性衡量任务相似性。
基于HPN网络结构实现策略迁移和复用。采用前述具有置换不变性和置换同变性,同时支持变长输入和输出的HPN网络结构实现策略的迁移和复用。自动化课程学习的整体框架为,利用难度和相似度选定下一个学习任务,该任务学习过程中利用HPN的结构重载上一个任务学得的策略,依次循环,最终在目标任务上取得更好的性能。
我们在星际争霸场景中进行算法验证,根据种族类型,将星际争霸中的游戏场景分成不同的任务集合(Marines,Stalkers & Zealots,以及Medivac & Marauders & Marines),每个任务集合均给定起始任务与难度极大的最终任务。对比经典迁移学习算法,不同算法在任务选择序列上具有较大差异,我们算法能够基于任务难度和对最终任务的帮助程度选择出更适合的任务序列,在最终的任务中能够取得非常大的性能提升。
五、pymarl3:代码开源
最后,我们将系列工作的源代码开源,将MARL社区常用的pymarl2代码库升级为pymarl3,其特性如下:
(1)增加对SMAC-V2的支持,同时支持SMAC-V1和SMAC-V2,已集成在内,无需独立安装各个环境。
(2)升级pymarl2中的算法,使其具备置换不变性和置换同变性,设计的网络结构可非常容易地集成到任意MARL算法中,并提升其性能。
(3)增强版算法,在SMAC-V1和SMAC-V2上均取得SOTA的性能。
本次分享概述多智能体决策大模型面临的挑战与类比语言模型对多智能体系统进行描述和建模的方案;提出3条重要设计先验:动作语义网络、置换不变性与置换同变性、跨任务自动化课程学习。欢迎大家一起合作,进一步研究强化学习大模型!