一种基于深度强化学习的无人机集群目标防卫方法与流程

专利2022-06-29  142


本发明涉及机器学习、路径规划和目标对抗领域,尤其是一种无人集群目标防卫方法。



背景技术:

现如今无人机集群的研究越来越受到大家的关注,并且在无人机集群的任务决策、无人机间信息交互与信息融合、协同探测、路径规划、交互手段等方向取得了一定的研究结果,在众多无人机集群的任务序列之中,防卫任务是无法绕开的重中之重。在战场环境中,常常需要对己方的重要战略目标进行防卫,防止敌方目标的袭击,因此将无人机部署到基地周围,用来防范敌方可能来袭的进攻将会成为无人机集群担任的重要任务之一。

当前使用人工智能方法对无人机的行为控制方向的研究主要停留在对单个无人机个体的研究与应用上,针对多无人机集群方向的研究较少。当前研究下无人机集群的结构较为固定,灵活性不足,对于集群的扩展和减少等变化的应对能力不足,未达到智能体集群的自治化要求。使用人工智能进行无人机集群任务规划的研究,任务层级仍然处在比较浅层的阶段。从国内实现的无人机集群的协同任务成果来看,我国的无人机集群较多研究无人机集群协同执行任务时如何有效的防碰撞,而关于无人机载荷,及其执行的更加高层级的任务,诸如:协同探测、协同攻击、协同防御等任务层级的相关研究仍比较少。目前来看,我国的无人机集群研究仍然处在比较初级的阶段。

因此需要构建深度神经网络和强化学习实现动态数量的无人机的指挥控制,保障在不同数量无人机下的指挥控制,充分体现了无人机集群的无中心化、自主化和自治化的特点,并且在无人集群对抗任务中进行更加细致深入的研究。



技术实现要素:

为了克服现有技术的不足,本发明提供一种基于深度强化学习的无人机集群目标防卫方法。本发明无需进行样本数据采集和处理,不需要人为参与,并且在状态空间结构相同的情况下,神经网络模型可以直接迁移到更多数量的无人集群任务中,实现无人集群的无中心化、自主化和自治化。

本发明解决其技术问题所采用的技术方案包括以下步骤:

步骤1:训练阶段具体步骤如下:

步骤1-1:在待防卫战略目标场景的指定区域内初始化来袭目标状态,获得来袭目标的初始位置信息和行为信息;初始化数量为muav的无人机集群于己方防卫目标四周,获得muav架无人机的状态信息,状态信息包括位置(xi,yi),i=1…muav和速度其中xi和yi为第i架无人机位置信息的坐标,为在x和y方向上的速度,;

步骤1-2:建立深度强化学习的训练神经网络,神经网络模型包含四个独立的子神经网络,分别为:netactor-target,netactor-eval,netcritic-target,netcritic-eval;

步骤1-2-1:netactor-target和netactor-eval两个深度神经网络结构完全相同,两个子网络构成actor神经网络,actor神经网络通过输入对场景的观测信息,利用人工神经网络输出无人机集群个体的状态行为,完成无人机与环境的交互过程,在actor神经网络内部netactor-eval神经网络通过训练得到场景的奖惩信息从而更新网络参数,而netactor-target神经网络参数在eval网络参数更新的基础上采用周期性软更新策略进行更新,这样在训练过程中减小了当前状态价值和目标状态价值估计的相关性,提高算法稳定性;

netactor-target和netactor-eval神经网络的构成相同,均为一层输入层和mnet层全连接层人工神经网络,其中输入层的神经元为32个,因为actor神经网络以无人机集群状态和目标状态作为输入,其中每一个无人机的状态表示为位置坐标(x,y)和速度(vx,vy)总共4个维度;对某个无人机训练,则输入包括自身和周边三个最近的无人机以及目标的状态,总共4×8=32个维度;最后一层神经网络为输出层神经网络,包含2个神经元,表示以此刻无人机速度为基准,平行于该速度方向的加速度和垂直于速度方向的加速度为(a//,a⊥),根据运动学公式vt 1=vt at计算下一状态速度,变量vt 1,vt,a均为矢量,其中vt 1为当前状态下无人机的合速度,vt为下一个状态下无人机的合速度,a为当前状态下神经网络的输出加速度矢量和,t为一个状态下无人机运动时间,本发明取t=0.1s,从而无人机根据计算结果在下个状态执行对应动作;

步骤1-2-2:netcritic-target和netcritic-eval是两个结构完全相同的深度神经网络,两个子网络构成了critic深度神经网络,critic深度神经网络通过输入对场景的状态观测,利用人工神经网络输出无人机集群行为的价值评估val,作为actor网络行为输出好坏的评判标准;子网络均为一层输入层和mnet层全连接层人工神经网络,输入层的神经元为34个,包括无人机集群状态、来袭目标状态和己方防卫目标的状态,己方防卫目标状态信息只包含位置坐标(x,y),总共是32 2=34个维度;最后一层神经网络为输出层,包含一个神经元,表示对无人机“状态——行为”的评判val;

步骤1-3:选择深度神经网络的神经元激活函数;

对于非输出层的全连接神经网络的各个神经元内部使用relu非线性激活函数,表达式为f(x)=max(0,x),对于输出层的深度神经网络每个神经元激活函数选择tanh函数,表达式为

步骤1-4:初始化各个深度神经网络的权重参数θ;

权重参数包括连接参数ω和偏置参数b,每一个神经元将前一层神经网络的输出作为输入乘以连接参数ω,再加上偏置参数b,经过激励函数激励后便得到本层神经网络的输出;在训练开始之前对权重参数进行初始化,偏置参数b全部初始化为0,而连接参数ω初始化为正态分布的随机数;

步骤1-5:设置深度强化学习的奖惩函数(回报函数)r;

由于强化学习是一种与场景交互,在试错的过程中进行主动学习的方法,所以需要设置回报函数,来表示无人机交互环境的结果,从而训练神经网络;无人机行为结果的评判标准为:

a、若己方防卫战略目标被地方摧毁,则给予负回报,r=-100;

b、若无人机集群消灭来袭目标,则给予无人机集群行为正向回报,r=100;

c、当己方和来袭目标均没有被消灭时,观察无人机速度和无人机与敌方目标的连线夹角β,若则r=dagent_target-d′agent_target cos(β′)-cos(β);其中abs为绝对值,dagent_target为当前状态下无人机与来袭目标的距离,d'agent_target为下一时刻状态无人机与来袭目标的距离,β'为下一时刻状态无人机速度方向与无人机与敌方目标连线的夹角;

d、若则r=dagent_target-d'agent_target v;v为当前无人机的速度大小;

步骤1-6:设置记忆回放单元;

记忆回放单元用来保存无人机与场景进行交互过程中的相关状态、行为和回报信息;构建大小n=5000的样本存储单元,每一个单元存储信息表示为四元组(s,a,r,s'),其中s为当前状态,a为执行动作,r为对应动作a的奖惩值,s'为执行动作a后的下一个状态。

步骤1-7:设置无人机攻击模块:设置为圆形攻击区域,以无人机为中心,攻击半径为r,当来袭目标进入到无人机攻击区域之后,无人机进行攻击,规定无人机每3个状态周期对来袭目标发动一次攻击,无人机攻击目标的击毁概率与无人机和目标之间的距离有关,具体为其中duav_target为无人机和目标之间的距离,p为每次攻击的击毁概率,m和n为调节系数,本发明m取值-3.777,n取值0.58;

步骤1-8:设置预先规定的训练回合数nhuihe,当训练回合达到训练回合数nhuihe时,训练结束;

步骤1-9:对深度神经网络参数进行训练,训练完成后,得到最终的深度神经网络;具体步骤如下:

步骤1-9-1:在任务场景左下方指定区域随机初始化己方待保护目标的位置,同时在己方待保护目标周围随机初始化muav架无人机的位置信息(xi,yi),i=1…muav、速度信息其中在任务场景右上方指定区域随机初始化来袭目标的位置,设置来袭目标的运动速度vtarget=1.5*max(vuav),方向指向己方保护目标,其中max(vuav)为无人机集群中的最大无人机速度;

步骤1-9-2:获取无人机的状态信息(x,y)和(vx,vy)作为netactor-eval的输入,netactor-eval神经网络的输出即为无人机下一状态的加速度(a//,a⊥);

步骤1-9-3:无人机根据神经网络输出的加速度,使用步骤1-2-1中的运动学公式计算下一时刻的速度,从而在下一个状态期间内无人机以此速度进行位置移动,与目标场景交互,若来袭目标进入无人机攻击范围,则根据步骤1-7设定的攻击模式进行相应打击,并根据步骤1-5返回奖惩函数r计算得到的奖惩值和执行动作后的新的状态信息,状态信息包括位置(x-,y-)和速度(vx-,vy-);

步骤1-9-4:将步骤1-7-2中得到的新的无人机状态信息存入记忆回放单元中,作为netactor-eval网络的一个训练数据;

步骤1-9-5:更新netcritic-eval神经网络的权重参数θ:从记忆回放单元中随机抽取数量为mini-batch的数据作为训练样本,使用时序差分之估计(td-error)方法构建critic神经网络损失函数loss;其中loss=(td-error)2,td-error=r γ*val'-val;r为上个状态得到的奖惩值,val'为下一时刻状态critic网络子网络netcritic-target输出的对该状态的价值评判,val为当前状态netcritic-eval网络输出的价值评判,γ为折扣因子,取值0到1之间;通过训练数据进行损失函数计算,并通过随机梯度下降方法最小化损失函数进行critic神经网络的netcritic-eval的权重参数更新;

步骤1-9-6:更新netactor-eval神经网络的权重参数θ:从记忆回放单元中随机抽取设定数量为mini-batch的数据,构建actor神经网络的损失函数loss=-mean(val),其中val为当前状态下netcritic-eval网络输出的价值评判,mean为求均值,使用随机梯度下降算法对actor神经网络的子网络netactor-eval进行参数更新;

步骤1-9-7:更新netcritic-target和netactor-target神经网络的权重参数θ;

首先判断训练的回合数,当到达更新两个子神经网络netcritic-target和netactor-target的回合时,采用滑动平均的方式进行软更新,actor和critic网络中均使用eval子网络当前状态的参数和target子网络原本参数来更新现在状态下target网络的权重参数;其中使用滑动因子控制变量的更新幅度,使得模型在训练初期参数更新较快,后期逐渐幅度较小。具体公式如下:θ′target=k*θtarget (1-k)*θeval,其中θtarget为更新前netcritic-target和netactor-target神经网络参数,θ′target为更新后的netcritic-target和netactor-target神经网络参数,θeval为netcritic-eval和netactor-eval的神经网络参数,k为滑动因子,取值为0到1;

步骤1-9-8:判断训练是否结束;

根据步骤1-9-3得到的状态信息进行判定:当无人机集群消灭敌方目标或己方目标被消灭时一个训练回合结束,进行神经网络参数保存,训练回合数mhuihe进行加一运算,根据步骤1-8预先设定的训练回合数进行判定,当没有到达指定训练回合时回到训练初始步骤1-9-1,若到达指定训练回合时,结束训练过程,得到最终深度神经网络;当无人机集群没有消灭来袭目标且己方待保护目标也没有被消灭,训练继续回到步骤1-9-2,进行下一个状态的训练;

步骤2:执行阶段具体步骤如下:

步骤2-1:在具有己方防卫战略目标的场景中初始化来袭目标,在己方目标周围初始化数量muav的无人机集群;

步骤2-2:获得无人机集群状态和目标状态,作为步骤1训练完成的深度神经网络的输入数据;

步骤2-3:步骤1训练完成的深度神经网络的子网络netactor-eval根据输入数据计算输出下一状态无人机的加速度值(a//,a⊥),无人机集群根据输出结果和步骤1-2-1中运动学公式进行速度计算并执行动作到达下一个状态,对输出结果进行判定,若目标进入攻击范围,则进行打击,若消灭来袭目标则完成任务,否则返回步骤2-2,生成下一个动作。

本发明的有益效果在于:

1.扩展了无人机集群化任务的状态空间和行为空间;

针对当前使用人工智能的方法对无人机智能体进行研究的过程中将无人机环境进行栅格化的做法,本发明构建了无人机智能体的连续环境状态,极大的扩展了无人机智能体的状态空间,同时也探索了对无人机的行为进行连续化的控制,扩展了无人机智能体的行为空间。

2.构建了面向任务的无人机集群统一的决策网络;

针对当前无人机集群的研究中无人机个体数量必须确定的情况,通过构建面向任务的神经网路,使得在无人机具备统一的状态空间标准的条件下,实现对多个不同智能体的统一决策,通过此网络可以实现对多智能体的同一决策。

3.实现了决策网络对于不定数量的无人机的统一指挥控制;

本发明构建的神经网络实现了动态数量的无人机的指挥控制,保障在不同数量无人机下的指挥控制,充分体现了无人机集群的无中心化、自主化和自治化的特点。

附图说明

图1为本发明训练阶段流程图。

图2为本发明深度神经网络的结构框架图。

图3为本发明基于深度强化学习的无人集群目标防卫结果演示图。

具体实施方式

下面结合附图和实施例对本发明进一步说明。

如图1所示,本发明的具体步骤如下:

步骤1:训练阶段具体步骤如下:

步骤1-1:在待防卫战略目标场景的指定区域内初始化来袭目标状态,获得来袭目标的初始位置信息和行为信息;初始化数量为muav的无人机集群于己方防卫目标四周,获得muav架无人机的状态信息,状态信息包括位置(xi,yi),i=1…muav和速度本发明中环境为200*200的连续环境数据单元,己方被防卫目标以v=3的速度水平向右移动,在周围区域初始化10个无人机,并在右上角区域初始化一个敌方目标,速度恒定:vtarget=2.5*max(vagent)。

步骤1-2:建立深度强化学习的训练神经网络,神经网络模型包含四个独立的子神经网络,分别为:netactor-target,netactor-eval,netcritic-target,netcritic-eval;

步骤1-2-1:netactor-target和netactor-eval两个深度神经网络结构完全相同,都是actor神经网络的子网络,actor神经网络通过输入对场景的观测信息,利用人工神经网络输出无人机集群个体的状态行为,完成无人机与环境的交互过程,在actor神经网络内部netactor-eval神经网络通过训练得到场景的奖惩信息从而更新网络参数,而netactor-target神经网络参数在eval网络参数更新的基础上采用周期性软更新策略进行更新,这样在训练过程中减小了当前状态价值和目标状态价值估计的相关性,提高算法稳定性;

netactor-target和netactor-eval神经网络的构成相同,均为一层输入层和6层全连接层人工神经网络,每层网络的神经元个数为[100,100,300,100,10,2]。其中输入层的神经元为32个,因为actor神经网络以无人机集群状态和目标状态作为输入,其中每一个无人机的状态表示为位置坐标(x,y)和速度(vx,vy)总共4个维度;对某个无人机训练,则输入包括自身和周边三个最近的无人机以及目标的状态,总共4×8=32个维度;最后一层神经网络为输出层神经网络,包含2个神经元,表示以此刻无人机速度为基准,平行于该速度方向的加速度和垂直于速度方向的加速度(a//,a⊥),根据基本运动学公式vt 1=vt at计算下一状态速度,变量vt 1,vt,a均为矢量,其中vt 1为当前状态下无人机的合速度,vt为下一个状态下无人机的合速度,a为当前状态下神经网络的输出加速度矢量和,t为一个状态下无人机运动时间,本发明取t=0.1s,从而无人机根据计算结果在下个状态执行对应动作;

步骤1-2-2:netcritic-target和netcritic-eval是两个结构完全相同的深度神经网络,两个子网络构成了critic深度神经网络,critic深度神经网络通过输入对场景的状态观测,利用人工神经网络输出无人机集群行为的价值评估val,作为actor网络行为输出好坏的评判标准;子网络均为一层输入层和5层全连接层人工神经网络,全连接层的神经元个数为[100,300,100,10,1],输入层的神经元为34个,包括无人机集群状态、敌方目标状态和己方防卫目标的状态,己方防卫目标状态信息只包含位置坐标(x,y),总共是32 2=34个维度;最后一层神经网络为输出层,包含一个神经元,表示对无人机“状态——行为”的评判val;

步骤1-3:选择深度神经网络的神经元激活函数;

对于非输出层的全连接神经网络的各个神经元内部使用relu非线性激活函数,表达式为f(x)=max(0,x),对于输出层的深度神经网络每个神经元激活函数选择tanh函数,表达式为

步骤1-4:初始化各个深度神经网络的权重参数θ;

权重参数包括连接参数ω和偏置参数b,每一个神经元将前一层神经网络的输出作为输入乘以连接参数ω,再加上偏置参数b,经过激励函数激励后便得到本层神经网络的输出;在训练开始之前对权重参数进行初始化,偏置参数b全部初始化为0,而连接参数ω初始化为正态分布的随机数;

步骤1-5:设置深度强化学习的奖惩函数(回报函数)r;

由于强化学习是一种与场景交互,在试错的过程中进行主动学习的方法,所以需要设置回报函数,来表示无人机交互环境的结果,从而训练神经网络;无人机行为结果的评判标准为:

a、若己方防卫战略目标被地方摧毁,则给予负回报,r=-100;

b、若无人机集群消灭来袭目标,则给予无人机集群行为正向回报,r=100;

c、当己方和来袭目标均没有被消灭时,观察无人机速度和无人机与来袭目标的连线夹角β,若则r=dagent_target-d′agent_target cos(β′)-cos(β);β'为下一时刻状态无人机速度方向与无人机与来袭目标连线的夹角;

d、若则r=dagent_target-d'agent_target v;其中dagent_target为当前状态下无人机与来袭目标的距离,d'agent_target为下一时刻状态无人机与来袭目标的距离,v为当前无人机的速度大小;

步骤1-6:设置记忆回放单元;

记忆回放单元用来保存无人机与场景进行交互过程中的相关状态、行为和回报信息;本方法中构建大小n=5000的样本存储单元,每一个单元存储信息表示为四元组(s,a,r,s'),其中s为当前状态,a为执行动作,r为对应动作a的奖惩值,s'为执行动作a后的下一个状态。

步骤1-7:设置无人机攻击模块:本方法中设置为圆形攻击区域,以无人机为中心,攻击半径为r,当来袭目标进入到无人机攻击区域之后,无人机进行攻击,规定无人机每3个状态周期对来袭目标发动一次攻击。无人机攻击目标的击毁概率与无人机和目标之间的距离有关,具体为其中duav_target为无人机和目标之间的距离,p为每次攻击的击毁概率;

步骤1-8:设置预先规定的训练回合数nhuihe,当训练回合达到指定的训练回合数时,训练结束;

步骤1-9:对深度神经网络参数进行训练,训练完成后,得到最终的深度神经网络;具体步骤如下:

步骤1-9-1:在任务场景左下方指定区域随机初始化己方待保护目标的位置,同时在己方待保护目标周围随机初始化muav架无人机的位置信息(xi,yi),i=1…muav、速度信息其中在任务场景右上方指定区域随机初始化对方目标的位置,设置对方目标的运动速度vtarget=1.5*max(vuav),方向指向己方保护目标,其中max(vuav)为无人机集群中的最大无人机速度;

步骤1-9-2:获取无人机的状态信息(x,y)和(vx,vy)作为netactor-eval的输入,netactor-eval神经网络的输出即为无人机下一状态的加速度(a//,a⊥);

步骤1-9-3:无人机根据神经网络输出的加速度,使用步骤1-2-1中的基本运动学公式计算下一时刻的速度,从而在下一个状态期间内无人机以此速度进行位置移动,与目标场景交互,若来袭目标进入无人机攻击范围则根据步骤1-7设定的攻击模式进行相应打击,并根据步骤1-5返回奖惩函数r计算得到的奖惩值和执行动作后的新的状态信息,状态信息包括位置(x-,y-)和速度(vx-,vy-);

步骤1-9-4:将步骤1-7-2中得到的新的无人机状态信息存入记忆回放单元中,作为netactor-eval网络的一个训练数据;

步骤1-9-5:更新netcritic-eval神经网络的权重参数θ:从记忆回放单元中随机抽取32组数据作为训练样本,使用时序差分之估计(td-error)方法构建critic神经网络损失函数loss;其中loss=(td-error)2,td-error=r γ*val'-val;r为上个状态得到的奖惩值,val'为下一时刻状态critic网络子网络netcritic-target输出的对该状态的价值评判,val为当前状态netcritic-eval网络输出的价值评判,γ为折扣因子,取值0到1之间;通过训练数据进行损失函数计算,并通过随机梯度下降方法最小化损失函数进行critic神经网络的netcritic-eval的权重参数更新;

步骤1-9-6:更新netactor-eval神经网络的权重参数θ:从记忆回放单元中随机抽取设定数量为mini-batch的数据,构建actor神经网络的损失函数loss=-mean(val),其中val为当前状态下netcritic-eval网络输出的价值评判,mean为求均值,使用随机梯度下降算法对actor神经网络的子网络netactor-eval进行参数更新;

步骤1-9-7:更新netcritic-target和netactor-target神经网络的权重参数θ;

首先判断训练的回合数,当到达更新这两个子神经网络的回合时,采用滑动平均的方式进行软更新,actor和critic网络中均使用eval子网络当前状态的参数和target子网络原本参数来更新现在状态下target网络的权重参数;其中使用滑动因子来控制变量的更新幅度,使得模型在训练初期参数更新较快,后期逐渐幅度较小。具体公式如下:θ′target=k*θtarget (1-k)*θeval,其中θtarget为更新前netcritic-target和netactor-target神经网络参数,θ′target为更新后的netcritic-target和netactor-target神经网络参数,θeval为netcritic-eval和netactor-eval的神经网络参数,k为滑动因子,取值0.85。

步骤1-9-8:判断训练是否结束;

根据步骤1-9-3得到的状态信息进行判定:当无人机集群消灭来袭目标或己方目标被消灭时一个训练回合结束,进行神经网络参数保存,训练回合数mhuihe进行加一运算,根据步骤1-8预先设定的训练回合数进行判定,当没有到达指定训练回合时回到训练初始步骤1-9-1,若到达指定训练回合时,结束训练过程,得到最终深度神经网络;当无人机集群没有消灭来袭目标且己方待保护目标也没有被消灭,训练继续回到步骤1-9-2,进行下一个状态的训练;

步骤2:执行阶段具体步骤如下:

步骤2-1:在具有己方防卫战略目标的场景中初始化来袭目标,在己方目标周围初始化数量10的无人机集群;

步骤2-2:获得无人机集群状态和目标状态,作为步骤1训练完成的深度神经网络的输入数据;

步骤2-3:步骤1训练完成的深度神经网络的子网络netactor-eval根据输入数据计算输出下一状态无人机的加速度值(a//,a⊥),无人机集群根据输出结果和步骤1-2-1中运动学公式进行速度计算并执行动作到达下一个状态,对输出结果进行判定,若消灭来袭目标则完成任务,否则返回步骤2-2,生成下一个动作。


技术特征:

1.一种基于深度强化学习的无人机集群目标防卫方法,其特征在于包括下述步骤:

步骤1:训练阶段具体步骤如下:

步骤1-1:在待防卫战略目标场景的指定区域内初始化来袭目标状态,获得来袭目标的初始位置信息和行为信息;初始化数量为muav的无人机集群于己方防卫目标四周,获得muav架无人机的状态信息,状态信息包括位置(xi,yi),i=1…muav和速度其中xi和yi为第i架无人机位置信息的坐标,为在x和y方向上的速度,;

步骤1-2:建立深度强化学习的训练神经网络,神经网络模型包含四个独立的子神经网络,分别为:netactor-target,netactor-eval,netcritic-target,netcritic-eval;

步骤1-2-1:netactor-target和netactor-eval两个深度神经网络结构完全相同,两个子网络构成actor神经网络,actor神经网络通过输入对场景的观测信息,利用人工神经网络输出无人机集群个体的状态行为,完成无人机与环境的交互过程,在actor神经网络内部netactor-eval神经网络通过训练得到场景的奖惩信息从而更新网络参数,而netactor-target神经网络参数在eval网络参数更新的基础上采用周期性软更新策略进行更新;

netactor-target和netactor-eval神经网络的构成相同,均为一层输入层和mnet层全连接层人工神经网络,其中输入层的神经元为32个,因为actor神经网络以无人机集群状态和目标状态作为输入,其中每一个无人机的状态表示为位置坐标(x,y)和速度(vx,vy)总共4个维度;对某个无人机训练,则输入包括自身和周边三个最近的无人机以及目标的状态,总共4×8=32个维度;最后一层神经网络为输出层神经网络,包含2个神经元,表示以此刻无人机速度为基准,平行于该速度方向的加速度和垂直于速度方向的加速度为(a//,a⊥),根据运动学公式vt 1=vt at计算下一状态速度,变量vt 1,vt,a均为矢量,其中vt 1为当前状态下无人机的合速度,vt为下一个状态下无人机的合速度,a为当前状态下神经网络的输出加速度矢量和,t为一个状态下无人机运动时间,从而无人机根据计算结果在下个状态执行对应动作;

步骤1-2-2:netcritic-target和netcritic-eval是两个结构完全相同的深度神经网络,两个子网络构成了critic深度神经网络,critic深度神经网络通过输入对场景的状态观测,利用人工神经网络输出无人机集群行为的价值评估val,作为actor网络行为输出好坏的评判标准;子网络均为一层输入层和mnet层全连接层人工神经网络,输入层的神经元为34个,包括无人机集群状态、来袭目标状态和己方防卫目标的状态,己方防卫目标状态信息只包含位置坐标(x,y),总共是32 2=34个维度;最后一层神经网络为输出层,包含一个神经元,表示对无人机“状态——行为”的评判val;

步骤1-3:选择深度神经网络的神经元激活函数;

对于非输出层的全连接神经网络的各个神经元内部使用relu非线性激活函数,表达式为f(x)=max(0,x),对于输出层的深度神经网络每个神经元激活函数选择tanh函数,表达式为

步骤1-4:初始化各个深度神经网络的权重参数θ;

权重参数包括连接参数ω和偏置参数b,每一个神经元将前一层神经网络的输出作为输入乘以连接参数ω,再加上偏置参数b,经过激励函数激励后便得到本层神经网络的输出;在训练开始之前对权重参数进行初始化,偏置参数b全部初始化为0,而连接参数ω初始化为正态分布的随机数;

步骤1-5:设置深度强化学习的奖惩函数r;

无人机行为结果的评判标准为:

a、若己方防卫战略目标被地方摧毁,则给予负回报,r=-100;

b、若无人机集群消灭来袭目标,则给予无人机集群行为正向回报,r=100;

c、当己方和来袭目标均没有被消灭时,观察无人机速度和无人机与敌方目标的连线夹角β,若则r=dagent_targer-d′agent_target cos(β′)-cos(β);其中abs为绝对值,dagent_target为当前状态下无人机与来袭目标的距离,d'agent_target为下一时刻状态无人机与来袭目标的距离,β'为下一时刻状态无人机速度方向与无人机与敌方目标连线的夹角;

d、若则r=dagent_target-d'agent_target v;v为当前无人机的速度大小;

步骤1-6:设置记忆回放单元;

记忆回放单元用来保存无人机与场景进行交互过程中的相关状态、行为和回报信息;构建大小为n的样本存储单元,每一个单元存储信息表示为四元组(s,a,r,s'),其中s为当前状态,a为执行动作,r为对应动作a的奖惩值,s'为执行动作a后的下一个状态;

步骤1-7:设置无人机攻击模块:设置为圆形攻击区域,以无人机为中心,攻击半径为r,当来袭目标进入到无人机攻击区域之后,无人机进行攻击,规定无人机每3个状态周期对来袭目标发动一次攻击,无人机攻击目标的击毁概率与无人机和目标之间的距离有关,具体为其中duav_target为无人机和目标之间的距离,p为每次攻击的击毁概率,m和n为调节系数;

步骤1-8:设置预先规定的训练回合数nhuihe,当训练回合达到训练回合数nhuihe时,训练结束;

步骤1-9:对深度神经网络参数进行训练,训练完成后,得到最终的深度神经网络;具体步骤如下:

步骤1-9-1:在任务场景左下方指定区域随机初始化己方待保护目标的位置,同时在己方待保护目标周围随机初始化muav架无人机的位置信息(xi,yi),i=1…muav、速度信息其中在任务场景右上方指定区域随机初始化来袭目标的位置,设置来袭目标的运动速度vtarget=1.5*max(vuav),方向指向己方保护目标,其中max(vuav)为无人机集群中的最大无人机速度;

步骤1-9-2:获取无人机的状态信息(x,y)和(vx,vy)作为netactor-eval的输入,netactor-eval神经网络的输出即为无人机下一状态的加速度(a//,a⊥);

步骤1-9-3:无人机根据神经网络输出的加速度,使用步骤1-2-1中的运动学公式计算下一时刻的速度,从而在下一个状态期间内无人机以此速度进行位置移动,与目标场景交互,若来袭目标进入无人机攻击范围,则根据步骤1-7设定的攻击模式进行相应打击,并根据步骤1-5返回奖惩函数r计算得到的奖惩值和执行动作后的新的状态信息,状态信息包括位置(x-,y-)和速度(vx-,vy-);

步骤1-9-4:将步骤1-7-2中得到的新的无人机状态信息存入记忆回放单元中,作为netactor-eval网络的一个训练数据;

步骤1-9-5:更新netcritic-eval神经网络的权重参数θ:从记忆回放单元中随机抽取数量为mini-batch的数据作为训练样本,使用时序差分之估计(td-error)方法构建critic神经网络损失函数loss;其中loss=(td-error)2,td-error=r γ*val'-val;r为上个状态得到的奖惩值,val'为下一时刻状态critic网络子网络netcritic-target输出的对该状态的价值评判,val为当前状态netcritic-eval网络输出的价值评判,γ为折扣因子,取值0到1之间;通过训练数据进行损失函数计算,并通过随机梯度下降方法最小化损失函数进行critic神经网络的netcritic-eval的权重参数更新;

步骤1-9-6:更新netactor-eval神经网络的权重参数θ:从记忆回放单元中随机抽取设定数量为mini-batch的数据,构建actor神经网络的损失函数loss=-mean(val),其中val为当前状态下netcritic-eval网络输出的价值评判,mean为求均值,使用随机梯度下降算法对actor神经网络的子网络netactor-eval进行参数更新;

步骤1-9-7:更新netcritic-target和netactor-target神经网络的权重参数θ;

首先判断训练的回合数,当到达更新两个子神经网络netcritic-target和netactor-target的回合时,采用滑动平均的方式进行软更新,actor和critic网络中均使用eval子网络当前状态的参数和target子网络原本参数来更新现在状态下target网络的权重参数;其中使用滑动因子控制变量的更新幅度,使得模型在训练初期参数更新较快,后期逐渐幅度较小;具体公式如下:θ′target=k*θtarget (1-k)*θeval,其中θtarget为更新前netcritic-target和netactor-target神经网络参数,θ′target为更新后的netcritic-target和netactor-target神经网络参数,θeval为netcritic-eval和netactor-eval的神经网络参数,k为滑动因子,取值为0到1;

步骤1-9-8:判断训练是否结束;

根据步骤1-9-3得到的状态信息进行判定:当无人机集群消灭敌方目标或己方目标被消灭时一个训练回合结束,进行神经网络参数保存,训练回合数mhuihe进行加一运算,根据步骤1-8预先设定的训练回合数进行判定,当没有到达指定训练回合时回到训练初始步骤1-9-1,若到达指定训练回合时,结束训练过程,得到最终深度神经网络;当无人机集群没有消灭来袭目标且己方待保护目标也没有被消灭,训练继续回到步骤1-9-2,进行下一个状态的训练;

步骤2:执行阶段具体步骤如下:

步骤2-1:在具有己方防卫战略目标的场景中初始化来袭目标,在己方目标周围初始化数量muav的无人机集群;

步骤2-2:获得无人机集群状态和目标状态,作为步骤1训练完成的深度神经网络的输入数据;

步骤2-3:步骤1训练完成的深度神经网络的子网络netactor-eval根据输入数据计算输出下一状态无人机的加速度值(a//,a⊥),无人机集群根据输出结果和步骤1-2-1中运动学公式进行速度计算并执行动作到达下一个状态,对输出结果进行判定,若目标进入攻击范围,则进行打击,若消灭来袭目标则完成任务,否则返回步骤2-2,生成下一个动作。

技术总结
本发明提供了一种基于深度强化学习的无人机集群目标防卫方法,训练阶段获得来袭目标的初始位置信息和行为信息,建立深度强化学习的训练神经网络,并训练神经网络,执行阶段获得无人机集群状态和目标状态,输入至训练完成的深度神经网络,对输出结果进行判定。本发明扩展了无人机集群化任务的状态空间和行为空间,构建了面向任务的无人机集群统一的决策网络,实现了决策网络对于不定数量的无人机的统一指挥控制。

技术研发人员:张耀中;许佳林;姚康佳;张建东;史国庆;吴勇
受保护的技术使用者:西北工业大学
技术研发日:2020.01.14
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-15978.html

最新回复(0)