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

一种基于强化学习和注意力机制的无人机群调度方法与流程

2021-11-09 22:41:00 来源:中国专利 TAG:


1.本发明涉及一种基于强化学习和注意力机制的无人机群调度方法。


背景技术:

2.近年来,随着人工智能技术的迅猛发展,无人机逐步朝着小型化、智能化方向发展,因其成本低、灵活性高、隐蔽性强,被广泛应用于战场侦察、应急救援等行动中。鉴于单架无人机在续航能力、广域侦察搜索等方面的局限性,多架无人机协同组成无人机集群执行任务成为当前无人机作战应用的重要模式。较之于单架无人机,无人机集群具有明显的规模优势、协同优势等,可有效提高任务完成的可靠性。因此,提升无人机的智能化水平,让无人机能够根据环境状态而自动产生控制指令完成任务中的群体机动是当前主要的研究方向。
3.让无人机完成指定任务中的机动自主决策,其实质是完成从空战态势到群体动作的映射,在不同状态下执行相应的群体动作。由于无人机群在调度时面临的状态十分复杂,靠人工预编程的方法难以全面覆盖广阔的状态空间,同时也无法计算产生最优的动作决策。
4.强化学习是一种采用“试错”的方法与环境交互的学习方法,通过计算当前状态下执行某个动作后的累计回报的期望值大小来判断选择哪个动作能获得最优效果。而且强化学习智能体与环境交互的学习过程不需要训练样本,仅仅需要通过环境的回报值对执行的动作进行评价。将具体实际问题完成在强化学习框架下的实例化需要完成两方面的工作,首先,需要解决实际问题中动作空间的设计问题,合理的动作空间设计能降低问题的复杂度,提升学习效率,其次,需要给定环境反馈给智能体的回报函数的设计。
5.注意力机制是一种在自然语言处理和图像处理领域均取得优异效果的一类方法,普遍认为其能抓住不同状态表征之间的联系。在无人机群中,态势复杂,难以通过预编程的方式决定在什么样的状态之下,应该关注哪一架无人机,注意力机制通过一种可学习的方式来在不同阶段、不同状态之下关注不同的飞机,适用用于无人机调度场景中。


技术实现要素:

6.发明目的:为了解决现有方案效率不够高的问题,提出了一种基于强化学习和注意力机制的无人机群的调度方法,能够在不同态势下关注不同的无人机,并且通过强化学习的方式来对这一机制进行训练,同时还给出了统一的动作空间分解框架调度无人机群,该框架对于无人机数量的改变不敏感,这增强了代码的适应性,并大大减轻了人类操纵指控的压力。
7.本发明方法包括以下步骤:
8.步骤1,根据所观测到的状态信息的维度,调整transformer编码器(一种用于自然语言处理的高效且流行的处理模型)的输入维度和输出头的个数,并给定其他超参数,其他超参数包括编码层的个数、前馈层的维度和编码维度,通常来说编码层的个数设置为6,前
馈层维度设置为2048,编码维度设置为512;
9.步骤2,收集仿真器给出的关于飞机状态信息,包括飞机编号id、空间横坐标x和纵坐标y、是否打开雷达干扰is_radar_on、干扰频点freq,将收集的信息经过预先编码后组装成为transformer编码器的状态输入s=(id,x,y,is_radar_on,freq);
10.步骤3,将当前transformer编码器的输出送入指针网络得到解码结果,解码结果为基于注意力机制得到的索引,也就是当前状态下最应该给予关注的目标单位的索引,并将该索引作为第一个输出头的结果;
11.步骤4,将transformer编码器的输出和指针网络的输出送入下一层全连接网络得到第二个输出头,第二个输出头的输出动作代表所选动作类型是飞行或者打击;最后将transformer编码器的输出加上第一个输出头的输出、第二个输出头的输出送入后续的全连接网络得到第三个输出头,代表所选的目标地点;根据解码得到的目标单位的索引,以及第二个输出头、第三个输出头的内容,给出无人机群的相应动作,转换为仿真平台能够接收的指令并发送给仿真平台;
12.步骤5,收集仿真平台返回的新状态和即时奖励信息,在收集了x(一般取值256)批次的数据之后,在ppo近端策略优化算法的框架下,得到梯度下降方向,并基于反向传播算法修正网络参数。
13.进一步地,所述步骤1中,输入到transformer中的状态信息不需要经过嵌入层,这是与自然语言处理中所作的预处理不太一样的地方。
14.进一步地,所述步骤2中,需要对状态做出一定的编码,这属于特征工程的一部分,有利于稳定神经网络的训练,具体操作包括对空间坐标作[

1,1]区间的归一化编码、对是否打开雷达干扰作独热编码、同时保证每一架飞机的状态信息在transformer编码器的状态输入中的位置固定,transformer编码器的输出即可认为是在考虑了不同单位之间关联关系的基础上,对当前仿真状态的编码,它以一种可学习的方式随时纠正编码结果,因此可以认为能够挖掘出潜在映射关系。
[0015]
进一步地,所述步骤3中,将当前transformer编码器的输出送入指针网络,将输出记为(e1,

,e
n
)=trans(s),其中(e1,

,e
n
)为transformer编码器的编码输出矩阵的列向量,e
n
表示transformer编码器的编码输出矩阵的第n列向量;trans代表transformer对状态输入s所进行的操作,基于注意力机制进行解码的时候,最终希望得到一个索引序列c1,c2,

,c
i
,其中c
i
代表无人机群中的第i架无人机,将任务建模为在已知序列c1,c2,

,c
i
‑1的情形下,最大化c
i
出现的后验概率指针网络通常是基于lstm网络(长短期记忆网络)实现的,在指针网络的注意力机制中,所述任务形式化为如下公式:
[0016][0017][0018]
其中,v,w1,w2为transformer

pointernet网络的可训练参数,v
t
为可训练参数v的转置,transformer

pointernet网络是transformer编码器和指针网络合成的编码解码结构,指针网络是基于lstm网络实现的,tanh为双曲正切激活函数,softmax是一类最大值函数,(d1,

,d
m
)是解码的lstm网络每一步输出的隐状态;代表transformer

pointernet
网络的第i个输出e
i
与解码的lstm网络的第j个输出d
j
之间的关联分数,u
i
为所有组成的向量,即
[0019]
注意力机制在每次解码的时候,从transformer编码器的编码输出中得到与当前解码联系最紧密的部分,并将u
i
作为softmax函数(一类最大值函数)的输入,最后将最大概率对应的索引作为当前步的输出结果,注意力机制告诉目前最应该关注该单位。由于通常不希望总是选到同一个单位,因此需要综合考虑解码的历史步所选出的索引,将所有这些排除在外,在此处需要小心引入自回归掩码去除掉这些已经被选出来的单位。
[0020]
进一步地,所述步骤4中,将三个输出头的动作进行组装,第一个输出头指定整体动作的主语,也就是由指针网络选出的单位去执行动作,第二个输出头指定该执行的动作,也就是到底是飞行还是攻击或者是其他动作,第三个输出头指定动作的客体,也就是最后的目标是哪,是攻击某单位,还是飞到某地点。而且每一个输出头的输出都会作为输入进入到下一个输出头中去,这一操作的必要性在于,主谓宾的每一项的内容对于下一项输出内容应该是有影响的。
[0021]
进一步地,所述步骤5中,收集固定长度间隔的时间步上的对应状态s
t
、动作a
t
、即时价值函数r
t
,根据一般优势估计得到优势函数为:为:
[0022]
其中t表示当前时刻,γ为价值折现因子,λ为价值衰减因子,δ
t
=r
t
γv(s
t 1
)

v(s
t
),δ
t
为时序差分误差,t代表最长时间步,v(s
t
)是价值网络对于当前状态的价值估计,v(s
t 1
)为当前步的下一个时间步所处于状态的价值估计,损失函数l
t
(θ)通过下式计算:
[0023][0024]
其中为策略损失函数,为价值估计损失函数,代表求到当前时刻为止的期望,s[π
θ
](s
t
)是策略π
θ
之下状态s
t
的熵损失,v
θ
(s
t
)为当前网络参数θ之下对状态s
t
的价值函数的估计值,为从采样数据中得到的当前状态所对应价值函数的真实值,r
t
(θ)为在旧参数网络(更新之前的网络)之下的价值函数和新参数网络(更新之后的网络)下的价值函数的比值,clip为截断函数,将比值r
t
(θ)的值限制在1

ε和1 ε之间,ε为阈值因子,一般设置为0.2;c1,c2为待定常数,通常在算法训练过程中调整这些值以保证最终效果最佳,
[0025]
将损失函数l
t
(θ)对神经网络参数θ作梯度下降:得到更新后的参数θ
t 1
,其中为梯度算子,α为每一次更新的步长,即学习率,重复此过程,直到算法收敛。
[0026]
有益效果:本发明提供了一种针对无人机群的统一调度框架,在无人机有所增减的情况无需对代码作出过多改动;其次,本发明给出的transformer

poinernet(指针网络)架构决定了无人机在面对复杂态势时如何给出相应行动,通过神经网络学习的方式对态势进行动态深入解析,而无需通过预编码的方式处理,这使得该模型有潜力应用于各种场景中。
附图说明
[0027]
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0028]
图1为本实施例的流程图;
[0029]
图2为本实施例的网络结构示意图;
[0030]
图3为本实施例的全连接神经网络的训练初期示意图;
[0031]
图4为本实施例的transformer编码器加指针网络解码器神经网络的训练初期示意图。
具体实施方式
[0032]
参照图1所示的流程,本发明提供了一种基于强化学习和注意力机制的无人机群调度方法,包括以下几个步骤:
[0033]
步骤1,根据所观测到的状态信息的维度,调整transformer编码器的输入维度和输出头的个数,并给定其他超参数,包括编码层的个数、前馈层的维度、编码维度;
[0034]
步骤2,收集仿真器给出的关于飞机状态的各类信息,包括飞机编号、空间坐标、是否打开雷达干扰、干扰频点,将这些信息组装成为transformer编码器的状态输入;
[0035]
步骤3,将transformer的输出送入指针网络,给出解码结果,其输出结果为基于注意力机制得到的索引,给出当前状态下最应该给予关注的目标单位,并给出其索引。
[0036]
步骤4,根据解码得到的目标单位的索引,以及其他两个输出头的内容,给出多智能体系统的相应动作,转换为仿真平台能够接收的指令发送给平台;
[0037]
步骤5,收集仿真平台返回的新状态和即时奖励信息,在收集了一定批次的数据之后,在ppo算法的框架下,得到梯度下降方向,并基于反向传播算法修正网络的参数。
[0038]
接着对步骤1进行详细描述。
[0039]
设定场景中共有10架飞机,5架a方飞机,5架b方飞机,首先对a方5架飞机进行编号,设置transformer参数的时候,需要根据当前所拥有的计算能力作出调整,而且需要注意的是编码维度参数需要是transformer多头注意力中头数的整数倍。在提出transformer的原文中编码器的结构:编码维度为512,编码层数为6,前馈层的维度为2048。本发明采用的transformer编码器结构如图2中左半部分所示,其中shortcut层为残差连接,图2右半部分中的h1,h2,h3,

为负责解码的lstm网络每一步的隐状态输出。
[0040]
接下来在步骤2中,仿真平台给出的飞机信息包括编号、是否存活、x坐标、y坐标、航向角、雷达开关状态、雷达频点。对雷达频点作独热编码,对x坐标和y坐标、航向角作归一化处理,其余特征不作处理,这些信息拼接后作为一架飞机的特征,在每一时间步t,将5架飞机的特征拼接在一起得到状态输入s
t
,并且送入transformer。
[0041]
然后在所述步骤3中,将当前transformer的输出送入指针网络,基于注意力机制,在每次解码的时候,希望得到解码序列c1,c2,

,c
i
,这个任务建模为,在已知序列c1,c2,

,c
i
‑1的情形下,得到c
i
出现的概率,也就是最大化c
i
的后验概率在指针网络的注意力机制中,形式化如下:
[0042]
[0043][0044]
其中,(e1,

,e
n
)为transformer的编码输出,(d1,

,d
m
)是解码网络的隐状态,注意力机制在每次解码的时候,从transformer的编码输出中得到与当前解码联系最紧密的部分,并将u
i
作为softmax函数的输入,最后将最大概率对应的索引作为当前步的输出结果,也就是注意力机制告诉目前最应该关注该单位。由于不希望选到同一个单位,因此需要综合考虑解码的历史步所选出的索引,将所有这些排除在外,在此处需要小心引入自回归掩码去除掉这些已经被选出来的单位。
[0045]
然后在所述步骤4中,需要根据每个输出头的动作将其组装,一般来说,第一个输出头指定整体动作的主语,也就是由指针网络选出的那些单位去执行动作,第二个输出头指定该执行什么动作,也就是到底是飞行还是攻击或者是其他动作,第三个输出头指定动作的客体是谁,也就是最后的目标是哪,是攻击某单位,还是飞到某地点。而且每一个头的输出都会作为输入进入到下一个输出头中去,这一操作的必要性在于,主谓宾的每一项的内容对于下一项输出内容应该是有影响的。
[0046]
然后在所述步骤5中,需要根据每个输出头的动作将其组装,一般来说,第一个输出头指定整体动作的主语,也就是由指针网络选出的那些单位去执行动作,第二个输出头指定该执行什么动作,也就是到底是飞行还是攻击或者是其他动作,第三个输出头指定动作的客体是谁,也就是最后的目标是哪,是攻击某单位,还是飞到某地点。而且每一个头的输出都会作为输入进入到下一个输出头中去,这一操作的必要性在于,主谓宾的每一项的内容对于下一项的输出内容有影响。
[0047]
神经网络的训练步骤:
[0048]
(1)首先根据仿真平台的输入形成状态矩阵s
t
送入transformer中,编码形成的隐向量h
t
作为后续三个输出头的初始输入;
[0049]
(2)首先h
t
进入到指针网络,并给出动作输出头1的动作分量也就是所选单位;输出头1的结果拼接上隐状态h
t
作为第二个前馈层的输入,并且给出第二个动作分量动作输出头1和2的输出结合隐状态h
t
作为输入进入到第三个动作输出的前馈层,给出第三个动作分量最后由于演员和评论家通常共用部分网络,因此通常在输出动作的同时还需要输出值函数,隐状态h
t
通常会进入价值函数逼近的前馈层,并且输出对于当前状态的价值估计v(s
t
)。
[0050]
(3)将动作分量组合成完整动作并将其转换为仿真平台能够接收的指令输入仿真平台,并且获取下一个时间步的状态s
t 1
,以及即时奖励r
t

[0051]
(4)收集固定批次的数据d
t
=(s
t
,a
t
,s
t 1
,r
t
),并根据ppo算法极小化损失函数按照a2c的模式同步对于参数θ的更新,由中心学习器更新完参数之后分发给不同仿真容器的动作执行网络中去;
[0052]
(5)持续以上步骤直到整体回报函数达到收敛,同时策略的熵趋于稳定。
[0053]
在本实施例中,根据状态的输入,可快速达到收敛状态,并且效果明显优于单纯基于全连接层的方法,这说明基于transformer

pointernet的编码解码网络更能抓住一些隐层特征,如图3和图4所示,图3和图4中的横坐标为决策步,且相邻决策步之间的时间间隔相
等,纵坐标为当前时间b方战损飞机数量(图中的blue_dead_count即表示b方战损飞机数量),从图3和图4可以看出采用transformer

pointernet编码解码网络的模型在开始时比采用全连接网络的模型战损飞机更多,表现效果更好。
[0054]
出于实用性的考虑,本发明提出了一种基于注意力机制和强化学习的无人机调度方法,并且给出了一类复杂场景之下动作空间分解的框架,适用于多智能体情形下动作空间的设计,而且对无人机群的扩容有很好的兼容性,同时基于任务反馈可以通过强化学习算法改进调度策略,大大减轻人类去操纵控制的负担。
[0055]
本发明提供了一种基于强化学习和注意力机制的无人机群调度方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
再多了解一些

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

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

相关文献