郭逸婕,张君毅,王 鹏
(1.中国电子科技集团公司 第54研究所,石家庄 050081;2.河北省电磁频谱认知与管控重点实验室,石家庄 050081)
随着信息化战争的不断推进,战争逐渐步入大数据时代,大数据具备两个鲜明特征即数据量爆炸增长和数据价值密度低,如何从海量且复杂的数据中挖掘出重要的情报信息作为决策和行动的依据是信息化战争的一个重要课题。轨迹预测是一项广泛应用在多领域的科学技术,在智能交通规划、无人自动驾驶、智能航运以及战场目标监视等民用和军用领域都有重要的应用价值[1]。通过构建合适的预测模型对历史轨迹数据进行学习,实现对目标轨迹的准确预测,尤其是复杂场景下的轨迹预测,对目标的行为意图分析研判以及指挥决策具有十分重要的意义。
随着海上船舶种类和数量的大幅增长,海上交通环境也日益复杂,为了及时了解船舶行驶状况,保障船舶海上交通顺畅和安全,国内外已有很多学者研究轨迹预测。目前,常用的船舶轨迹预测方法可分为3类:基于运动学模型的方法、基于概率统计的方法和基于深度学习的方法。
运动学模型在考虑所有影响船舶轨迹预测的因素下,通过数学物理方程建立船舶运动模型描述目标的运动规律。谢鸿伟等人[2]在考虑船舶操纵性和和避碰规则的条件下,采取非线性运动数学模型作为船舶运动模型,实现对船舶未来轨迹的预测。Xie F等人[3]将车辆运动在垂直和水平方向上进行分解并得到在水平和垂直方向运动的多项式方程。将高精度地图中车道线的曲率作为约束条件,提高了运动学模型长时间预测的精准度。这类方法考虑了目标真实的运动状态,并根据当前状态推断未来状态,但由于考虑影响因素过多,导致模型计算量大,所以一般情况下预测精度依赖于理想环境和状态假设,在实际预测任务中很难达到更好的预测效果。
基于概率统计的轨迹预测方法则是假定目标的历史运动状态与未来运动状态具有一定的关联性[4],通过对目标的历史轨迹的学习建立相应数学模型。乔少杰等人[5]提出一种基于卡尔曼滤波模型(KF,kalman filter)的动态轨迹预测算法,通过前一时刻的估计值和当前时刻的观测值对状态变量进行估计,从而对车辆下一时刻的位置进行预测。彭秀艳[6]等人提出自适应卡尔曼滤波算法,对船舶航行进行短期的轨迹预测。KF具有线性、无偏、对短时间内的预测精度较高的优点,但是预测精度易受原始轨迹数据质量的影响,无法长时间的高精度预测。
为了解决这一问题,国内外学者又提出了较为复杂的马尔科夫模型(HMM,markov model)和高斯混合模型(GMM,gaussian mixture model)等轨迹预测模型。张金旺等人[7]利用统计距离和HMM对高速移动的车辆横向运动和纵向运动进行预测,实现障碍物车辆3 s时间内的轨迹。梁海军等人[8]利用改进的马尔科夫模型对飞机飞行过程中位置和高度进行更为稳定和精确地预测。Dalsnes B R等[9]提出了一种基于GMM的数据驱动方法,完成了对船舶未来5~15 min的经纬度信息的准确预测。茅晨昊等人[10]通过仿真模拟实验,利用高斯过程回归船舶轨迹预测模型实现对船舶轨迹的预测。HMM对目标运动过程的状态预测效果良好,但鲁棒性差,参数设置也较为复杂。GMM对噪声轨迹的预测效果较好,但易受数据复杂度影响,实用性低。
近几年随着人工智能研究的不断深入,验证了深度学习在各种非线性问题应用上的良好适应性,其相关技术也被引入轨迹预测问题中。Tang等人[11]通过仿真模拟实验,利用长短时记忆模型(LSTM,long short term memory)实现了船舶航行的轨迹预测。Gao等人[12]则进一步通过构建双向LSTM神经网络模型,利用船舶自动识别系统(AIS,automatic identification system)数据建立了在线实时船舶行为预测模型,虽然最终预测效果有所提升,但单一模型低精度的问题还是未被克服。Zhang等人[13]采用基于注意力机制的双向LSTM神经网络模型,对航迹数据中隐含的船舶运动规律进行训练和学习,预测船舶下一时刻的位置,预测精度有所提高。因此,近年来利用其他网络与LSTM进行组合的混合模型的研究越来越多。
基于此,本文提出一种融合的深度学习模型TCN-ABiLSTM来进行船舶轨迹预测,该模型主要利用时域卷积网络(TCN,temporal convolutional network)、注意力机制和双向长短时记忆网络(Bi-LSTM,bi-directional long short-term memory)在处理时间序列数据方面的优势。TCN可以有效提取特征中的隐藏信息和时间关系,从而消除冗余特征。然后使用注意力机制提取时间特征中的相关性,更好地捕捉长距离特征之间的依赖关系。最后,引入Bi-LSTM进一步获取特征之间的前后联系完成船舶的轨迹预测。本文利用船舶的真实轨迹数据进行船舶轨迹预测实验,将TCN-ABiLSTM模型与LSTM、Bi-LSTM、BiLSTM-Attention模型进行对比实验。实验结果表明TCN-ABiLSTM的性能优于其他三种模型,验证了TCN-ABiLSTM模型在船舶轨迹预测上的有效性。
AIS系统,即船舶自动识别系统,是以国际海事组织为首的多个国际组织共同规定的一个具有船舶自动识别、通信和导航功能的新型助行电子系统[14]。AIS系统由岸基、星基接收设备和船载设备共同组成,安装了AIS设备的船舶可向他船及基站自动播发本船的航行信息,从而让船员了解附近海域的海上交通情况,为船员在航行规划、监督预警、维护安全等方面提供安全保障。
目前AIS已成为现代船舶导航系统必不可少的组成设备。AIS采集到的数据主要包括船舶静态和动态数据以及航行数据。具体数据信息如表1。
表1 AIS数据组成
如表1所示,船舶AIS会采集到大量与船舶轨迹预测相关程度不同的数据,为了提高计算效率减少工作量,本文在对接下来的船舶轨迹的研究中,选择经度、纬度、对地航速、对地航向作为航迹预测模型输入数据的特征序列。
船舶轨迹预测是根据船舶的历史轨迹去预测船舶下一时间段的行驶轨迹[15],因此船舶轨迹的预测相当于是对时间序列数据的预测。轨迹预测问题可以描述为:通过前m个时刻船舶的经度、纬度、航速和航向角4个特征量来预测未来时刻船舶的轨迹,考虑到船舶轨迹的连续性和时序性特点,具体描述为式(1)。
[xk+1,xk+2,...,xk+n]=f(xk,xk-1,...,xk-m)
(1)
式中,xk为船舶在k时刻的经度、纬度、航速和航向角,k为开始预测时刻,n为待预测的步数,f为映射关系。所以轨迹预测问题可以看作是通过神经网络模型来学习输入输出之间的非线性函数关系f,输入为船舶历史轨迹,输出为船舶未来的轨迹。
TCN是Shajie Bai等人[16]于2018提出的一个卷积模型,但常用来处理时间序列。TCN是在卷积神经网络(CNN,convolutional neural network)的基础上添加了因果卷积、膨胀卷积和残差模块,既可以有效地解决多元时间序列信息的提取问题,同时还可以很大程度上避免梯度消失或爆炸。近年来,该方法已逐渐应用于时间序列预测任务。下面给出了每个结构的详细描述。
2.1.1 因果卷积
卷积神经网络的核心是卷积层的特征提取作用。因果卷积对时间序列的特征进行提取,输出信息只依赖于过去的输入信息,从而有效地避免了未来信息的干扰,因此TCN是一种单向结构。从图1中可以看出,如果输入时间序列为X=(x0,x1,…,xt),滤波器为F=(f0,f1,...,fp),则xt经过因果卷积的输出为式(2)。
图1 因果卷积结构
(2)
2.1.2 膨胀卷积
为了解决因果卷积感受野受限的问题,研究学者提出了膨胀卷积。膨胀卷积结构如图2所示。从图2可以看出,与因果卷积不同,膨胀卷积在卷积时对输入进行间隔采样,即膨胀因子d。当d=4时,表示每4个点作为输入进行采样。随着层数的增加,膨胀因子变大,感受野也变大,从而确保随着层数的增加有效卷积窗口的大小呈指数增长,同时浅层网络也可以获得较大感受野。因此TCN有效的扩大了感受野,顶层的输出可以接收到更大范围的输入信息。此外,TCN通过在每层并行处理相同的滤波器提高了整个模型的计算效率。
图2 膨胀卷积结构
从图2中可以看出,如果输入时间序列为X= (x0,x1,…,xt),滤波器为F= (f0,f1,…,fp),则xt经过带膨胀因子的膨胀卷积后的输出为式(3)。
(3)
2.1.3 残差模块
随着神经网络深度的增加,神经网络可以提取的特征信息也会更丰富,这意味着神经网络具有更好的非线性表示能力。但是,在实际实验验证中,网络性能会随着网络层数的不断加深而下降。残差网络的提出者He[17]指出,卷积层和池化层在网络中的盲目叠加往往容易导致梯度消失或梯度爆炸问题以及退化问题。影响TCN感受野的因素包括网络深度V、滤波器大小k和膨胀因子d,因此构造一个合理的深层TCN网络是一个关键问题。
为了实现对更深层的网络进行训练,TCN使用残差连接来避免梯度消失或爆炸的问题[18],其结构如图3所示。从图3可以看出,残差模块由两组膨胀因果卷积层、权重归一化层、激活函数ReLU和Dropout层组成,从下往上依次连接。
图3 残差模块
输入特征依次经过第一膨胀因果卷积层、归一化层、激活函数ReLU和Dropout层,得到输出特性。将上层的输出作为第二膨胀因果卷积层的输入,然后依次经过归一化层、激活函数ReLU和Dropout层得到输出特征。激活函数与Dropout层可以降低梯度消失的概率和避免过拟合。利用1*1卷积可以使输入特征维度和输出特征维度不同时,通过提高或者降低特征矩阵的维度来确保F(x)与x有相同的维度。假设第i个残差块的输入为Xi,输出Xi+1,两者关系为式(4)。
Xi+1=Activation(Xi+F(Xi))
(4)
其中:Activation为激活函数,F()为残差模块的操作。
注意力机制最初用于计算机视觉领域,它可以在稀疏数据中提出有用的特征,2017年Vaswani等人[19]第一次在自然语言处理领域应用注意力机制。注意力机制通过权重分配使模型减少对无用信息的关注,凸显出重要特征的作用。Attention权重计算公式如式(5)~(7)。
et=tanh(wht+b)
(5)
at=softmax(et)
(6)
(7)
式中,ht为TCN模型隐层的输出并作为注意力层的输入;et为ht对应的Attention权重值;w、b为所需要训练的权重参数和偏置系数;at为归一化函数(softmax)计算后ht对应的权重值;Y为注意力层模型输出的预测值。
本文使用经度、纬度、对地航速、对地航向4个特征的输入来进行船舶轨迹预测,不同变量与不同时刻的数据对船舶未来航迹的影响程度各不相同。注意力机制可以自动判定TCN层输出的特征信息ht对船舶航迹变化影响的大小,对信息h1、h2、…、ht分别赋予权重a1、a2、…、at,然后每个特征向量与其对应的权重向量加权求和得到新的向量。因此引入注意力机制有效的突出了对船舶未来轨迹影响较大的特征,并提高任务处理的效率和准确性。
循环神经网络(RNN,recurrent neural network)是一种具有反馈结构的神经网络[20],对于时间序列的处理具有明显优势,非常适用于轨迹预测方面的应用。理论上,RNN可以处理任意长度的序列数据,但实际应用中,预测较长轨迹数据时,轨迹序列越长,模型越无法利用序列中较早时间的数据信息。
为解决传统循环神经网络的长度依赖问题,1997年,Schmidhuber[21]等人在RNN的基础上提出了LSTM,在每个存储单元里添加额外的控制单元,如遗忘门、输入门、输出门,对输入进行控制,允许网络在更长的时间段内保留状态信息,在长期依赖关系记忆能力方面表现优秀。LSTM单元结构如图4所示。
图4 LSTM单元结构
其中:ot表示输出门,it表示输入门,ft表示遗忘门,xt表示当前时刻的输入;ht-1为前一时刻的隐藏状态;σ表示sigmoid激活函数;W为系数矩阵、b为偏差项。具体过程为:
ft=σ(Wf·[ht-1,xt]+bf)
(8)
it=σ(Wi·[ht-1,xt]+bi)
(9)
ot=σ(Wo·[ht-1,xt]+bo)
(10)
ct-1和ct分别表示上一时刻和当前时刻的记忆单元。更新后的记忆单元表示为:
qt=tanh(Wc·[ht-1,xt]+bc)
(11)
ct=ft×ct-1+it×qt
(12)
更新后的隐藏状态ht是网络的最终输出。
ht=ot*tanh(ct)
(13)
在船舶轨迹预测任务中,往往轨迹的前后时刻数据突变大,LSTM模型则无法获取从后到前的信息进行训练,导致数据利用率低,不能充分利用数据的内在特征。因此本文引入Bi-LSTM网络,输入数据为正向和反向轨迹序列信息,捕获历史和未来多个时刻的输入数据,从而进一步挖掘当前船舶轨迹特征与过去和未来时刻轨迹特征之间的内在联系,有利于提高模型的预测精度和特征数据的利用率。
Bi-LSTM结构如图5所示,前向和后向LSTM 网络分别对前向输入和后向输入的序列特征值进行学习[22],得到隐藏层状态输出与,而Bi-LSTM 的最终输出由两个方向学习到的特征进行拼接,从而提取时间序列的后向和前向依赖关系。
图5 Bi-LSTM网络结构
综上述模型的结构分析,TCN可以通过增加层数、改变膨胀因子和滤波器大小来改变感受野大小,在长时间序列方面更灵活,避免了RNN中梯度消失和梯度爆炸问题,并且TCN在同一层内共享卷积核,在训练中占用更少内存。同时Bi-LSTM对于长时间序列的处理优于LSTM。注意力机制可以有效提取时间特征中的相关性,从而更好地捕捉长距离依赖关系。
因此,在分析TCN、注意力机制和Bi-LSTM性能的基础上,提出了一种融合了TCN、注意力机制和Bi-LSTM的新模型。该模型的结构如图6。从图6中可以看出,对于输入的由轨迹经度、纬度、航向和航速四个特征组成的时间序列,首先由多个TCN残差模块对特征进行初步提取。然后,通过注意力机制对TCN输出信息进行处理,生成权重向量以突出重要特征,并将提取的相对重要的特征项进行拼接,作为Bi-LSTM层的输入。然后利用Bi-LSTM挖掘轨迹特征的前后联系对船舶轨迹进行预测。最后,经过全连接层输出船舶未来时刻的轨迹。
图6 TCN-ABiLSTM的网络结构
TCN-ABiLSTM船舶轨迹预测方法步骤如下:
1)获取船舶真实AIS轨迹,处理为数据集,构造训练样本和预测样本。
2)数据进行预处理,对训练样本和预测样本进行归一化、滑动窗口处理。
3)把训练样本输入到TCN-ABiLSTM模型中,以输出预测轨迹与真实轨迹的误差最小化为约束条件,不断调整网络的各项参数,确定网络结构。
4)把预测样本输入到训练好的模型中,得到轨迹预测结果,并将结果进行反归一化。
5)与其他算法进行对比,分析预测效果。
模型算法流程如图7所示。
图7 算法流程图
基于注意力机制的TCN-BiLSTM 模型构建及其所做实验均在Pycharm中搭建的Pytorch深度学习框架下进行的,具体的实验环境如表2所示。
表2 实验环境配置
模型TCN-ABiLSTM的相关参数设置如表3所示。
表3 模型参数设置
其中,Batch size是每次投入训练的数据数量;Learn rate为学习率,梯度下降的速度;Epoch为迭代次数;K为TCN网络的卷积核大小。
本文实验数据来自全球航运信息服务系统的船舶实时数据,船舶的水上移动通信业务标识码(MMSI)为412283000。选择2022年3月1日至2022年4月1日的期间的航行数据作为训练集,共9 778组;选择2022年4月2日的航行数据作为测试集1,共398组;选择2022年4月5日的航行数据作为测试集2,共400组;将两个测试集误差结果相加求平均得到最终平均误差。
同时为了提高计算稳定性,将数据进行归一化处理,保证输入数据的取值范围均在[0,1]区间,之后进行滑动窗口处理,将其转换为时间步长×输入维度的形式,归一化公式为式(14)。
(14)
式中,X为某特征变量的实际值;Xmax为该特征值的最大值;Xmin为最小值;Y为该特征值归一化后的值。
本研究选取平均绝对误差(MAE,mean absolute error)[23]、均方根误差(RMSE,root mean square error[24]以及决定系数(r squared,coefficient of determination)[25]三个参数作为评价模型效果的评价指标,MAE和RMSE越小,整条航迹偏离实际情况越小;R2反映的是模型拟合的准确程度,取值范围为[0,1],R2越大表示模型对真实数据的拟合效果越好。模型评价指标的具体计算公式如下所示。
(15)
(16)
(17)
仿真中,首先进行船舶轨迹的单步预测,即进行船舶下一时刻轨迹的预测。图8为TCN-ABiLSTM模型在测试集上的真实轨迹与预测轨迹对比结果。
图8 轨迹对比图
对船舶轨迹进行预测时,与LSTM、Bi-LSTM和文献[13]中的BiLSTM-Attention模型在预测误差和拟合程度两个方面进行对比分析。预测误差对比实验设置滑动窗口数T=20,预测船舶下一时刻的轨迹。表4为船舶轨迹预测各模型的误差对比。
表4 不同模型预测误差对比
从表4的实验结果可以看出,TCN-ABiLSTM模型在测试集上的平均绝对误差与均方根误差比其余模型低,相比其他模型有很大的提升。在滑动窗口T=20时,TCN-ABiLSTM模型与LSTM相比,MAE降低了92%,RMSE降低了93%;与Bi-LSTM相比,MAE降低了66%,RMSE降低了72%;与BiLSTM-Attention相比,MAE降低了55%,RMSE降低了64%。
为进一步验证本文所提 TCN-ABiLSTM 模型的有效性,在滑动窗口数T=20的条件下,将TCN-ABiLSTM 与LSTM、Bi-LSTM、BiLSTM-Attention三种模型的拟合度进行对比实验,如表5所示。
表5 不同模型拟合度对比
从表5的数据可以看出,本文所提TCN-ABiLSTM模型的拟合度对比其他3种模型最高,证明了TCN-ABiLSTM模型预测得到的船舶轨迹比其他3种模型更加准确,体现了TCN-ABiLSTM模型在船舶轨迹预测时的有效性和准确性。
针对海上目标的轨迹预测精度低的问题,本文将时域卷积网络和双向长短期记忆网络进行有机整合,并引入注意力机制,提出了一种基于注意力机制的TCN-BiLSTM的船舶轨迹预测模型。为了降低计算复杂度,利用TCN提取船舶轨迹的序列特征,并采用注意力机制为不同属性分配权值,提高模型预测能力,其次利用Bi-LSTM处理时间序列的优势来学习轨迹序列的前后状态。进行预测精度对比和拟合度对比实验,实验表明,TCN-ABiLSTM模型相比LSTM、Bi-LSTM、BiLSTM-Attention三种模型预测精度更高,模型拟合程度更好,验证了本文TCN-ABiLSTM模型的有效性。在未来的船舶轨迹预测研究中,要考虑更多的影响因素如环境因素,提高模型在复杂场景下的适应性和预测精度。