基于通用经验博弈强化学习的多机空战决策方法
未命名
07-27
阅读:58
评论:0

1.本发明属于博弈论与多智能体强化学习交叉领域,涉及一种通用经验博弈强化学习的多机空战决策方法。
背景技术:
2.目前空战决策领域的研究大多在模型确定和完全观测的过于理想化背景下考虑问题,而在实际作战环境中敌机的状态信息很难完整获取,如果直接忽略信息的非完整性,决策效果将大打折扣,同时也使得研究成果难以落地。现代空中格斗已经逐渐发展至集群甚至蜂群作战,多机作战可以达到“1+1》2”的效果,有必要将以往的单机格斗决策研究经验进一步推广到多机格斗的场景上。
3.自主决策是根据当前空战态势信息,给出战机当前应该采取的机动动作,这对决策实时性提出很高的要求。本发明采取的深度强化学习方法能够很好地解决空战博弈这样的序列决策问题,深度神经网络的引入能够准确感知态势信息,结合强化学习算法,引入博弈论框架解决空战环境中的强对抗性,最终能够获取由态势到机动的最优映射关系。
技术实现要素:
4.要解决的技术问题
5.为了避免现有技术的不足之处,本发明提出一种基于通用经验博弈强化学习的多机空战决策方法,针对现有多智能体方法在求解多机空战时,由于多机之间的利益冲突,会使得难以训练得到较好的智能体,在通常使用的强化学习算法求解空战策略的基础上,这里进一步加入经验博弈框架,使得智能体的能力能稳步提升,在多机空战中获取更好的协同性和更优的空战策略。
6.技术方案
7.一种基于通用经验博弈强化学习的多机空战决策方法,其特征在于步骤如下:
8.步骤1:仿真平台的战机为三维空间下的动力学模型,每个战机的控制输入为滚转角和两个控制输入n
x
,nz,且进行编码;n
x
表示切向过载,nz表示法向过载;机动动作包含定常、减速、加速、左转弯、右转弯、拉起与俯冲七种;
9.所述仿真平台的状态更新方程:
10.s
t+1
=f(s
t
,u
m1
,u
m2
,
…
,u
mi
,
…
,u
mn
,t)
11.f表示建立微分方程组构成的状态更新函数,u
mi
表示第i架战机采取的基本机动动作,t表示仿真时间步长;
12.步骤2:每个战机的智能体包含动作神经网络和评价神经网络,神经网络结构为lstm神经网络连接全连接神经网络;
13.空战态势即观测量的序列为lstm神经网络的输入,提取全局状态信息作为输出;
14.该输出为全连接神经网络的输入,在动作网络中全连接神经网络的输出层加入softmax函数将输出值归一化为概率形式,输出为步骤一中的7种机动动作,评价网络输出
为值函数的值;
15.所述全连接神经网络采用relu激活函数;
16.步骤3:每架战机具有一个策略集合,每个策略集合中设有多组动作神经网络和评价神经网络;每组神经网络的输入为空战态势序列;
17.在每架战机的策略集合中添加一组随机参数的动作和评价神经网络,对k架战机的策略集合初始化;
18.步骤4:对于k架战机的策略集合,支付矩阵维度随迭代次数变化为:
19.n
i1
×ni2
×…×nik
→n(i+1)1
×n(i+1)2
×
...
×n(i+1)k
,n
(i+1)j
=n
ij
+1
20.其中:n
ij
表示第i轮迭代中第j个战机所拥有的策略,由于在一轮智能体优化中每个战机都会产生一个新的最优智能体,所以有n
(i+1)j
=n
ij
+1;
21.在每架战机的策略集合中添加一个新策略的情况下,其中支付矩阵缺失项为:
[0022][0023]snwk
表示在第w轮迭代,第k个战机所产生的新策略;
[0024]
通过下式进行空战仿真得到支付矩阵缺失项的值;
[0025]
simk(s1,s2,...,sk,...sk)
[0026]
=∑
j∈{1,2,,k},j≠k
eval_otok(sk,sj)
[0027]
元博弈中策略sk就是智能体决策模型,eval_otok(sk,sj)是把智能体sk看做己方且sj看作敌方的空战一对一态势评估;
[0028]
空战态势评估上选择空战态势:以及输赢判定奖励:的加权和作为智能体的空战能力评估:
[0029]
re=ω1×
ra+ω2×rw
,ω1+ω2=1;
[0030]
步骤5:在当前支付矩阵下使用α-rank算法得到近似纳什均衡,即每架战机从其策略集合中选出一组动作和评价神经网络,所选出的多组神经网络形成策略组合;
[0031]
步骤6:在步骤5中得到的策略组合下,除第k架战机外,其他k-1架战机采用其相应选出的动作网络作为决策机构控制自身机动,采用ppo算法作为基础的强化学习算法优化当前第k架战机的新策略,产生新的动作和评价网络添加到第k架战机的策略集合中;依次对每架战机优化,同时将产生的新智能体添加到相应的策略集合中,返回步骤4,直到满足设定的训练迭代次数;
[0032]
步骤7:选取最新各博弈方智能体作为决策者,提取其智能体动作神经网络作为决策网络,观测量的空战态势状态向量为lstm神经网络的输入,经过lstm神经网络和全局神经网络输出机动动作,完成一步决策。
[0033]
所述切向过载n
x
变化的范围为[-2,2],法向过载nz变化的范围为[-5,5],滚转角
变化的范围为[-π/3,π/3]。
[0034]
所述三维地面坐标系中的战机动力学模型:
[0035][0036][0037][0038][0039][0040][0041]
每个微分方程左边分别是战机飞行速率、偏航角、俯仰角、三维位置的一阶导数。
[0042]
有益效果
[0043]
本发明提出的一种基于通用经验博弈强化学习的多机空战决策方法,首先建立战机在三维空间下的动力学模型,进而设计平台状态转移模块,选取战机的状态空间向量,设计空战训练平台,后续智能体训练和决策算法验证都将会在此平台进行。设计智能体结构,智能体包含动作和评价神经网络,为适应部分观测环境,设计神经网络为lstm神经网络与全连接神经网络。计算支付矩阵,每架战机的策略空间中初始化了一个策略,策略设置为动作和评价神经网络,参数为随机。元博弈支付矩阵需要利用战机策略空间中的智能体完善支付矩阵,在每一轮迭代中有策略新增时填充支付矩阵中缺失的项。在形成第k架战机新的最优策略时,需要在其他战机固定的策略下进行,由于本发明中元博弈的策略为智能体。所以需要基于其他战机所固定的智能体下,第k架战机产生一个新的最优智能体添加到策略集合,为了保证当前得到的新的最优智能体是最优响应br,则需要求解在当前支付矩阵下的纳什均衡,在纳什均衡下的策略组合下,优化当前第k架战机的新策略。进入新智能体拓展阶段。在上一阶段中已经求解出了纳什均衡,在每个战机求解最优新策略时,需要在其他战机固定在纳什均衡策略组合的基础上进一步产生新智能体,而在其他智能体的决策模型固定的情况下,本发明采用强化学习算法进行求解,相对于当前需要优化的智能体来说,其他智能体或者说空战仿真环境都是属于强化学习中的环境。产生新的智能体添加到相应的策略集合中,并重复直到算法达到指定训练迭代次数。当整个博弈框架训练到指定迭代次数后,提取最新训练出的智能体,其动作网络直接将其作为决策网络,输入相关信息,可输出机动动作,完成一步决策。通过多轮迭代学习,己方智能体在面对复杂的空战态势时,已具备高度自主协同决策能力。
[0044]
本发明战机间通过机动指令组合,能够形成复杂的机动动作和协同战术。相对于一般的多智能体强化学习算法训练得到的智能体,多机之间的决策更加具有协同性,同时也说明了本发明方法的有效性。
附图说明
[0045]
图1为七种机动动作示意图
[0046]
图2为状态更新模块示意图
[0047]
图3为种群的交互图。
[0048]
图4为动作网络结构图。
[0049]
图5为评价网络结构图。
[0050]
图6为裁剪函数clip示意图。
[0051]
图7为min函数示意图。
[0052]
图8为基于ppo算法的智能体优化流程图。
[0053]
图9为奖励累计曲线。
[0054]
图10为可利用度对比曲线。
[0055]
图11为全连接神经网络和lstm神经网络作为决策网络对比的奖励值。
[0056]
图12为第15轮己方智能体训练结束时空战三维轨迹图。
[0057]
图13为第15轮己方智能体训练结束时空战轨迹侧视图。
[0058]
图14为第15轮己方智能体训练结束时空战轨迹俯视图。
具体实施方式
[0059]
现结合实施例、附图对本发明作进一步描述:
[0060]
步骤一的实施方式如下:
[0061]
(1)战机数学模型设计
[0062]
空战本质上是序列决策问题,仿真平台需要根据仿真步长推算出下一时刻的状态,反映空战状态动态变化过程,状态变化的数学描述为微分方程组,本文研究的对象为固定翼战机,这一类航空器一般在大气层内飞行,其飞行高度受限且空战对抗时空跨度较小,为了简化研究的空战问题,有必要做出如下的合理假设:
[0063]
(1)忽略地球曲率,即采用“平板地球假设”;
[0064]
(2)忽略地球自转和公转,认为地面坐标系为惯性坐标系;
[0065]
(3)忽略战机由油耗等因素带来的质量损失,即战机质点的质量恒定;
[0066]
(4)忽略空气中的摩擦阻力等;
[0067]
(5)忽略空气的流动速度,即空速为0,飞行器的空速为飞行器在地面坐标系中的速度;
[0068]
(6)忽略战机的侧滑角。
[0069]
基于以上假设,在三维地面坐标系中可得如式(1)的战机动力学模型。
[0070][0071]
上述公式中,每个微分方程左边分别是战机飞行速率、偏航角、俯仰角、三维位置的一阶导数。有些固定翼飞机采用的是方向舵控制航向,但是转弯效率过低。这里假定无侧滑角,采取滚转角控制战机的协调转弯,所以这里滚转角不作为状态,认为其为控制输入之一,控制战机的转弯。除滚转角之外,还有另外两个控制输入n
x
,nz,n
x
表示切向过载,可由战机沿轴线推力与重力的比值计算得到,其主要控制战机的加减速,nz表示法向过载,可由战机机身平面垂直向上的升力与重力的比值得到,其主要控制战机的抬头低头。
[0072]
(2)机动动作设计
[0073]
为了应对空战过程中的复杂环境,战机需要根据不同的空战态势做出相应的空战机动动作,在占优空战态势下保持追击空战机动动作以扩大优势位势,在不占优空战态势下改变机动动作以削弱劣势,甚至扭转空战态势由防转攻。所以在空战对抗中合理运用机动动作将为空战过程带来巨大优势。
[0074]
传统的基本空战机动动作有后置滚转、高强势回旋、低强势回旋、筋斗、滚转剪切机动等,战机驾驶员可根据当前空战态势选择。但这些机动动作都是根据人为经验得来的,理论上讲具有一定的局限性,在使用智能体决策时,应该选择更基本的机动动作,由智能体学习获取高级的机动动作,后面的实验证明,智能体能在学习过程中学到更高级的机动动作,本文选取nasa提出的战机基本机动动作集合(basic fight maneuvering,bfm),其中包含定常、减速、加速、左转弯、右转弯、拉起与俯冲。在空战过程中智能体可以通过组合这七种基本机动形成更高级的机动动作。如图1为七种基本机动动作的示意图。
[0075]
图1中1号机动是定常,2号机动是加速,3号机动是减速,4号机动是左转弯,5号机动是右转弯,6号机动是拉起,7号机动是俯冲。结合3.3.1小节建立的战机数学模型,可将基本机动动作映射到战机的控制输入上,在一定的时间内,保持相应的控制输入即可做出相应的基本机动动作。对控制输入三元组进行编码,由于实际战机的物理特性限制,所以能提供的控制输入是有限的。根据某型号战机的特性,这里设置切向过载n
x
变化的范围为[-2,2],法向过载nz变化的范围为[-5,5],滚转角变化的范围为[-π/3,π/3]。在有限的机动动作下,最大化提高机动效率,所以每个控制输入都选取边界值和中间值来离散化,即切向过载n
x
选取-2、0和2,法向过载nz选取-5、1和5,滚转角选取-π/3、0和π/3。表1为具体的控制输入编码与基本机动动作之间的映射关系。
[0076]
表1控制输入编码与基本机动动作映射关系
[0077][0078]
(3)状态转移模块设计
[0079]
基于控制输入编码和建立的战机微分方程组模型(1),仿真平台的状态更新方程可以由式(2)计算。
[0080]st+1
=f(s
t
,u
m1
,u
m2
,
…
,u
mi
,
…
,u
mn
,t)
ꢀꢀꢀꢀ
(2)
[0081]
上式中,f表示建立微分方程组构成的状态更新函数,u
mi
表示第i架战机采取的基本机动动作,t表示仿真时间步长。使用一定的微分数值计算方法,可以根据当前所有战机状态和基本机动动作输入求得下一仿真时刻的所有战机状态。具体状态更新示意图如图2所示。
[0082]
在实际仿真实验中,可以根据需要选取不同的数值求解方法,本发明中以四阶龙格库塔方法作为求解工具。
[0083]
步骤二的实施方式如下:
[0084]
lstm神经网络具有在部分观测环境下的信息感知能力,符合多机空战环境的态势复杂性感知要求,其次,全连接神经网络具有较好的决策能力,所以动作和评价网络设计上采用lstm神经网络与全连接神经网络相结合的形式。
[0085]
(1)动作网络设计
[0086]
lstm神经网络输入量为部分观测空战态势,一般为己方战机状态和敌方战机部分状态,状态直接输入到lstm网络中。由于lstm的输出是提取到的全局状态信息,一方面,输出只是特征信息,另一方面,其维度不是机动动作的维度,所以在lstm层后加入全连接层,对提取的全局状态信息进一步处理,映射到机动动作上,达到决策的目的,所以全连接神经网络输出层是输出层神经元个数为7,全连接神经网络采用relu激活函数,与第四章节一致,全连接神经网络输出层之后加入softmax函数将输出值归一化为概率形式,具体动作网络结构图如图4所示,其中s
t
表示输入状态,a
t
表示输入机动动作。
[0087]
(2)评价网络设计
[0088]
与动作网络一样,由于是部分观测空战态势,所以需要在网络结构中加入lstm结构,输入部分观测空战态势后经过推理得到信念状态,在lstm输出处加入全连接神经网络将信念网络映射到处于该状态处所对应的价值,整个全连接网络对应状态价值函数,这里不再赘述,网络结构如图5所示。
[0089]
在两个网络设计框架中,可以理解lstm是接受智能体部分观测量的序列,并记忆推理出信念状态作为输出,根据第二章节中的介绍,信念状态是全维观测中的状态,将信念
状态作为后面全连接神经网络的输入,经过全连接神经网络再得到输出,所以上述的全连接网络起到拟合状态到机动动作,或状态到价值的映射。
[0090]
步骤三的实施方式如下:
[0091]
在k个战机都完成策略升级后,支付矩阵维度变化如式(3)。
[0092]ni1
×ni2
×…×nik
→n(i+1)1
×n(i+1)2
×…×n(i+1)k
,n
(i+1)j
=n
ij
+1
ꢀꢀꢀꢀ
(3)
[0093]
上述n
ij
表示第i轮迭代中第j个战机所拥有的策略,由于在一轮智能体优化中每个战机都会产生一个新的最优智能体,所以有n
(i+1)j
=n
ij
+1,而随着矩阵维度添加,为了保证支付矩阵的完整性,内部所对应元素的值也需要设置。支付矩阵的完善是通过空战对抗博弈仿真完成的,由于随着训练逐步推进,智能体之间的对抗越来越难以分出胜负,所以这里采用空战态势作为空战对抗博弈的仿真结果,由于每个战机的策略集合中添加了一个新策略,所以矩阵缺失项如式(4)所示。
[0094][0095]
上述中表示在第w轮迭代,第k个战机所产生的新策略,随着策略集合中添加得越来越多,最终缺失项也会成倍增加,这里了解了上述符号规律后,抽取一组策略说明仿真结果得到的原理,如式(5)所示。
[0096][0097]
上述元博弈中策略sk就是智能体决策模型,eval_otok(sk,sj)是把智能体sk看做己方且sj看作敌方的空战一对一态势评估,利用第三章提到的仿真平台多步仿真得到累计回报作为缺失项,奖励函数在这里做出修改以评估两架战机之间的空战态势。
[0098]
这里选择空战态势(6)和输赢判定奖励(7)的加权和作为智能体的空战能力评估,其计算如式(8)所示。
[0099][0100][0101]
re=ω1×
ra+ω2×rw
,ω1+ω2=1
ꢀꢀꢀꢀꢀꢀꢀ
(8)
[0102]
上式之中由于输赢判定奖励是智能体空战能力评估最直接的手段,所以对应两个权值ω1,ω2中ω2值应该偏大。当智能体无法获得输赢判定奖励时,就需要参考智能体抢占多少优势态势来判断其空战能力大小,所以空战态势奖励是一个辅助参考,综合两个信息可以判断当前智能体的空战能力,从而填充支付矩阵缺失项。
[0103]
步骤四的实施方式如下:
[0104]
使用经验博弈框架,在每一步中使用α-rank算法得到近似纳什均衡下的敌机策
略,避免在多架战机且非零和环境求解纳什均衡,训练出的新智能体是最优响应,能加快收敛速度。α-rank方法得益于其独特和有效的计算模式,所以在多架战机的非零和博弈中也能有效求解近似纳什均衡,其通用性使得其在多智能体直接学习中有更好的表现效果。α-rank概率分布是通过构建博弈的响应图(response graph),即在每个策略组合s∈s都是图的一个节点,在节点s∈s和节点σ∈s之间的存在有向边需要如下两个条件:
[0105]
(1)s和σ两个策略组合之间只有一个战机k的策略不同;
[0106]
(2)mk(σ)>mk(s)。
[0107]
α-rank构建了在有向图中的随机移动,通常情况下按照边的方向进行转移,但是也有小概率会反向转移,这个扰动概率是受α参数控制的,这个参数在最开始就在算法中预设好了,是算法的超参数。这样的有向图移动方式保证了马尔可夫链(markov chain)的不可约性和唯一的平稳分布π∈δs存在,而这个分布也称之为α-rank分布。π的收敛性由响应图的汇强连同分量(sink strongly-connected components,ssccs)保证。
[0108]
α-rank算法的核心是种群进化,其中个体之间的交互是互相影响,强大的个体会替换掉弱小的个体,由于这种优胜劣汰的性质,一些在种群进化过程中的瞬态个体会过滤掉,最终可以获得稳态的个体排名。在本章节中,在敌方策略集合选择上可以根据得到的稳态排名求解。图3是种群交互的概念图,其中随蓝色箭头所示,有极小概率可能会发生突变体,并且适应度较强的个体将会扩散复制到整个种群。
[0109]
图3中,关键术语解释如下:
[0110]
(1)策略:在经验博弈中需要被训练的智能体参数;
[0111]
(2)个体:一个种群中的成员,负责安排策略到经验博弈具体的槽位并执行;
[0112]
(3)种群:个体的有限集合;
[0113]
(4)同构种群:所有个体都一样的种群;
[0114]
(5)同构种群集合:同构种群组成的有限集合;
[0115]
(6)焦点种群:当前正在发生小概率突变的种群。
[0116]
本节中的方法优势在于可以在多架战机的非零和博弈下使用,其中策略个数可以拓展到4个以上。总体思路是通过同构种群集合的状态所建立的马尔可夫链来获取整个系统的动态信息,通过计算可以得到状态之间的转移概率,进而得到过渡矩阵,该矩阵表示种群之中个体的突变方向以及概率大小。除了过渡矩阵的表示方法,还可以使用图方法表示,其中边表示状态之间的转移概率,节点表示状态。由过渡矩阵可以获得平稳分布,其量化了在状态转移过程中,每个节点所花费的时间。
[0117]
下面考虑k个同构种群交互,在进化过程中需要评估执行策略的个体的能力大小,也就是进化强度。假设在每个种群中都有m个个体,且在种群k中的个体都会执行集合sk中的策略。
[0118]
图3中,每个采样周期t都会在每个种群中均匀采样个体,得到k个个体的交互博弈。种群k中执行策略sk的个体数目为由采样方式,可以得到执行策略sk个体的适应度计算如式(9)。
[0119]
[0120]
为了方便说明种群中个体的变异与复制,假设在种群中有两个个体分别执行策略τ和σ,两者分别对应的适应度为fk(τ,p-k
)和fk(σ,p-k
)。这里引入离散动力学模型,种群中某个体会有极小概率变异为随机策略τ的个体,并以一定概率复制策略σ,或坚持执行变异策略。上述过程体现了种群中个体的复制与传播,通过接下来的计算可得,只有强大的个体才具备这样的能力。
[0121]
在一个种群中个体之间是不会直接交互的,所以种群k的状态与个体的适应度无关。然而,在(9)之中,每个种群的适应度可能直接受其他种群影响。采用极小概率的突变机制能够显著减小系统的复杂分析。本发明定义一个策略随机突变到另一个策略的概率为μ,而且假定这个概率极小(例如:可以假定该概率接近于0)。如果认为发生突变的情况可以忽略不计,那么在种群的进化过程中可以认为始终是单态个体。反之,如果认为发生突变的概率是一个很小的概率但又不忽略它,那么意味着可能发生突变,如果突变个体能力比较强,可能固定住并复制扩散到整个种群,反之能力比较弱,在种群进化过程中会被淘汰掉,最后种群重新返回同构状态。由于突变概率很小,所以在当前种群中新突变个体到来之前会变成同构种群。这意味着任意给定的种群k在任意的进化时间点上都不会包含超过两个策略。
[0122]
同样的分析方法,在不同种群之间也有如上规律,即在下一个种群出现变异个体之前,当前种群会先恢复到同构状态。因此在任意给定的进化时间点上不会出现两个种群同时出现突变个体。所以在任意种群c∈{1,...,k}\k,其中一个策略其余策略都是0。这样给定一个足够小的突变概率,在焦点种群k上的分析只需在其他种群为同构状态下考虑。式(9)可以进一步简化为式(10)。
[0123]fk
(sk,s-k
)=mk(sk,s-k
)
ꢀꢀꢀꢀꢀꢀꢀ
(10)
[0124]
其中s-k
表示其他种群的策略组合。令和分别表示在焦点种群k中执行策略τ和σ的个体,其中两者关系如式(11)。根据式(10),两种个体分别的适应度计算方式可以进一步简化为式(12)和(13)。
[0125][0126]fk
(τ,s-k
)=mk(τ,s-k
)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0127]fk
(σ,s-k
)=mk(σ,s-k
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0128]
在种群k中随机采样两个个体,设p(τ
→
σ,s-k
)为其中一个执行策略τ复制另一个执行策略σ的逻辑选择函数,又被称之为费米分布(fermi distribution),其控制在有限种群集合的动态模型,计算方式如式(14)所示。
[0129][0130]
其中α是排名强度,其控制选择的强度。
[0131]
基于上述前提,在策略组合集合πksk上定义马尔可夫链(markov chain),这里马尔科夫链上总共有πk|sk|个状态。任意一个状态s∈пksk,其表示同构种群集合的终止状态。在这些状态之间的转移概率定义为当突变策略被引入到焦点种群中的固定概率,结合状态数可得总共有(пk|sk|)2个转移概率,定义为突变策略τ固定到个体执行策略为σ的焦点种群k中的概率,而剩余k-1个种群保持同构状态s-k
不变。由于突变个体的传播只
发生在当前焦点种群之中,所以给定一个策略组合,总共有∑k(|sk|-1)个待转移的下一策略组合。因此令η=1/(∑k(|sk|-1)),是当焦点种群k发生突变后联合种群状态从(σ,s-k
)转移到(τ,s-k
)的概率。马尔可夫链的稳态分布是在每个状态上平均消耗的时间。
[0132]
执行策略τ的突变个体复制及传播到焦点种群k的固定概率可以由式(23)计算,种群中执行策略τ的个体减少/增加一个的概率如式(15)所示。
[0133][0134]
令u=fk(τ,s-k
)-fk(σ,s-k
),在m-1个执行策略σ的个体,其中执行策略τ的单个突变个体固定概率由具体推导如式(16)~(23)所示。
[0135][0136][0137]
上述结果是对应于在马尔可夫链上基于逻辑选择函数(14)的m-步转移。商t
k(-1)
(pk,τ,σ,s-k
)/t
k(+1)
(pk,τ,σ,s-k
)表达了从在种群中突变过程方向的可能性,如果商接近于0,那么突变个体增加的可能性很大;如果商很大,那么突变个体减小的可能性很小;如果商
接近1,那么突变个体增加和减小的可能性相等。通过公式(23)可以得到马尔可夫转移概率矩阵,从任意策略组合si∈πksk到任意策略组合sj∈πksk矩阵元素如式(24)。
[0138][0139]
上述i,j∈{1,...,πk|sk}。
[0140]
根据马尔可夫转移概率矩阵可以计算其平稳分布,下面给出马尔科夫链平稳分布定理。
[0141]
设马尔可夫转移概率矩阵为c,且其中任何两个状态都连通,存在且与i无关,记那么有:
[0142]
1:
[0143]
2:
[0144]
3:π是方程πp=π的唯一非负解;
[0145]
其中,π=[π(1),π(2),
…
,π(j),
…
],
[0146]
π称之为马尔可夫链的平稳分布,而在本发明应用中,状态集合是有限的,在上述定义中,求和号改为有限求和,当得到平稳分布后,由于平稳分布中每一项对应的是状态节点,也就是策略组合,进而可以获得每个策略组合的占比,其中表示第k个战机的策略集合中第ik个策略,策略组合按照大小降序排序可得到rank,而直接的策略组合排序不能直接使用,需要进一步转化为每架战机的混合策略。所以需要对平稳分布进一步求边缘概率,最终得到每架战机的混合策略。
[0147]
步骤五的实施方式如下:
[0148]
动作和评价网络需要根据智能体与环境交互的经验样本对网络参数优化。由于在本章节中需要多轮迭代优化智能体,对强化学习算法的稳定性要求较高,所以采用ppo算法作为基础的强化学习算法。ppo算法避免较大的策略更新提高训练的稳定性,从深度学习角度解释,主要有两个原因:
[0149]
(1)在训练中更小的策略参数迭代更有可能收敛到最优解;
[0150]
(2)在训练中发生一次较大的策略更新会导致“off the cliff”,即策略瞬间得到较差的参数,通常会耗费较长时间恢复或根本无法恢复到原来较好的参数。
[0151]
带优势函数的强化学习目标函数如式(25)所示。
[0152]
l
pg
(θ)=e
t
[logπ
θ
(a
t
|s
t
)*a
t
]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(25)
[0153]
其中a
t
是优势函数,a
t
=q(s
t
,a
t
)-v(s
t
),引入优势函数可以减少训练时的方差,减小方差过大所造成的训练波动,从而削弱过拟合问题,其值大于0表示在当前状态动作a
t
比其他可选的动作更好,logπ(a
t
|s
t
)是在s
t
状态下采取a
t
动作的概率对数。模型采取梯度下降策略,在梯度方向改变策略模型参数,使智能体在未来决策时采取回报更高的动作。在梯度下降的参数更新中,如果每步策略参数更新幅度太小那么训练时间将会很长,幅度太大则会导致训练波动很大,甚至造成训练不稳定。
[0154]
ppo算法中的策略更新较为保守,首先需计算出当前策略相对于过去策略的变化大小,即定义一个新策略与旧策略之间的比值,通过限制比值到[1-ε,1+ε]区间来实现稳定的策略更新,最终达到新旧策略参数变化平稳的目的。在算法实现上,需要使用裁剪技术约束每步的策略参数更新,采用如式(3)的概率比例约束前后策略的更新。
[0155][0156]
形成新的带策略更新约束的目标函数,如式(27)计算。
[0157][0158]
其中表示期望值,min(a,b)表示在参数a和b之间选择一个最小值,表示优势函数的估计,可以使用蒙特卡罗等方法得到优势函数的估计值。r
t
(θ)是比例函数(ratio function),表示在当前状态s
t
和当前策略参数θ下执行动作a
t
的概率与在当前状态s
t
和前一个策略参数θ
old
下执行动作a
t
的概率比值,反映两个策略之间的差异大小。当r
t
(θ)>1,表示在当前策略下当前状态s
t
执行动作a
t
的概率比前一个策略的可能性要大,当0<r
t
(θ)<1,表示在当前策略下当前状态s
t
执行动作a
t
的概率比前一个策略的可能性要小。所以概率比值可以估计新旧策略之间的差异。
[0159]
其中min函数内包含两个部分,是未裁剪的部分,这一项仅限于新旧策略变化较小的时候起作用,当两个策略变化较大时会导致较大的策略梯度更新。裁剪函数clip(
·
)加入到目标函数中约束概率比值远离1的情况,而这种约束方式相比于trpo(trust region policy optimization)方法使用目标函数之外的kl散度约束限制策略参数变化更为简单和有效。
[0160]
clip(r
t
(θ),1-ε,1+ε)表示限制比例函数,r
t
(θ)的取值范围在(1-ε,1+ε),即当r
t
(θ)在(1-ε,1+ε)范围之内时裁剪函数输出比例函数本身,当r
t
(θ)≤1-ε时,输出1-ε,当r
t
(θ)≥1+ε时,输出1+ε。图6为clip裁剪函数示意图。
[0161]
结合全式来看,如图7是min函数的示意图,其中分为优势函数两种情况分别讨论,绿色虚线表示min函数前一项不带clip裁剪项,蓝色虚线表示min函数后一项带clip裁剪项,综合得到的红色部分就是最终min函数的输出。
[0162]
有了上述的约束限制,可以保证每步策略更新幅度不会过大,这里采用的是动作-评价网络(actor-critic)结构,其中评价网络的目标函数采用平方差形式,如式(28)所示。
[0163]
[0164]
在梯度更新时可以将动作和评价网络的目标函数整合到一起训练,并在目标函数中添加熵项,提高智能体的探索能力。式(29)为整体的目标函数的表达式。
[0165][0166]
上式中c1,c2是常值系数,是评价网络与其目标网络的平方误差,s[π
θ
](s
t
)表示当前策略的熵,其计算方式如式(30)所示。
[0167][0168]
策略的熵值越大表示选择各个动作的概率越平均,策略的探索能力越强,一般在设置其系数c2=0.01。策略模型参数需要向目标函数的最大值方向改变,如式(31)。
[0169][0170]
整个算法的训练流程如图8所示。
[0171]
步骤六的实施方式如下:
[0172]
当训练算法已经收敛,选取最新各博弈方智能体作为决策者,提取其智能体动作网络作为决策网络,输入空战态势状态向量,经过网络可输出机动动作,完成一步决策。
[0173]
【实验验证】
[0174]
设置部分观测条件,即每个智能体只能观测到自己战机的所有状态,但其他战机的状态只能观测一部分,为了更加符合实际情况,设置只能观测敌机空间位置信息,本章节中使用的决策网络接受时序信息会自动推算出隐含状态。假设总共有n架战机,当前智能体所处战机为第i架,则当前智能体能接受到的状态量如式(32)所示。
[0175][0176]
其中,s
ip
表示第i个智能体的部分观测量,si表示第i架战机自身状态量,sj表示除第j架战机之外战机的部分观测的状态量,在本次实验中具体设置4架战机参与战斗,其中敌方战机2架,己方战机2架。各战机的初始状态如表1,其中1号战机和2号战机为己方战机,3号战机和4号战机是敌方战机。
[0177]
表1飞行双方初始状态
[0178][0179]
在仿真平台中设置观测量为全维观测,即仿真时输入智能体的动作和评价网络为12维空战态势向量。仿真平台采用四阶龙格库塔方法求解微分方程组,重力加速度为10m/s2,求解步长为0.01s,设置战机决策周期为0.1s,战机判定坠毁的条件为高度小于10或被累计击中20个决策周期,一次空战最长交战时间设置为100s,即红蓝双方如果在1000个仿
真周期没有分出胜负会被强制结束本回合并强制初始化状态。
[0180]
ppo算法参数:折扣因子γ=0.995,动作网络和评价神经网络的学习率均为0.0003,clip参数为0.2,总的训练为1
×
107个最小步长,损失函数中常数系数c1,c2分别为0.5和0.01。
[0181]
在支付矩阵空缺项计算权值设置为ω1=0.2,ω2=0.8,缺失项重复仿真次数n为500次,支付矩阵求解方法α-rank超参数α=1
×
10-4
。
[0182]
由于仿真环境配置较低,为了尽可能减小计算量,这里采用共享策略机制,即同一方的战机共享一套策略,所以在训练迭代过程中有2个神经网络参与训练,其中迭代最大次数为15次。动作与评价网络中,统一设置神经单元个数为64,隐藏元维度为20。
[0183]
图9是为了便于观察奖励值变化趋势,取每轮所有训练智能体的平均奖励值绘制出,(a)~(d)是在训练迭代过程中第1、5、10、15轮强化学习训练得到的平均奖励值随步长的变化图,深红色线条表示奖励值取均值后的值,浅红色线条表示奖励的真实值。可以发现,在部分观测空战环境之中,lstm神经网络结构能够利用智能体收到的部分观测信息推算出完整空战态势,且根据态势传入到全连接神经网络输出机动动作,每次迭代中奖励函数值都在稳步提升,说明在部分观测环境中智能体也能利用课程式奖励结构学到高鲁棒性空战策略。
[0184]
为了进一步说明本章节所使用的α-rank算法在多机空战决策博弈中的有效性,在其他条件实验条件不变的情况下,将4架战机都设置神经网络决策机构并互不共享参数。将其与复制动态方法(rd,replicate dynamic)对比。rd是根据生物进化机制提出,其思想核心为优于平均水平的策略会逐渐被生物群体个体(博弈参与者)使用,而弱于平均水平的策略将会逐渐被生物群体个体(博弈参与者)摒弃,其进化机制如式(31)所示,其定义了在策略分布上的动态系统。
[0185][0186]
通过计算可利用度,绘制出图10可利用度对比曲线,可以发现在多人博弈中α-rank算法相较于rd方法收敛速度更快,更快向纳什均衡方向收敛。
[0187]
从图11中可以看出,在部分观测的环境下使用lstm神经网络结构能够有效提高智能体感知环境的能力,从历史的时序部分观测信息中推理得到当前的环境信念状态,从而在相同的学习任务下获取更高的奖励值。图也可以看出全连接神经网络虽然不能推理环境信念状态,但具备强大的决策映射能力,依靠部分观测的状态信息,仍在训练中获取一定的奖励值,占据一定的空战优势。所以这说明了在部分观测环境中采用lstm神经网络和全连接神经网络结构相结合的优势,一方面使用lstm神经网络结构从部分观测信息中提取出环境信念状态,另一方面全连接神经网络结构根据感知的环境信念状态映射到最优机动动作。
[0188]
图12中可以看出,战机之间表现出的多机缠斗特性,单机空战之中战机之间博弈关系为竞争,主要表现为战机之间的利益冲突,而多机空战中由于己方和敌方战机群都包含大于1架战机,所以战机之间的博弈关系为竞争与合作,此时博弈场景复杂度加大,多机训练难度相比于单机空战更为复杂。经过多个决策步长,敌方3号战机最先被击落,再是敌方4号战机被击落,最终己方获胜。
[0189]
从侧视图13可以看出,所有战机在相同速度和高度优势下都选择了快速爬升,提
高自身势能优势,待一定时机后俯冲,将势能态势优势转化为动能态势优势,以便快速到达优势攻击位势。可以发现战机在俯冲过程中无法获取优势的攻击或者防守位势时,战机将会再次爬升,将战机内能和动能转化为势能,从而提高势能优势,准备下一轮抢占优势攻击位势。
[0190]
从俯视图14中可以更为清晰地看出战机之间的战术意图。在图中可以看出多机空战格斗的开始,2架己方战机就有明确的目标,分别是己方1号战机与敌方3号战机缠斗,己方2号战机与敌方4号战机缠斗。在缠斗过程中,己方机群通过机动迫使敌方机群维持在中间区域。当己方2号战机运动到x轴上2000m的位置时,己方2号战机放弃与敌方4号战机的缠斗,其策略转为与己方1号战机合作一起击落敌方3号战机。当敌方3号战机被击落后,己方2号战机与1号战机一起包夹敌方4号战机,并持续攻击使其被击落。在这个过程中,可以发现己方战机群在协同空战中,首先是进行目标一对一分配,在一对一空战中压制敌机位置,待部分敌机飞行至己方战机群的公共区域时,己方战机群合作先行击落其中一架敌机,再合作击落剩下敌机,实现目标的逐个击破。
[0191]
从侧视图和俯视图的平面轨迹图中可以发现,智能体已经学习到多机空战策略,具有自主决策能力。
[0192]
综上所述,通过多轮迭代学习,己方智能体在面对复杂的空战态势时,已具备高度自主协同决策能力。战机间通过机动指令组合,能够形成复杂的机动动作和协同战术。相对于一般的多智能体强化学习算法训练得到的智能体,多机之间的决策更加具有协同性,同时也说明了本发明方法的有效性。
技术特征:
1.一种基于通用经验博弈强化学习的多机空战决策方法,其特征在于步骤如下:步骤1:仿真平台的战机为三维空间下的动力学模型,每个战机的控制输入为滚转角和两个控制输入n
x
,n
z
,且进行编码;n
x
表示切向过载,n
z
表示法向过载;机动动作包含定常、减速、加速、左转弯、右转弯、拉起与俯冲七种;所述仿真平台的状态更新方程:s
t+1
=f(s
t
,u
m1
,u
m2
,
…
,u
mi
,
…
,u
mn
,t)f表示建立微分方程组构成的状态更新函数,u
mi
表示第i架战机采取的基本机动动作,t表示仿真时间步长;步骤2:每个战机的智能体包含动作神经网络和评价神经网络,神经网络结构为lstm神经网络连接全连接神经网络;空战态势即观测量的序列为lstm神经网络的输入,提取全局状态信息作为输出;该输出为全连接神经网络的输入,在动作网络中全连接神经网络的输出层加入softmax函数将输出值归一化为概率形式,输出为步骤一中的7种机动动作,评价网络输出为值函数的值;所述全连接神经网络采用relu激活函数;步骤3:每架战机具有一个策略集合,每个策略集合中设有多组动作神经网络和评价神经网络;每组神经网络的输入为空战态势序列;在每架战机的策略集合中添加一组随机参数的动作和评价神经网络,对k架战机的策略集合初始化;步骤4:对于k架战机的策略集合,支付矩阵维度随迭代次数变化为:n
i1
×
n
i2
×…×
n
ik
→
n
(i+1)1
×
n
(i+1)2
×…×
n
(i+1)k
,n
(i+1)j
=n
ij
+1其中:n
ij
表示第i轮迭代中第j个战机所拥有的策略,由于在一轮智能体优化中每个战机都会产生一个新的最优智能体,所以有n
(i+1)j
=n
ij
+1;在每架战机的策略集合中添加一个新策略的情况下,其中支付矩阵缺失项为:其中支付矩阵缺失项为:表示在第w轮迭代,第k个战机所产生的新策略;通过下式进行空战仿真得到支付矩阵缺失项的值;元博弈中策略s
k
就是智能体决策模型,eval_oto
k
(s
k
,s
j
)是把智能体s
k
看做己方且s
j
看作敌方的空战一对一态势评估;空战态势评估上选择空战态势:以及输赢判定奖励:
的加权和作为智能体的空战能力评估:r
e
=ω1×
r
a
+ω2×
r
w
,ω1+ω2=1;步骤5:在当前支付矩阵下使用α-rank算法得到近似纳什均衡,即每架战机从其策略集合中选出一组动作和评价神经网络,所选出的多组神经网络形成策略组合;步骤6:在步骤5中得到的策略组合下,除第k架战机外,其他k-1架战机采用其相应选出的动作网络作为决策机构控制自身机动,采用ppo算法作为基础的强化学习算法优化当前第k架战机的新策略,产生新的动作和评价网络添加到第k架战机的策略集合中;依次对每架战机优化,同时将产生的新智能体添加到相应的策略集合中,返回步骤4,直到满足设定的训练迭代次数;步骤7:选取最新各博弈方智能体作为决策者,提取其智能体动作神经网络作为决策网络,观测量的空战态势状态向量为lstm神经网络的输入,经过lstm神经网络和全局神经网络输出机动动作,完成一步决策。2.根据权利要求1所述基于通用经验博弈强化学习的多机空战决策方法,其特征在于:所述切向过载n
x
变化的范围为[-2,2],法向过载n
z
变化的范围为[-5,5],滚转角变化的范围为[-π/3,π/3]。3.根据权利要求1所述基于通用经验博弈强化学习的多机空战决策方法,其特征在于:所述三维地面坐标系中的战机动力学模型:所述三维地面坐标系中的战机动力学模型:所述三维地面坐标系中的战机动力学模型:所述三维地面坐标系中的战机动力学模型:所述三维地面坐标系中的战机动力学模型:所述三维地面坐标系中的战机动力学模型:每个微分方程左边分别是战机飞行速率、偏航角、俯仰角、三维位置的一阶导数。
技术总结
本发明涉及一种基于通用经验博弈强化学习的多机空战决策方法,选取战机的状态空间向量,作为智能体结构的输入;智能体包含动作和评价神经网络,为LSTM神经网络与全连接神经网络。计算支付矩阵,求解在当前支付矩阵下的纳什均衡,优化当前第k架战机的新策略。采用强化学习算法进行求解,产生新的智能体添加到相应的策略集合中,并重复直到算法达到指定训练迭代次数。当整个博弈框架训练到指定迭代次数后,提取最新训练出的智能体,输入相关信息,可输出机动动作,完成一步决策。本发明能够形成复杂的机动动作和协同战术。相对于一般的多智能体强化学习算法训练得到的智能体,多机之间的决策更加具有协同性,同时也说明了本发明方法的有效性。法的有效性。法的有效性。
技术研发人员:何宇航 王重 李俨
受保护的技术使用者:西北工业大学
技术研发日:2023.03.12
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种自动化塑料托盘生产线的制作方法 下一篇:一种电容器老炼夹具的制作方法