一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于强化学习的机动智能决策规避导弹方法与流程

2021-11-22 12:58:00 来源:中国专利 TAG:


1.本发明属于导弹规避技术领域,具体涉及一种基于强化学习的机动智能决策规避导弹方法。


背景技术:

2.空战机动智能决策是近年来的研究热点,而合理规避导弹则是现代空战决策研究的关键组成部分。现代空战中,导弹是飞行器最大的威胁。导弹在空域具有速度快、碰撞扇形区域半径大、航线不固定等特点,对飞行器有极大的摧毁能力。因此,如何对导弹打击进行规避,是现代飞行器研究的必修课题。目前,军事模拟领域中使用面向人工智能技术的建模与仿真越来越多。傅莉等人采用专家系统进行分析决策,张涛等人提出优化理论方法对该问题进行求解。张宏鹏借助第一神经网络对机动动作进行最优规划,谢新辉建立了战斗机末端规避的数学模型,分析了滚筒机动的末端规避性能。
3.上述方法在机动智能决策过程中,都是通过从现有的机动动作库中选出最优机动序列实现,具有状态空间大、动作空间大、容易收敛至局部最优等缺点,对机动库没有涉及的情况表现较差。
4.但是,上述方法会导致在搜索最优决策时,时间及空间复杂度过高,不符合空战决策的实时性要求,无法适应瞬息万变的战场环境。


技术实现要素:

5.为了解决现有技术中存在的上述问题,本发明提供了一种基于强化学习的机动智能决策规避导弹方法。本发明要解决的技术问题通过以下技术方案实现:
6.一种基于强化学习的机动智能决策规避导弹方法,所述机动智能决策规避导弹方法包括:
7.步骤1、在unity端,建立强化学习环境;
8.步骤2、搭建第一神经网络,所述第一神经网络包括决策网络和好奇心网络,设置奖励值判别机制,其中,奖励值由第一奖励值和第二奖励值组成,所述第一奖励值由所述好奇心网络计算得出;
9.步骤3、在python端,在所述强化学习环境下,训练所述第一神经网络得到训练完成的神经网络;
10.步骤4、利用所述训练完成的神经网络对导弹进行规避。
11.在本发明的一个实施例中,所述步骤1包括:
12.建立飞行器动力学模型和制导导弹所满足的运动方程组,其中,飞行器动力学模型包括飞行器受到的气动升力、飞行器受到的气动侧力和飞行器受到的阻力。
13.在本发明的一个实施例中,所述飞行器受到的气动升力为:
14.15.其中,l为气动升力,ρ为空气密度,v为空速,s为机翼面积,c
l
为升力系数;
16.所述飞行器受到的气动侧力为:
[0017][0018]
其中,sf为气动侧力,c
y
为侧力系数;
[0019]
所述飞行器受到的阻力为:
[0020][0021]
其中,drag为阻力,c
d
为阻力系数。
[0022]
在本发明的一个实施例中,所述制导导弹所满足的运动方程组为:
[0023][0024]
其中,r为导弹与目标的距离,q为目标视线角,v为导弹的速度,v
t
为目标的速度,σ为导弹速度向量与基准线之间的夹角,σ
t
为目标速度向量与基准线之间的夹角,η为导弹速度向量与目标视线之间的夹角,η
t
为飞行器速度向量与目标视线之间的夹角,k为导引系数,ε=0为导引关系式。
[0025]
在本发明的一个实施例中,所述决策网络使用ppo算法作为决策方法。
[0026]
在本发明的一个实施例中,所述好奇心网络包括前向网络和反向网络,所述前向网络包括目标网络和预测网络。
[0027]
在本发明的一个实施例中,所述步骤3包括:
[0028]
步骤3.1、将智能体随机所做的第一动作对应的第一环境状态输入至所述第一神经网络,所述决策网络输出所述智能体的第二动作,所述好奇心网络输出第二环境状态,以得到一组第一训练数据集,所述第一训练数据集包括若干第二动作和若干第二环境状态;
[0029]
步骤3.2、将所述第一训练数据集输入至所述第一神经网络中,利用所述决策网络的损失函数和所述好奇心网络损失函数进行反向传播,使所述损失函数收敛,以得到第二神经网络;
[0030]
步骤3.3、将智能体指定所做的第三动作对应的第三环境状态输入至所述第二神经网络,所述决策网络输出所述智能体的第四动作,所述好奇心网络输出第四环境状态,以得到一组第二训练数据集,所述第二训练数据集包括若干第四动作和若干第四环境状态;
[0031]
步骤3.4、将所述第二训练数据集输入至所述第二神经网络中,利用所述决策网络的损失函数和所述好奇心网络损失函数进行反向传播,使所述损失函数收敛,以得到训练完成的神经网络。
[0032]
在本发明的一个实施例中,所述前向网络的损失函数为:
[0033][0034]
其中,l
f
为所述前向网络的损失值,f
t
(s
t
;θ
f
)为所述目标网络,为所述预测网络,s
t
为当前智能体观测到的环境状态空间,θ
f
为所述目标网络的参数,为所述预测网络需要拟合的参数。
[0035]
在本发明的一个实施例中,所述反向网络的损失函数为:
[0036][0037]
其中,l
i
为所述反向网络的损失值,a
t
为所述目标网络的输出,为所述预测网络的输出。
[0038]
在本发明的一个实施例中,所述好奇心网络的目标函数为:
[0039][0040]
其中,l
clip
为截断函数损失,α为超参数。
[0041]
本发明的有益效果:
[0042]
本发明的规避决策的神经网络结构简单,易于训练且实时性好。
[0043]
本发明利用神经网络作为状态空间到动作空间的映射函数,有效解决的传统算法中状态空间大、动作空间大等缺点。
[0044]
本发明的强化学习网络利用近端优化策略算法进行参数更新,大幅提高了训练过程中数据的利用率,使训练收敛速度更快并能得到全局最优解。
[0045]
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
[0046]
图1是本发明实施例提供的一种基于强化学习的机动智能决策规避导弹方法的流程示意图;
[0047]
图2为本发明提供的一种坐标系设定示意图;
[0048]
图3为本发明提供的一种攻角与气动系数关系图;
[0049]
图4为本发明提供的一种飞行动力学模型实现示意图;
[0050]
图5为本发明提供的一种空战导弹规避算法模型示意图;
[0051]
图6为本发明提供的一种空战导弹规避算法实现示意图;
[0052]
图7为本发明提供的一种训练过程流程示意图;
[0053]
图8为本发明提供的一种比例导引法示意图;
[0054]
图9为本发明提供的一种导弹从后方逼近时的仿真结果图,其中,图9a为飞行器与导弹的路径图,图9b为导弹法向过载示意图;
[0055]
图10为本发明提供的一种导弹从又方逼近时的仿真结果图,其中,图10a为飞行器与导弹的路径图,图10b为导弹法向过载与视场角示意图;
[0056]
图11为本发明提出的算法与其他算法的对比实验结果示意图;
[0057]
图12为本发明提供的三种不同算法的成功率对比示意图;
[0058]
图13为本发明提供的两种好奇心机制损失函数示意图。
具体实施方式
[0059]
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
[0060]
实施例一
[0061]
请参见图1,图1是本发明实施例提供的一种基于强化学习的机动智能决策规避导弹方法的流程示意图。本发明实施例提供一种基于强化学习的机动智能决策规避导弹方法,该机动智能决策规避导弹方法包括步骤1至步骤4,其中:
[0062]
步骤1、在unity端,建立强化学习环境。
[0063]
具体地,步骤1包括:建立飞行器动力学模型和制导导弹所满足的运动方程组,其中,飞行器动力学模型包括飞行器受到的气动升力、飞行器受到的气动侧力和飞行器受到的阻力。
[0064]
在本实施例中,为使系统操作便利性,与传统机体系轴方向定义不同,如图2所示,本实施例按如下方式定义坐标:x轴正向沿着右侧机翼方向,y轴正向沿着垂直于机身上表面方向,z轴正向沿着机身方向。
[0065]
关于飞行器动力学模型的实时解算,能够接受包括来自飞行员控制、风力、空气动力、发动机的全部输入,计算模拟飞行器状态的变量,尤其是受力、运动、高度、海拔、航向和速度,其详细步骤如下。
[0066]
为了模型容易实现并具有较高的通用性,本实施例将飞行器的尾翼、襟翼及方向舵抽象成机翼,最后根据机翼大小及相对于飞行器中心的位置,计算出对飞行器重心施加的力和力矩效果。本实施例假设机翼的几何中心为机翼重心,因此在计算之初,要根据机翼形状计算出重心的位置,并对飞行器参数及机翼参数进行初始化,包括飞行器质量、转动惯量、翼展、机翼的空气动力曲线。最后,为便于表述,本实施例将机翼的偏转量及发动机操作输入视为已知,空气密度设置为1.29kg/m^3(标准条件下0℃,1个标准大气压)。
[0067]
在本实施例中,飞行器受到的气动升力为:
[0068][0069]
其中,l为气动升力,ρ为空气密度,v为空速,s为机翼面积,c
l
为升力系数。
[0070]
具体地,计算飞行器所受的升力,首先需计算出攻角。在unity的坐标系下,速度方向为刚体速度的z轴分量,而飞行器纵轴为自身机体坐标系下的z轴分量,两者在世界坐标系下的夹角为攻角α,得到攻角后,即可很容易通过查表并插值的方法计算出当前状态下对应的升力系数c
l
,进而计算出飞行器所受的升力值。
[0071]
在本实施例中,飞行器受到的气动侧力为:
[0072][0073]
其中,sf为气动侧力,c
y
为侧力系数。
[0074]
在本实施例中,飞行器受到的阻力为:
[0075][0076]
其中,drag为阻力,c
d
为阻力系数。
[0077]
具体地,计算气动侧力及阻力的方法与升力十分类似,首先利用unity内部的api计算出飞行器的偏航角,接着通过查表得到其侧力系数c
y
和阻力系数c
d
,在按照上述公式计算出所气动侧力及阻力的大小。
[0078]
在本实施例中,计算飞行器所受力矩。因为已将机翼抽象,机翼的攻角及偏航等参数均可直接求出,再通过查表通过查表求得气动矩阵系数,按照公式计算出力矩即可。如图3所示,图3展示了攻角与气动系数的映射曲线。
[0079]
为使动力学的数学模型很好地应用在unity引擎之中,本实施例将飞行器的受力主要分为机翼和引擎两个部分进行解算。仿真计算模块的实现如图4所示,其将修改机翼的偏转角度及引擎的转速作为输入,根据飞行器攻角、侧滑角等状态计算出飞行器所受的合力和合力矩,并将这两组数值直接输入至unity引擎,unity引擎内部可自动根据作用在物体上的力和力矩计算出物体的位置和姿态。同时,如果对象自身还存在碰撞(collider)组件,则物理引擎就可以处理刚体运动中正确的碰撞响应,使刚体运动更加真实。
[0080]
实现导弹制导律,弹道导弹采用比例导引法进行制导,该方法是追踪法与平行接近法的折中,其要求在导弹制导过程中,速度向量的转动角速度与目标视线的转动角速度成比例,如图3所示。这种导引律在工程上易于实现,同时通过选取合适的导引系数,就会避免在导引过程中出现较大法向过载的情况。因此,比例导引法广泛应用于各类导弹上。
[0081]
根据图3中的几何关系,可以列出制导导弹应满足的运动方程组为:
[0082][0083]
其中,r为导弹与目标的距离,q为目标视线角,v为导弹的速度,v
t
为目标的速度,σ为导弹速度向量与基准线之间的夹角,σ
t
为目标速度向量与基准线之间的夹角,η为导弹速度向量与目标视线之间的夹角,η
t
为飞行器速度向量与目标视线之间的夹角,k为导引系数,ε=0为导引关系式。
[0084]
步骤2、搭建第一神经网络,第一神经网络包括决策网络和好奇心网络,设置奖励值判别机制,其中,奖励值由第一奖励值和第二奖励值组成,第一奖励值由好奇心网络计算得出。
[0085]
具体地,请参见图5,在步骤1建立的环境基础上,搭建深度强化学习的决策网络和策略评判网络,设置奖励值判别机制,具体实现步骤如下:
[0086]
本实施例的第一神经网络由决策网络和好奇心网络两部分构成,决策网络使用
ppo(proximal policy optimization,近端策略优化)算法作为最基本的决策方法;在好奇心网络中,前向网络的功能与icm(好奇心网络)相同,都是计算“内部”奖励值(即第一奖励值),与icm不同的是,本实施例把前向网络以蒸馏网络的方式表达,分为目标网络和预测网络两个部分,目标网络和预测网络的输入均为当前时刻的环境状态,输出为对环境的高维嵌入。同理,目标网络参数固定,只使用得到的数据对预测网络进行学习,“内部”奖励值通过目标网络和预测网络的输出值的均方误差进行计算。定义目标网络和预测网络分别为f
t
(s
t
;θ
f
)和其中,s
t
为当前智能体观测到的环境状态空间,θ
f
为目标网络的参数,为预测网络需要拟合的参数,则前向网络的损失函数为:
[0087][0088]
其中,l
f
为前向网络的损失值。
[0089]
t时刻的“内部”奖励值就可以定义为:
[0090][0091]
其中,为t时刻的第一奖励值,η为超参数。
[0092]
最后,t时刻整个动作奖励值为环境提供的“外部”奖励值(即第二奖励值)与“内部”奖励值(即第一奖励值)之和,即:
[0093][0094]
其中,r
t
为总奖励值。
[0095]
反向网络的损失函数为:
[0096][0097]
其中,l
i
为反向网络的损失值,a
t
为目标网络的输出,为预测网络的输出。
[0098]
好奇心网络的目标函数为:
[0099][0100]
其中,l
clip
为截断函数损失,α为超参数,表示好奇心机制在总损失函数中的占比。
[0101]
本实施例设置了奖惩机制,本实施例的奖励值由“外部”奖励值和“内部”奖励值两部分构成。“内部”奖励值由好奇心机制网络自动计算得出,影响因子η=0.1;结合规避算法的任务目标,本实施例设置如表1所示的“外部”奖励机制。
[0102]
表1训练判定汇总表
[0103][0104]
步骤3、在python端,在强化学习环境下,训练第一神经网络得到训练完成的神经网络。
[0105]
本实施例将系统功能分离成unity端和python端两个部分。图6是算法学习环境实现示意图。图中,unity端需要实现“环境”功能,python端需要实现“强化学习算法”和“openai gym”功能,箭头代表数据的流动方向。
[0106]
unity端负责搭建完整的训练环境,包括设立战场环境、智能体动作、强化学习的奖励机制、回合结束的仿真重置规则等。在环境搭建完成后,利用ml

agents工具包将其封装成可与gym子模块交互的可执行文件。
[0107]
python端由gym和强化学习算法两个子模块构成。gym子模块用来跟封装好的可执行文件进行交互并采集数据,获取当前的环境输出(状态、奖励及其他相关系统参数),同时检测训练状态,如迭代次数、模型存取、超参数调整等。采集到的数据经过gym子模块处理后,作为强化学习算法子模块的输入,通过决策网络输出最佳动作值,环境根据智能体的动作做出相应反馈。不断持续上述循环过程会得到大量的训练数据(即“状态

动作”序列),更新决策网络及好奇心网络的参数,最终使模型收敛。
[0108]
具体地,对强化学习算法进行训练学习,规避算法的训练过程由初始化、执行动作、获取奖励和训练决策四个阶段构成,参照图6。步骤3包括:
[0109]
步骤3.1、将智能体随机所做的第一动作对应的第一环境状态输入至第一神经网络,决策网络输出智能体的第二动作,好奇心网络输出第二环境状态,以得到一组第一训练数据集,第一训练数据集包括若干第二动作和若干第二环境状态。
[0110]
具体地,本实施例的智能体随机做的一个动作(即第一动作),会对应的改变环境状态,该环境状态包括:飞行器在三维空间的所在位置瞬时速度瞬时角速度及导弹位置瞬时速度及瞬时角速度这些量均为3维向量,则状态定义为如下18维向量:
[0111][0112]
智能体的动作空间包括:滚转俯仰和加减速则决策网络输出定义为3维向量
[0113]
将智能体随机所做的一系列动作对应的环境状态(即第一环境状态)输入至第一神经网络,决策网络相应的会输出智能体的动作(即第二动作),好奇心网络环境状态(即第二环境状态),从而可以形成由一系列的第二动作和第二环境状态组成训练数据集(即第一训练数据集)。
[0114]
步骤3.2、将第一训练数据集输入至第一神经网络中,利用决策网络的损失函数和好奇心网络损失函数进行反向传播,使损失函数收敛,以得到第二神经网络。
[0115]
在本实施例中,步骤3.1和步骤3.2属于初始化阶段,该阶段主要完成对仿真环境的初始化及重置,这包括重置飞行器的初始状态、导弹的初始状态、对累积奖励值清零;其中飞机和导弹的初始状态有初始速度、初始位置和初始姿态,这三个变量会随机生成在一定的范围内,以保证模型学习的鲁棒性。
[0116]
步骤3.3、将智能体指定所做的第三动作对应的第三环境状态输入至第二神经网络,决策网络输出智能体的第四动作,好奇心网络输出第四环境状态,以得到一组第二训练数据集,第二训练数据集包括若干第四动作和若干第四环境状态。
[0117]
具体地,本实施例的智能体指定做的一个动作(即第三动作),会对应的改变环境状态。将智能体指定所做的一系列动作对应的环境状态(即第三环境状态)输入至第二神经网络,决策网络相应的会输出智能体的动作(即第四动作),好奇心网络环境状态(即第四环境状态),从而可以形成由一系列的第四动作和第四环境状态组成训练数据集(即第二训练数据集)。
[0118]
步骤3.4、将第二训练数据集输入至第二神经网络中,利用决策网络的损失函数和好奇心网络损失函数进行反向传播,使损失函数收敛,以得到训练完成的神经网络。
[0119]
初始化阶段结束后,会进入执行动作阶段,智能体通过与环境交互收集数据,在获取奖励阶段根据当前状态确定“外部”的环境奖励和基于好奇心机制的“内部”奖励,然后将这些数据作为特征向量结合奖励函数输入到神经网络中进行训练,最后在训练决策阶段根据策略网络选择能够使奖励值最大的最优动作输出到达下一环境状态中。不断循环迭代这三个阶段直到训练完成。每次训练成功、失败或超出最大训练步长,都需要重新进入初始化阶段对仿真环境进行重置,重新进行仿真。
[0120]
步骤4、利用训练完成的神经网络对导弹进行规避。
[0121]
本发明的规避决策的神经网络结构简单,易于训练且实时性好。
[0122]
本发明利用神经网络作为状态空间到动作空间的映射函数,有效解决了传统算法中状态空间大、动作空间大等缺点。
[0123]
本发明强化学习网络利用近端优化策略算法进行参数更新,大幅提高了训练过程中数据的利用率,使训练收敛速度更快并能得到全局最优解。
[0124]
本发明以飞行器可以自主完成规避导弹追击为目标,首先建立强化学习所需的“飞行器

导弹”训练环境,接着让飞行器以“试错”的方式与环境交互,智能体收集战场信息并使用自身决策网络选择相对较优的空战机动动作作为训练数据,将蒸馏网络的思想结合到传统好奇心驱动算法基础上,通过该改进型好奇算法计算当前奖励值,并使用近端优化算法对决策网络进行参数更新,让飞行器“学习”到可以根据外界环境对导弹进行高效自主规避的决策能力。最后,在不同初始环境下进行仿真实验,利用已训练好的神经网络,使飞行器做出最优的规避机动决策。本发明在飞行器进行导弹规避决策过程中逻辑正确,具有
良好的实时性,为飞行器有效规避导弹追击问题的后续研究提供参考。
[0125]
本实施例在上述实施例的基础上还提供一种具体地机动智能决策规避导弹方法,具体包括:
[0126]
在本实施例中,飞行器使用飞行器动力学模型的内容进行建模,动作值a
t
为飞行器动力学方程中解算飞行器状态。a
t
中3个元素输出均在

1至1之间,表示对襟翼的旋转角控制系数,

1表示襟翼按飞行器自身y轴顺时针旋转最大角度,0表示不旋转,1表示逆时针旋转最大角度(rotate
max
=15
°
),对应的旋转角可由a
t
与最大旋转角度成绩求得;同理表示对发动机的控制系数,1表示发动机达到最大转速rev
max
=10000,

1表示制动效果最大,可由两者成绩计算得出。
[0127]
建立导弹的动力学模型,并采用比例导引法进行制导,该方法是追踪法与平行接近法的折中,它要求导弹制导过程中,速度向量的转动角速度与目标视线的转动角速度成比例。图8为导弹与目标的相对位置示意图。根据图8中的几何关系,可以列出制导导弹应满足的步骤1中的运动方程组。
[0128]
在python端中,重复调用step()方法,直到done为true时结束本次仿真过程,得到observation(环境状态)、action(动作)和reward(奖励)的序列。重复上述过程多次便能得到大量的训练数据,将这些数据处理后输入至网络模型进行训练,即能得到最终的收敛模型,实现飞行器自主规避导弹打击。
[0129]
对强化学习算法进行训练学习。其具体步骤如下:
[0130]
训练环境相关参数设置。本方法作战区域长宽高分别为100000m、100000m、120000m。选取某型导弹的气动系数和相关数据:最大动态视场角60
°
,最大可用法向过载为40rad/s2,导弹发动机工作时间3s,最大飞行时间30s,比例导引法的k值为2,仿真步长0.01s;飞行器初始速度为280m/s,仿真步长0.01s。训练过程中,为增加决策网络的泛化能力,导弹初始速度在650至800间随机均匀抽取,弹目距离在2000至4000m中随机抽取。
[0131]
网络参数设置如表2。在表2中,#unit表示每层神经元的个数,act代表激活函数类型。其中,策略网络与评价网络、预测网络和反向网络的第一层网络参数共享。在激活函数的设计上,策略网络与反向网络输出都是对动作值的预测,因此选择tanh作为激活函数,将输出范围钳制在

1到1之间,其余采用relu作为激活函数。
[0132]
表3网络模型汇总表
[0133][0134]
实验结果
[0135]
为了对本发明提出的算法进行全面评估,本实施例分为验证本发明算法在飞行器规避导弹任务中的有效性、验证本发明算法中的蒸馏模块对智能体探索未知空间能力的提
升及算法收敛速度的提升、验证本算法与其他算法在规避导弹任务中的性能比较三个方面进行比较。
[0136]
基于上述建立的导弹追踪及规避策略模型,因导弹来袭的方位不同,这里选取尾追打击进行仿真实验。表3列出了不同初始条件下飞行器的最终规避结果,其中,每列为不同的初始的导弹和目标之间的距离(m),每行为不同的飞行器初始速度,
×
代表飞行器无论如何都无法规避,

代表飞行器有几率成功规避。
[0137]
表4不同初始条件下飞行器规避结果
[0138][0139][0140]
接下来选取飞行器在两种不同的战场状态对规避算法进行仿真。导弹初始速度为600m/s,弹目初始距离为4000m。图9a显示了导弹从后方逼近时飞行器成功规避打击的飞行器

导弹路径图,图9b为该情况对应的法向过载示意图,可以直观看出,仿真步长大于400后导弹法向过载大于设定临界值40,因此飞行器成功实现了规避导弹的目标。
[0141]
图10a显示了导弹从右方逼近时飞行器

导弹路径图,图10b为该情况对应的法向过载及视场角示意图,从图10b可以看出,虽然在追击过程中,导弹法向过载没有超出范围,但视场角已大于临界值60
°
,说明飞行器已飞离导弹打击范围,成功规避。
[0142]
为验证本发明提出模块的优越性,还需与其他方法进行对比。这里设置传统的ppo为基本算法,在此基础上添加icm模块,记为算法ppo icm,本发明提出的基于ppo的改进型icm算法记为ppo dn

icm(distillation network icm,dn

icm),并以同样的初始条件训练。三种算法网络结构参照表2,训练超参数设置与表4相同。
[0143]
表5其他网络训练超参数汇总表
[0144][0145]
对比实验网络均采用全连接网络,表中数字代表隐藏层神经元个数,括号加粗的
数字代表神经网络的输出大小。ppo网络没有好奇心部分,ppo dn

icm算法中前向网络使用蒸馏思想实现,因目标网络与预测网络结构相同,此处仅列出其中之一的结构。
[0146]
图11为三种不同算法累计奖励值的示意图,其中相同颜色的浅色为算法真实的累计奖励值,对应的深色为使用savitzky

golay算法平滑后的结果。
[0147]
从图11中可以看出,训练初期,三种算法表现不相上下,从1500回合开始,ppo dn

icm表现明显变好,从3000回合开始,ppo icm算法明显表现变好。这是因为经过一段时间的训练后,决策网络已无法决策出合适的动作,蒸馏网络提供的内在好奇心机制激励智能体进行动作探索。
[0148]
所有对比算法训练每经过64个完整过程,都会对网络参数进行更新,因此计算每次迭代后决策网络对规避任务的成功率是十分重要的。根据奖惩值设计可知,只要最终累计奖励值大于0就说明飞行器规避成功。图12是仿真训练过程不同决策网络在不同迭代次数下规避导弹任务的成功率对比。
[0149]
从图12中可以看出,ppo算法虽然能够规避导弹,但成功率最终只有10%左右,icm算法最终的成功率在30%左右,而本文提出算法规避的成功率能到达80%,提升效果显著。
[0150]
接下来从智能体“内部”奖励值的角度来分析两种好奇心驱动算法的优劣。图13展示了训练过程中两种算法“内部”好奇心损失函数的大小示意图,换句话说,该损失函数的大小与“内部”奖励值是正相关的。由此可以发现,两种算法在训练到1600回合左右的时候均出现了较大的“内部”奖励,对应了两算法在1600回合时累计奖励开始增加的阶段,说明算法性能的提升是由好奇心网络模块引起的。从图中还能看出一个重要的信息是ppo dn

icm算法的“内部”奖励在绝大多情况下大于ppo icm算法,说明ppo dn

icm算法更能激励智能体做出决策,体现在飞行器规避导弹的成功率上。
[0151]
本发明在飞行器对导弹规避研究中,综合强化学习的优势,从好奇心驱动技术的角度出发,结合蒸馏网络的思想,重新量化智能体对环境状态的熟悉程度,设计全新的内在奖惩机制,提出了一种改进型的强化学习算法。本发明以自主规避导弹追击为目标,首先建立强化学习所需的“飞行器

导弹”训练环境,让飞行器以“试错”的方式与环境不断互动,同时收集战场信息并通过决策网络选择相对较优的空战机动动作。再根据当前决策获得的“外部”奖励及好奇心驱使产生的“内部”奖励评估决策动作,对机动动作决策网络进行训练,最终使飞行器仅需获知导弹位置、速度等外部信息后,便可做出能够规避打击的最优决策。
[0152]
本发明以unity和python两部分作为基础仿真环境进行实现。首先,以飞行器与导弹动力学模型为基础,根据规避导弹基本原理,在unity中搭建通用的可视化强化学习交互环境,并封装成可执行文件;接着在python中实现算法,将决策网络与蒸馏网络的环境特征提取部分进行权值共享,通过可执行文件与算法不断交互最终使飞行器具有规避导弹的能力;最后,通过使用不同参数、与其他多种算法作比较的方法进行对比实验。从实验结果看,本发明算法能够实现较高的奖励值、更快的收敛速度及更优异的时效性,不仅能够有效实现规避导弹的攻击,而且可以可视化观察完整的规避导弹过程。
[0153]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
[0154]
尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0155]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献