转自:中国指挥与控制学会(本文系《指挥与控制学报》刊文精选) 作者:林萌龙陈涛任棒棒张萌萌陈洪辉
摘要
为了应对在未来复杂的战场环境下,由于通信受限等原因导致的集中式决策模式难以实施的情况,提出了一个基于多智能体深度强化学习方法的分布式作战体系任务分配算法,该算法为各作战单元均设计一个独立的策略网络,并采用集中式训练、分布式执行的方法对智能体的策略网络进行训练,结果显示,经过学习训练后的各作战单元具备一定的自主协同能力,即使在没有中心指控节点协调的情况下,依然能够独立地实现作战任务的高效分配。
(资料图片仅供参考)
马赛克战[1]、联合全域指挥控制[2]等新型作战概念所构想的未来作战场景中,传统的多任务平台被分解为了众多的小型作战单元,这些小型作战单元通常具备更高的灵活性,能够根据战场环境的变化快速对自身所承担的任务进行调整,以实现更好的整体作战效果。在未来的新型作战场景中,传统的集中式指挥控制模式存在着指挥链路过长、决策复杂度过高等问题,从而导致决策时效性和决策质量难以满足要求[3]。近年来,边缘指挥控制等新型指控模式应运而生,边缘节点也即各作战实体将具备一定程度的自主决策能力[4]。由于战场环境的复杂多变特性,以及作战实体的小型化、智能化发展趋势,分布式决策的模式将在未来的战场决策中发挥越来越重要的作用。
作战体系是为了完成特定的作战任务由一系列具备各项能力的作战单元动态构建而成,在以往的集中式决策模式下,体系设计人员会根据作战任务的能力需求以及作战单元所具备的各项能力,以最大化作战效能或最小化作战单元的使用成本等为目标,来统一地对各作战任务和作战单元进行匹配。作战体系的“作战任务—作战单元”匹配问题可以建模为一个优化问题,当问题规模较小时可以采用集中式决策的模式运用整数线性规划等运筹学方法快速得到全局最优解[5],而当问题规模较大时可以采用遗传算法等启发式算法[6]或者强化学习算法[7]得到问题的近似最优解。采用集中式决策的一个重要前提条件是中心决策节点和作战单元叶节点之间的通信畅通,因为叶节点需要将自身的状态信息和观测信息发送给中心决策节点,而中心节点需要将决策命令等发送给叶节点。然而在未来的作战场景中,由于敌方的通信干扰等原因,中心节点和叶节点之间的通信链接很难保证连续畅通,同时频繁的信息交互会造一定的通信负载和通信延迟,因此在未来很多的任务场景中需要作战单元根据自身的状态信息和观测到的信息独立地进行决策。
强化学习是一种利用智能体与环境的交互信息不断地对智能体的决策策略进行改进的方法,随着深度强化学习技术的快速发展,强化学习算法在无人机路径规划[8]、无线传感器方案调度[9]等领域都取得了非常成功的应用,同时近年来多智能体强化学习算法在StarCraftⅡ[10]等环境中也取得了很好的效果。在作战体系任务分配的场景中,可以将各作战单元视为多个决策智能体,那么“作战任务—作战单元”的匹配任务就可以视为一个多智能体强化学习任务。而当前尚未有将多智能体强化学习方法应用到类似作战体系的任务分配环境中的先例。本文的主要工作如下:
1) 建立一个通信受限情况下的作战体系“作战任务—作战单元”匹配的任务场景。
2) 提出了一个基于多智能体强化学习技术的作战体系任务分配算法。
3) 通过实验验证了采用上述算法训练的各智能体可以在通信受限的场景下实现一定程度的自主协同,在没有中心决策节点的情况下依然能够实现作战体系任务的有效分配。
1背景
1.1集中式决策VS分布式决策
集中式决策模式下存在一个中心决策节点来负责全局的任务决策,如图1所示,各作战单元通过通信链接将自身的状态信息和观测信息发送给中心决策节点,中心决策节点进行全局的决策后将决策命令发送给各作战单元去执行。与集中式决策不同,分布式决策模式下将不存在一个中心决策节点来协调各实体间的行动,而是由各实体根据自身所拥有的信息,独立地进行决策。采用分布式决策一般是为了应对两种情形,一种是采用集中式决策需要考虑的要素过多,决策复杂度过大难以进行有效的决策,另一种是由于决策节点与叶节点之间的通信受限或通信成本过高难以进行有效的通信,导致各叶节点需要独立地进行决策。
集中式决策具有分析简单、可靠性高等优点,然而并不是所有的决策问题都适合采用集中式决策,例如在有些任务场景中不具备进行集中式决策的通信条件或者通信成本过高。在分布式系统中,如果不存在中心节点进行全局协调,那么该分布式系统就被称为是自适应系统[11],自适应系统是各个子模块根据有限的自身感知和一些预定的规则,独立地进行思考、决策并采取相应的动作,共同完成分布式系统的任务。典型的狼群系统、蚁群系统都属于自适应系统,传统的自适应系统大多采用基于规则的方法进行研究,但是这些规则的制定往往需要领域专家进行深度参与,并且是一个不断试错的过程。
图1集中式决策示意图
Fig. 1 Centralized decision diagram
强化学习作为一种端到端(End-to-end)的学习训练方法不需要领域专家的过多参与而是通过智能体与环境的动态交互来不断改进自身的决策策略。采用强化学习方法来解决分布式决策问题已经在多个领域得到了成功应用,在定向传感器最大目标覆盖问题(Maximum Target Coverage)中,Jing Xu等将该问题抽象为一个两层决策问题,其中上层决策为各传感器分配检测目标,下层决策为各传感器调整角度,之后每层决策问题均使用单智能体强化学习算法来进行求解,实验结果表明该方法能有效解决定向传感器最大目标覆盖问题[12];Sykora基于图神经网络和注意力机制提出了一个用来解决多车辆路径规划问题(MultiVehicle Routing Problem, MVRP)的深度神经网络模型,并采用强化学习方法对模型进行训练,该模型包含一个价值迭代模块和通信模块,各车辆根据自身观测信息和通信信息独立进行决策,结果显示该模型可以有效解决MVRP问题[13]。
1.2多智能体强化学习
强化学习技术已经在多个领域得到了成功应用,并取得了非常显著的效果,包括Atari游戏[14]、围棋[15]等,然而上述场景多针对的是单个智能体在静态环境中的应用,而现实中的很多场景都是多个智能体在动态环境中的应用,涉及到智能体间的复杂交互。与单个智能体强化学习任务相比,多智能体强化学习任务需要同时对多个智能体的策略进行优化,优化难度显著增强,总结来看,多智能体强化学习任务主要在以下几个方面与单智能体强化学习任务存在显著区别:
1)观测范围的变化。在单智能体强化学习所解决的马尔可夫决策过程(Markov decision problem,MDP)中,通常假定的是环境是完全可观测的,智能体直接从环境那里获得全局的状态信息;而多智能体强化学习任务通常被建模为部分可观测马尔可夫决策过程(partially observable Markov decision problem,POMDP),智能体不再拥有全局视野而是根据一个观测函数从全局状态中得到自身的观测数据。部分可观测的假定与现实世界中的场景更加契合,但同时也增加了模型训练的难度。
2)环境的不稳定特性(Non-Stationarity)。多智能体强化学习的一个重要特点就是各智能体通常是同时进行学习的,导致每个智能体所面临的环境是非静止的,因此导致了环境的不稳定特性。具体地说就是一个智能体所采取的行动会影响其他智能体所能获得的奖励以及状态的变化。因此,智能体在进行学习时需要考虑其他智能体的行为。环境的不稳定特性违背了单智能体强化学习算法中环境状态的马尔科夫特性,即个体的奖励和当前状态只取决于之前的状态和所采取的行动,这也就使得在多智能体强化学习任务中使用传统的单智能体强化学习算法可能会存在算法难以收敛等问题。
多智能体强化学习的相关研究已经成为了机器学习领域的一个研究热点,其中,独立Q学习算法(Independent Q-Learning, IQL)[16]是最早应用于多智能体强化学习任务的算法之一,IQL算法为每一个智能体都设置一个Q价值函数,并进行独立的训练,由于将其他的智能体视为环境中的一部分,而其他智能体又是在不断学习进化的,导致了环境的不稳定性,因此当智能体的数量超过两个时IQL算法的性能表现通常较差。
近来有很多研究采用集中式训练和分散式执行的模式来解决多智能体强化学习任务,有很多研究采用Actor-Critic算法来训练模型,其中Critic网络在训练阶段可以利用全局的状态信息来辅助Actor网络的训练,而在模型执行阶段,智能体的Actor网络再根据自身的观测信息独立地做出动作选择。例如Lowe提出的多智能体深度深度确定性策略算法(multi-agent deep deterministic policy gradient, MADDPG)算法[17]为每一个智能体都提供一个集中式的Critic网络,这个Critic网络可以获得所有智能体的状态和动作信息,然后采用深度确定性策略算法(deep deterministic policy gradient, DDPG)训练智能体的策略网络。Foerster提出的基准多智能体算法(counterfactual multi-agent, COMA)[18]也采用一个集中式的Critic网络,此外还设计了一个基准优势函数(counterfactual advantage function)来评估各智能体对总体目标的贡献程度,以此解决多智能体任务的信用分配(credit assignment)问题。Sunehag提出的价值分解网络算法(value-decomposition networks, VDN)[19]将集中式的状态-动作价值函数分解为各智能体的价值函数之和,然而该方法是假定多智能体系统的总体价值函数可以用各智能体的价值函数之和来进行表示,然而在大多数的任务场景中该约束条件并不能得到满足,因此限制了该方法的适用范围。针对VDN模型所存在的问题,Rashid提出的Q-Mix算法[20]在此基础上进行了改进,去除了集中式critic网络的价值函数相加性要求,而只是对各智能体的状态-动作价值函数施加了单调性约束。
2问题描述
作战体系是为了完成特定的使命任务而动态建立的。通常,作战体系的使命任务可以分解为一系列的子任务,而每项子任务的实现又都需要一系列能力的支持,同时不同类型的任务对能力的需求也不同,例如对敌方目标的打击任务所需要的火力打击能力的支持较多,而对敌方目标的侦察任务所需要的侦察能力支持较多。在通常情况下,体系设计人员会根据己方的任务能力需求,以及自身所拥有的作战单元所能提供的能力值来为各作战任务分配合适的作战资源,这是一种集中式的决策方法。集中式决策的方法的优点是可以获取全局信息,能根据已有的信息对整体做出合理的决策,集中式决策的方法通常能得出全局最优解。然而随着马赛克战等新型作战概念的应用,未来的战场环境下,由于敌方的通信干扰等因素,以及决策时效性的要求等原因,传统的集中式决策的方式可能难以实现,因此需要根据各作战单元根据战场环境和自身状态信息独立地进行决策。由集中式决策向分布式决策方式的转变也更加符合边缘作战等新型作战场景的构想,边缘节点将具备更高的自主决策权,可以更加独立地根据战场环境的状态调整自身的动作。
2.1场景描述
在一个通信受限的联合作战场景中,如图2所示,几个作战单元分别位于战场空间中的不同位置,每个作战单元都具备一定的能力,由于通信受限,作战单元不能与中心决策节点进行有效通信,而各实体间只能进行有限的通信或者不能通信,因此在进行决策时每个作战单元都只能根据自身所能获取到的信息独立地进行决策。这种分布式的决策方式可能会带来一系列的问题,例如由于没有中心决策节点来协调任务分配,各实体在进行独立决策时可能会出现多个作战单元都选择去完成同一个任务,从而造成某些任务没有作战单元来完成的现象。因此我们希望能够利用多智能体强化学习技术,来为每一个作战单元都训练出来一个能够进行独立的分布式决策的策略网络,并且根据这些策略网络得到的智能体策略能够实现一定程度上的自协同。
图2分布式决策场景下的体系任务分配
Fig. 2 SoS task assignment in decentralized decision
2.2 状态空间、动作空间与奖励函数设计
上述场景中的作战单元的决策过程可以被建模为一个部分可观测的马尔可夫决策过程。场景中的每一个作战单元都可以被视为一个决策智能体,智能体的状态空间也即观测空间包含自身的位置信息和能力值信息、其他智能体的位置信息,以及任务节点的位置信息和能力需求信息。智能体的动作是选择哪一个任务节点作为自己的目标节点,因此智能体的动作空间是离散的。
在利用强化学习解决此类优化问题时,优化目标函数的取值通常就可以作为强化学习中智能体的奖励值,因此确定优化问题目标函数的过程也就是确定强化学习奖励函数的过程。在上述作战体系的任务分配场景中,体系任务分配的目标是体系中所有的任务节点都被分配了合适的作战单元来完成,因此该场景是一个合作型的多智能体强化学习任务,各智能体共享一个相同的奖励值,相关奖励函数的设计可以根据任务节点的覆盖程度以及任务的完成效果来进行设计:
1)如果有任意一个任务节点没有被分配作战单元来完成,那么奖励值-5,任务节点的覆盖程度越低,则智能体所获得的奖励值越低。
2)任务完成的效果可以根据作战单元与任务节点的距离以及作战单元的能力取值与任务实体的能力需求的匹配程度来确定。作战单元与任务节点的距离越小,任务完成的时效性越高,智能体获得的奖励值相应也越高,同时任务节点的能力需求与作战单元所能提供的能力值匹配度越高,则任务完成的效果越好,相应地智能体所能获得的奖励值越多。
智能体所包含的信息可以用一个元组进行表示其中表示智能体当前所处的位置坐标,则表示智能体在能力上的取值,n为能力类型的数量。同时任务节点包含的信息也可以用一个元组来表示,表示任务节点的位置坐标,表示任务节点对能力1的需求。那么智能体i与任务节点j之间的距离可以根据两者的坐标计算得到,如式所示,智能体与任务节点j的能力匹配值也可以根据式计算得到,其中表示能力匹配系数。对于任意一项能力来说,智能体i所能提供的能力值与任务节点j的能力需求值之间的比值越大说明采用智能体来完成任务在该项能力上取得的效果越好,将各项能力的效果进行累加,可以得到完成该任务的整体效果评估结果,累加得到的取值越大,则该项任务的整体完成效果越好;同时我们考虑如果智能体所提供的所有能力值都大于该任务节点的需求值那么表示该任务节点的所有需求都得到了较好的满足,则我们将上述累加得到的匹配值乘以一个系数,而如果有一项智能体所提供的能力值小于任务节点的需求值,则认为任务节点的需求没有得到很好的满足,因此我们将上述累加得到的匹配值乘以一个系数,如式3所示。
在上述作战体系任务分配场景中,所有的智能体共享同一个奖励值,各智能体的决策目标就是使得该奖励值最大化。
3基于MADDPG算法的作战体系任务分配模型
依据生成数据的策略和进行评估的策略是否相同,强化学习算法可以分为在线(on-policy)算法和离线(off-policy)算法,on-policy算法例如优势动作评论算法(Advantage Actor Critic, A2C)、置信域策略优化算法(Trust Region Policy Optimization, TRPO)中用于生成数据的策略和进行评估的策略是相同的,每个批次用于评估的数据都是由当前最新的策略网络新生成的并且数据用完就丢弃,而off-policy算法例如DDPG算法、软演员-评论家算法(Soft Actor-Critic, SAC)算法则是将智能体每次与环境的交互数据存放在一个名为经验回放池(replay buffer)的结构中,模型每次进行训练时就从数据经验回放池中取出一定数量的训练样本进行参数更新。由于采用经验回放机制在每次训练时是随机抽取不同训练周期的数据,因此可以消除样本之间关联性的影响,同时在强化学习任务中,训练交互数据通常是比较宝贵的,如果每条数据只能被利用一次则是对训练数据的严重浪费,采用经验回放机制还能够提高样本的利用效率,加快模型的训练速度,尤其是在多智能体的强化学习训练任务中,各智能体与环境的交互数据更显宝贵,因此在多智能体强化学习中多采用off-policy算法进行模型训练,例如著名的MADDPG算法及其诸多变种都属于多智能体领域的off-policy强化学习算法。
但是经典的MADDPG算法并不能直接应用到体系的“作战任务—作战单元”匹配任务中来,主要是两个原因,一个是MADDPG算法是专门为连续动作空间任务所设计的,而体系的任务分配场景中各智能体都是离散型的动作空间,因此需要对算法进行一定的修改使得修改后的算法可以应用于离散型动作空间的问题;另一个原因是当前MADDPG算法所解决的问题都是多步决策问题,也即每个智能体最后输出的是一个动作序列,这样在进行网络参数训练时智能体就可以利用数据组进行梯度计算,而我们的体系“作战任务—作战单元”匹配任务是属于单步决策问题每个智能体最终输出的动作只有一个而非一个序列,智能体所生成的训练数据组为缺少了智能体的下一步状态,因此需要对智能体的策略网络和价值网络的损失函数计算方法进行一定的修改,使得该方法可以应用到单步决策问题中来。
MADDPG算法是用来解决连续动作空间的强化学习任务的,当智能体的动作空间是离散时,通常采用的是利用argmax函数来将值最大的节点作为具体的策略节点输出,但是由于argmax函数不满足多元函数连续且具有偏导数的条件,因此argmax函数是不可导的,这样神经网络就无法计算梯度并采用反向传播的机制进行参数学习,此外argmax函数的输出不具备随机性,函数的输出每次都是将最大值的节点输出,忽略了该数据作为概率的属性。采用Gumbel-softmax方法可以根据输入向量生成一组离散的概率分布向量[21],以此来解决上述问题。
采用Gumbel-softmax方法生成离散的概率分布向量的算法流程如下所示。
3.1基于MADDPG任务分配算法框架
图3基于MADDPG的体系任务分配算法框架
Fig. 3 SoS task assignment algorithm based on MADDP
图4集中式训练的模型框架
Fig. 4 Centralized training model framework
图5分布式执行的模型框架
Fig. 5 Decentralized execution model framework
3.2 Actor网络结构
智能体的策略网络结构如图6所示,智能体的策略网络的输入是该智能体的观测信息,包含智能体自身的位置信息、状态信息、其他智能体相对于智能体的位置距离以及任务节点的位置信息和能力需求信息,输入信息经过多层神经网络处理后输出一个维度为任务节点个数的向量,之后经过Gumbel-softmax方法处理后得到各任务节点的选择概率,最后选择概率最大的节点作为智能体在观测信息为时的动作选择结果。
图6Actor网络结构
Fig. 6 Actor network structure
3.3Critic网络结构
智能体的价值网络结构如图7所示,智能体的价值网络的输入包含所有智能体的观测信息o=(o1,o2,...on)和动作选择信息a=(a1,a2,....an),同样的,策略网络的输入信息经过多层神经网络处理后输出一个维度为1的向量,该向量的取值就是个各智能体在观测信息为o且动作选择结果为a时的奖励估计值。
图7Critic网络结构
Fig. 7 Critic network structure
基于MADDPG的体系任务分配算法如算法1所示。当模型训练完成后,各智能体就可以独立地根据自身的观测信息对体系任务进行高效的分配。
4实验
4.1对比算法设置
为了验证集中式训练模式下的多智能体强化学习算法在分布式决策环境下,面对体系“作战任务—作战单元”匹配任务时的有效性,我们选择分布式训练的多智能体强化学习算法作为对比算法。集中式训练的多智能体强化学习算法与分布式训练的智能体强化学习算法最大的不同就是,集中式训练的多智能体强化学习算法是采用集中式训练分布式执行的模式,智能体的价值网络在训练阶段可以获取全局状态信息来辅助智能体策略网络的训练;而分布式训练的多智能体强化学习算法则是采用分布式训练分布式执行的模式,各智能体都将其他智能体视为环境的一部分,无论是在模型训练阶段还是模型执行阶段都是独立的根据自身的观测信息进行独立决策。
4.2实验环境
本文设计了一个通信受限条件下的体系“任务—作战单元”匹配的任务场景,在该任务场景中,我们设计体系中拥有相同数量的作战单元节点和作战任务节点,各作战单元和作战任务节点分别位于场景中一个随机生成的位置上,该位置的坐标在范围内随机生成,此外每个作战单元都拥有三种类型能力,各能力的取值采用均匀分布的形式在一定的数据范围内随机生成,同样的每个任务目标也有一定的能力需求对应于作战单元所能提供的三种能力,任务目标的能力需求也采用均匀分布的形式在一定的数据范围内随机生成。由于敌方通信干扰等因素的影响,各作战单元间不能进行通信,同时场景中也不存在一个中心决策节点来协调各作战单元的决策,因此各作战单元需要根据自身的状态信息和观测信息独立地进行决策,决策内容是选择哪一个任务目标作为自己的目标节点。由于我们所设计的体系任务分配场景属于是合作型的任务,各作战单元希望通过合作达到体系总体决策效果最优,因此我们将各作战单元的任务分配整体效果作为各智能体的奖励值。
所有算法都采用Python进行实现,并在同一台配置了Geforce RTX3090显卡、Intel16-Core i9-11900K CPU的计算机上运行。基于集中式训练模式下的多智能体强化学习算法的体系任务分配模型网络主要超参数如表1所示,为了保证一致,对比算法采用相同的网络参数。
4.3 实验结果分析
集中式训练的多智能体强化学习算法和分布式训练的多智能体强化学习算法在解决体系的“任务—作战单元”匹配任务时的模型训练曲线如图8和图9所示,横坐标表示训练的回合数,纵坐标表示智能体得到的平均奖励值。可以看到,随着训练进程的推进,采用集中式训练的多智能体强化学习算法进行训练的智能体所得到的奖励值不断增大,最终稳定在0.6左右的水平,曲线收敛。在模型训练刚开始的时候,智能体所得到的奖励值是小于0的,也就是智能体还没有学会与其他智能体进行任务协同分配,导致体系的任务分配出现有的任务被多个智能体选择而有的任务没有被选择的现象,而随着训练进程的推进,由于环境反馈作用的影响,智能体逐渐学会了与其他智能体进行任务协同分配,即使在没有中心决策节点进行协调的情况下,各智能体依然能够根据自身的状态信息和观测到的信息采用分布式决策的方式独立地做出使得体系的效能最大的任务分配方案。相对应地,采用分布式训练的多智能体强化学习算法得到的奖励值始终为负数,表示智能体没有学会上述任务协同分配策略,随着训练进程的推进,各智能体没有学会如何与其他智能体合作任务分配,主要原因是分布式训练模式下的多智能体强化学习算法中智能体是将其他智能体视为环境的一部分,由于智能体的决策策略是在不断改进变化的从而导致了环境的不稳定性,而采用集中式训练分布式执行模式的多智能体强化学习算法在一定程度上缓解了环境不稳定性所带来的影响。从上述实验结果来看,采用集中式训练分布式执行模式的多智能体强化学习算法来训练智能体在通信受限的场景下进行分布式决策是有效的。
图8集中式训练的多智能体强化学习算法训练的智能体平均奖励曲线
Fig. 8 Meanreward curve of agent trained by centralized training multi-agent reinforcement learning algorithm
图9分布式训练的多智能体强化学习算法训练的智能体平均奖励曲线
Fig. 9 Meanreward curve of agent trained by decentralized training multi-agent reinforcement learning algorithm
5结论
随着军事装备的快速发展,以及战场环境的复杂多变,传统的集中式决策模式越来越难以适应未来战争的需求,边缘作战单元根据自身的状态信息和观测信息独立地进行决策将更加常见。
本文设计了一个在通信受限的场景下,作战体系的“任务—作战单元”匹配地体系设计任务,并基于多智能体强化学习技术,提出了一个基于MADDPG算法的体系任务分配模型,该模型针对体系设计场景中的离散动作空间以及单步决策等问题进行了相应改进,并采用集中式训练和分布式执行的模式,在模型训练阶段各智能体的价值网络将能够获取全局状态信息来辅助策略网络的训练,而在模型运行阶段各智能体只需要根据自身的观测信息就能快速独立地进行决策。实验结果显示,与分布式训练的多智能体强化学习算法相比,采用集中式训练的多智能体强化学习算法训练出来的各智能体在进行分布式决策时具备更高的协同能力,所做出的体系任务分配方案效率更高。
审核编辑:汤梓红