APP下载

AdaBoost-PSO-LSTM网络实时预测机动轨迹

2021-05-31丁达理魏政磊汤安迪

系统工程与电子技术 2021年6期
关键词:预测器网络结构权值

谢 磊, 丁达理, 魏政磊, 汤安迪, 张 鹏

(空军工程大学航空工程学院, 陕西 西安 710038)

0 引 言

轨迹预测是自主空战中的一个重要内容,对于机动决策技术有着非常深远的影响,在双方对抗过程中,拥有轨迹预测技术的一方将会更加迅速地占据态势优势,完成打击任务。轨迹预测问题的本质是时间序列的预测问题,且具有高度的非线性和时变特性[1]。其理论依据是物体的运动状态具有一定的连续性,控制量不会发生突变,这意味着未来时刻的位置必然与之前时刻有一定的相关性。机动轨迹预测是指在空战过程中处理前一段时间内的三维轨迹,通过预测方法得到未来一段时间内的轨迹。在空战对抗体系中,由于飞机机动性能较强,轨迹多变,长时段的预测会使精度大大降低,仅预测后一时刻的位置就已经具备预判条件。因此,一个迅速又准确的机动轨迹预测方法在空战对抗中显得极为重要。

国内外学者为解决轨迹预测问题提出多种方法。文献[2]采用随机非线性混合系统模拟飞机动力学,将飞机轨迹预测转化为贝叶斯估计问题,利用粒子滤波方法提供数值解,但当轨迹发生剧烈变化时,预测精度会降低。文献[3]提出一种基于配置法的非线性模型预测方法,预测精度相比于传统的线性模型大幅提高,实时性能也能够满足要求,但仅在低速条件下进行测试,在高速飞行轨迹预测时误差会放大。文献[4]在二阶隐马尔可夫模型的基础上,设计了火花平台下的轨迹预测框架,相比于隐马尔可夫模型和核平滑变阶马尔可夫模型鲁棒性能更好,但该算法在预测精度上还有待提高。文献[5]根据历史轨迹的特征进行聚类,对每一聚类训练一个隐马尔可夫模型,但在实际飞行轨迹中,根据不同的特征会划分出过多的类别,导致预测的实时性能无法满足。文献[6]利用气动参数设计机动模式集,通过蒙特卡罗采样和贝叶斯理论实现轨迹预测,相对于传统的外推理论精度更高,但要求建立一个较为完善的机动模式集,在实际情况中很难进行完善。文献[7]采用混合粒子群优化(hybrid particle swarm optimization, HPSO)算法优化Elman网络的初始权值和阈值并提出将三维坐标拆分进行独立预测,虽有更高的收敛速度,在各坐标上的相对误差也大大降低,但随着飞行距离的不断增加,其绝对误差会逐渐偏大。文献[8]对轨迹建立模型,提出了基于多元正态分布的最佳线性预测器,较大幅度地提高了预测精度,但该方法进行预测会产生延迟,实时性能不够。文献[9]提出了基于高斯混合模型的轨迹预测方法,利用高斯混合模型计算不同运动模式的概率分布,其预测结果是未来所有可能运动轨迹的概率分布,在自由空战中三维模型会产生大量不同的运动模式,预测结果可能会变成多种小概率事件,所以在多维运动中适应性不高。文献[10]将灰色理论和动态测量理论结合,利用最小方差估计值代替实际值,引入微分方程,求解预测轨迹,该方法无法准确地对参数估值,降低了预测的准确性。文献[11]提出一种基于隐马尔可夫模型的轨迹预测方法,在隐形马尔可夫过程中加入自适应参数,提高了预测效率,并能够自适应调整轨迹预测长度。

随着2012年Hinton课题组通过构建卷积神经网络(convolutional neural networks, CNN)参加ImageNet图像识别比赛,且以碾压性的优势远超第二名,深度学习开始进入爆发期,在轨迹预测方面也得到广泛应用。文献[12]提出了一种飞机4维轨迹预测模型,将CNN与长短期记忆(long and short term memory,LSTM)网络结合,预测精度相比于单一模型更高,但其缺点是只能进行短期预测,且飞机轨迹变化不能过于剧烈,适用范围有限。文献[13]提出了一种深度编码和深度解码的序列到序列的深度LSTM网络用于轨迹预测,提高了预测的准确性和鲁棒性,但其仅应用于飞机航行的终端空域,终端空域的轨迹都较为平滑,在复杂轨迹情况下预测精度会大幅降低。文献[14]提出了一种模糊长短时记忆神经网络,解决了目标运动的尖锐边界问题,依靠历史轨迹的邻近性和周期性进行预测,准确率较高。上述研究表明,深度神经网络计算速度非常快且并不需要过多的外界参数输入,更不需要人为估值,相对于传统的滤波算法、反向传播(back propagation,BP)网络和Elman网络预测准确率更高。

由于没有具备自主空战的飞机,且实际对抗成本过高,因此本文建立三自由度无人机(unmanned aerial vehicle, UAV)动力学模型,解决了机动轨迹数据来源的问题。目前的技术仅能探测对手的位置信息,无法确定其控制量的大小,必须建立一个仅通过历史轨迹就可以迅速进行预测的方法。循环神经网络(recurrent neural network, RNN)是一类专门用于处理序列数据的神经网络,而历史轨迹正是一串时间序列数据。在实际运用过程中,RNN在处理长序列输入时往往会丧失了学习能力,因此采用RNN的一种变体——LSTM网络结构。但LSTM解决梯度问题并不完善,主要是由于内部权值训练仍采用基于时间的BP(BP through time, BPTT)算法,不断地链式求导再累乘就会导致“梯度爆炸”和“梯度消失”现象。为避免这一问题,采用粒子群优化(particle swarm optimization, PSO)算法优化内部多维权值。为增加预测精度,通过自适应增强(adaptive boosting, AdaBoost)算法建立强预测器。最后与传统的AdaBoost-BP、CNN、RNN、LSTM和PSO-LSTM在一段变化较为频繁的机动轨迹上进行对比预测。

1 UAV三自由度模型建立

UAV三自由度模型对UAV的运动状态进行描述。现作出如下假设:① 将UAV视为质点,不考虑其形状;② 忽略侧滑角;③ 忽略地球自转和曲率的影响,将地面坐标系作为惯性坐标系;④ 忽略气流与阵风的影响;⑤ 忽略高度与经纬度对重力加速度的影响。基于以上假设,可以建立如下质点模型[15]:

(1)

2 AdaBoost-PSO-LSTM集成预测方法

2.1 LSTM网络

神经网络主要分为前馈网络和反馈网络[16]。前馈神经网络每次输出仅依赖当前输入,不具备考虑不同时刻输入之间相互影响的能力,所以在处理时序性问题时一般采用反馈网络。RNN就是一类专门处理时序数据样本的反馈网络[17-19]。RNN中不仅包含传统的输入到隐层,隐层到输出的过程,还具有隐层到隐层的传递过程,结构如图1所示。可以清楚地看出,隐层的输出不仅取决于输入还与上一时刻的隐层输出有关,因此RNN能够将同一序列中不同时刻输入关联起来。在理论上,当数据存在长间隔的依赖或依赖范围随时间变化的问题时,RNN可以较好地解决,但在实际过程中由于数据信息流过长,计算量会爆炸式增长,难以学习长期依赖关系[20]。因此,RNN的变体LSTM网络[21-23]被提出,本文也采用该种网络结构。

图1 RNN结构图Fig.1 RNN structure diagram

LSTM网络相对于RNN而言,增加了3个门控系统分别为:输入门、遗忘门和输出门,具体网络单元如图2所示。Ct-1为上一单元状态,ht-1为上一单元输出,Xt表示为当前时刻网络单元的输入,Ct和ht分别表示为当前网络单元的状态和输出。

图2 LSTM网络单元Fig.2 LSTM network unit

LSTM网络主要通过单元状态来进行信息的传递。从计算过程来看,Ct-1首先和遗忘门的输出进行乘积,再和输入门的输出累加。本质就是将上一时刻的信息进行更新,再与当前时刻信息融合,通过这种方式长期记忆信息。为了保证数据的精简,增加了遗忘门,将ht-1和Xt拼接为单个向量,通过Sigmoid激活函数,把数据规整至0~1之间,其中1为“完全保留”,0为“完全抛弃”,利用该方法有效地进行了数据筛选,避免了无用运算。具体遗忘门计算公式为

Ft=σ(Wfg[ht-1,Xt]+bf)

(2)

式中,σ表示Sigmoid激活函数;Wf表示遗忘门内部权值;bf表示遗忘门内部偏执;g表示向量拼接。

输入门决定当前单元的输入信息。通过tanh函数表示当前信息,同时利用Sigmoid函数决定哪些信息是有用,哪些是无用,与tanh函数输出相乘,输入到当前单元状态,公式为

it=σ(Wig[ht-1,Xt]+bi)·

tanh(Wcg[ht-1,Xt]+bc)

(3)

式中,Wi表示输入门权值;bi表示输入门偏置。

输出门决定当前单元的输出。将当前单元状态Ct经过tanh函数表示,同时把ht-1和Xt利用Sigmoid函数激活,两者相乘,其结果就是当前单元输出ht,计算公式为

Ot=σ(Wog[ht-1,Xt]+bo)

(4)

ht=Ot·tanh(Ct)

(5)

式中,Wo表示输出门权值;bo为输出门偏置。

LSTM网络正是通过3个门的控制在一定程度上解决了RNN处理序列时的长期依赖问题,因此也采用该网络进行轨迹预测。在文献[7]中已经提出三维坐标独立进行预测相对于整体预测精度更高,所以将x、y和z轴上的坐标单独作为LSTM网络的输入。在利用三自由度模型仿真轨迹时,每次采样数据间隔0.3 s,10次采样为一组,通过前9个样本构建5×5滑动模块矩阵,预测第10个样本数据。

滑动模块输入矩阵:

(6)

滑动模块预测输出修正矩阵:

(7)

LSTM网络在线测试时通过已知矩阵前4行预测数据进行实时修正,及时调整内部权值和偏置,此时网络输入节点为5,输出节点为1。

2.2 PSO优化权值

LSTM网络通过3个门控系统并没有完全解决网络的“梯度消失”和“梯度爆炸”问题,其主要原因就是内部权值更新采用传统的BPTT算法,不断地链式求导再累乘。为避免这一现象,采用PSO算法[24]把权值更新转化为最优化问题,具体过程如图3所示。

图3 PSO优化LSTM内部权值流程图Fig.3 Flow chart of internal weight for PSO optimized LSTM

当采用非定向性的优化算法时与梯度下降方法相比难免会增加更新时间,为此采用数据共享,在第二次以后的预测过程中PSO算法的种群初始设置变为第一次预测的最优种群,大幅度地减少算法初期的搜索时间。在算法迭代寻优过程中,采用LSTM网络误差作为适应度函数,如果3次连续迭代都没有发生变化,则判定算法搜索陷入停滞,采用高斯随机游走策略(Gaussian random walk strategy, GWS)[25]突破局部限制。GWS模型如下:

X(t+1)=Gaussian(X(t),s1)

(8)

(9)

为验证改进后PSO-LSTM网络相对于传统网络,在在线预测方面更加快速准确,利用模型采样5组数据,进行预测,结果如图4所示。

图4 PSO-LSTM与LSTM预测对比Fig.4 Prediction comparison of PSO-LSTM and LSTM

经过相同的数据检验,PSO-LSTM网络相对于传统的网络,预测时间更加快,且5次预测的平均误差也比LSTM网络低,所以共享数据后的PSO算法调整LSTM网络内部权值可以做到更加快速,加入高斯游走策略以后也提升了预测精度。

2.3 AdaBoost集成强学习器

AdaBoost算法[26-29]是一种提升预测精度的方法,将多个弱预测器组合成强预测器,采用该方法搭建的整体外框架如图5所示。将PSO-LSTM网络作为其弱预测器进行训练,前一个网络分错的样本的权值会得到加强,权值更新后的样本再次被用来训练下一个网络。在每轮训练中,用总体样本训练新的PSO-LSTM,产生新的样本权值和该弱预测器的权重,一直迭代直到达到预定的错误率或指定的最大迭代次数。

图5 AdaBoost框架图Fig.5 AdaBoost framework diagram

具体算法流程如下。

步骤 1初始化训练数据权值分布。每个样本赋予相同权值Wi=1/N,N为样本总数。第一次迭代后每个样本的权值集为D1=(W11,W12,…,W1N)。

步骤 2设置弱预测器数量K。根据时间与精度要求综合设置弱预测器个数。

步骤 3弱预测器预测。训练第t个弱预测器,采用训练数据在PSO-LSTM网络中预测,得到输出结果f(x),与实际值y比较得到误差函数值et,计算公式为

(10)

步骤 4计算弱预测器权重。根据误差函数值计算弱预测器权重at,计算公式为

(11)

步骤 5更新训练数据样本权值。通过弱预测器权重at调整训练数据样本权值,更新公式为

(12)

式中,β为归一化因子,使得在权重比例不变的情况下使分布权值。

(13)

步骤 6强预测函数。弱预测器训练K次以后,得到K组弱预测预测值,组合后得到强预测器。强预测器预测计算公式为

(14)

3 网络结构

3.1 PSO-LSTM网络结构选取

由于网络的输入层和输出层的节点数量已由滑动模块输入矩阵确定,因此PSO-LSTM网络结构主要是设置隐藏层和隐藏层节点数量,由于隐藏层数量的增加会造成时间成本的快速增加,考虑到机动预测对时效性的高要求,设置双隐藏层网络结构。

隐藏层节点数与解算的复杂程度和输出精度有着直接的联系,节点数过多时会造成网络泛化能力缺失,甚至出现“过拟合”现象;节点数过少时,则会造成训练能力降低,性能较差[30]。因此,选择不同节点数的网络进行预测寻找出较优的网络结构。预测时间如图6(a)所示,预测精度如图6(b)所示。从图6可以看出,节点数的增加对预测时间影响并不是很大,都在0.035 s左右浮动,相对于0.3 s采样时间是可以接受的。从图6(b)可以看出,在节点数为8时预测绝对误差最小,因此双隐藏层网络节点数选择为8。

图6 预测指标与节点数关系Fig.6 Relationship between prediction index and node number

3.2 AdaBoost弱预测器数确定

从Boosting思想[31]到AdaBoost算法,关键是引入了在线分配算法思想。在AdaBoost算法中,在线分配算法的策略就是每一个弱分类器,根据每个策略所造成的损失值确定其在整体中的权重,这也正是AdaBoost算法弱分类器权重的理论来源。为了得到高拟合精度的强分类器,需要加入多个弱分类器,但这就会修改已有弱分类器的集成方式,增加复杂度。AdaBoost使用贪心策略避免了该问题,采用线性加和的方式加入新的弱分类器。线性加和的确大大提高了精度,简化了算法,但运算时间也成了新的问题。在机动轨迹预测方面,由于空战变化非常剧烈所以对实时性要求很高,而弱预测器的数量K正是精度和时间的决定性因素。

在确定PSO-LSTM网络层数和节点数以后,将其作为弱预测器对AdaBoost框架进行填充,尝试不同数量的弱预测器。为克服寻优算法的偶然性,对同一K值的强预测器多次预测,取平均误差和平均时间,确定最合理的弱预测器数量,结果如表1所示。

表1 不同K值的强预测器误差与时耗

4 实时轨迹预测

为验证提出的预测模型切实有效,选取一段变化较为复杂的飞行轨迹,在实时性和准确率两方面与传统的AdaBoost-BP、CNN、RNN、LSTM和LSTM-PSO网络进行对比。

4.1 单步时效性验证

由于机动轨迹变化的多样性,所有网络的离线预测需要大量数据进行训练且准确率并不能够得到保证,所以都采用滑动输入模块的在线预测方法,并在此基础上进行单步预测时间对比。

从图7中可以看出,所有网络结构在线预测的单步时间相差并不是很大,均在0.12 s以下,其中PSO-LSTM网络所用时间最短约为0.04 s,而AdaBoost-PSO-LSTM所用时间约为0.08 s,相对于0.3 s的采样间隔能够及时地提供预测信息,实时性较好。

图7 单步时间对比Fig.7 Comparison of single step time

4.2 轨迹预测精度对比

利用三自由度模型随机产生一组机动轨迹,采样300次,每10组进行一次预测,共预测30个周期。为能提高预测精度采用三维坐标独立预测[7],与其他预测方法进行误差对比。由图8可知,AdaBoost-PSO-LSTM网络在3个轴上的误差均为最小,与实际轨迹最为切合。相对而言,x轴和y轴的预测结果较好,x轴误差均值为1.9 m,y轴误差均值为2.1 m。由于该机动在z轴上的变换较为剧烈,造成多次飞行趋势的变化,这也就产生了相对较大的误差,最大为13.7 m,z轴误差均值为8.3 m。相对于传统的深度学习网络[13]在离线训练后预测,精度有明显提高。在图9所示的三维轨迹视图中可以较为清楚地发现,AdaBoost-PSO-LSTM网络预测的轨迹并没有很多的突变,而传统的CNN、RNN和LSTM网络预测点绘制的轨迹都有较多的突变点,这与实际情况不相符合。PSO-LSTM网络和AdaBoost-BP网络的预测点与实际轨迹较接近,但相比之下AdaBoost-PSO-LSTM网络预测的轨迹最贴近实际轨迹,大部分情况下都是处于一种重合状态,只有少部分预测点有较小的偏离,所以在精度上AdaBoost-PSO-LSTM网络相对于其他网络效果更好。

图8 预测及误差雷达图Fig.8 Prediction and error radar chart

图9 三维轨迹预测结果Fig.9 Three dimensional trajectory prediction results

5 结 论

针对近距空战格斗中轨迹预测问题,提出了AdaBoost-PSO-LSTM网络结构,并进行实时预测仿真,得到以下结论:

(1) 采用PSO优化算法代替传统BPTT算法对LSTM网络内部权值更新进行轨迹预测,所需时间更短,能够满足在线预测的时间要求,精度也有所提高;

(2) 利用AdaBoost算法搭建网络外框架能够较大幅度地提升预测精度,并且可以根据时间要求改变内部弱预测器数量,使得轨迹预测能够同时满足实时性能和精度要求;

(3) 通过对比仿真确定网络结构,在一段变化较为频繁的轨迹上进行预测,精度方面明显比AdaBoost-BP、CNN、RNN、LSTM和PSO-LSTM网络更好,所用时间也在预测的允许范围内,说明网络结构选取合理;

(4) 在所选择的轨迹上,x轴平均误差为1.9 m,y轴平均误差为2.1 m,z轴平均误差为8.3 m,与传统的深度学习网络离线训练再预测的结果相比有显著的提高。

猜你喜欢

预测器网络结构权值
一种融合时间权值和用户行为序列的电影推荐模型
输入延迟系统的切换伪预测镇定控制器
基于真实历史反馈的自适应值预测器的设计与优化*
CONTENTS
一种改进型TAGE分支预测器的实现
基于权值动量的RBM加速学习算法研究
基于多维度特征权值动态更新的用户推荐模型研究
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
沪港通下A+ H股票网络结构演化的实证分析