基于特征注意力机制的RNN-Bi-LSTM船舶轨迹预测
2022-09-28赵程栋庄继晖程晓鸣李宇航郭东平
赵程栋,庄继晖,程晓鸣,李宇航,郭东平
(海南大学机电工程学院,海南 海口 570228)
关键字:AIS信息;循环神经网络;双向长短时记忆网络;特征注意力机制;船舶轨迹预测
各国经济贸易往来频繁带动航运行业蓬勃发展,海上船流量日益递增、海上交通堵塞、船舶碰撞事故频发。因此,准确预测船舶航行航线成为国内外学者的研究热点。船舶自动识别系统(automatic identification system,AIS)提供丰富的船舶行驶信息,主要涉及水上移动通讯服务标识码(maritime mobile service identify,MMSI)、船只的经纬度、对地航向和对地航速等,有效利用AIS 数据对船舶轨迹预测有重要作用。目前,国内外研究的船舶轨迹预测模型主要有基于物理模型和学习模型。其中,基于物理模型多是通过多组物理方程建模来预测船舶轨迹。姜佰辰等[1]将多项式卡尔曼滤波对船舶运动轨迹进行最优建模获取未来船舶位置。周艳萍等[2]对基于改进的灰色模型对船舶未来位置进行预测。何静[3]对卡尔曼滤波物理方程改进以判断船舶轨迹异常。然而,这些研究考虑动态因素太多,无法建立精确的物理模型,当海上环境变化时,对于船舶轨迹预测效果不理想。随着机器学习和深度学习发展,利用学习模型建模预测船舶轨迹成为研究热点。李永等[4]使用长短时记忆网络(long short term memory,LSTM)对船舶轨迹进行未来位置预测。王研婷[5]在LSTM网络中加入CNN卷积神经网络,联合LSTM 和CNN 共同对AIS 数据进行训练。Zhang 等[6]基于Bi-LSTM,对数据归一化处理,提升双向LSTM 预测结果,该方法对于船舶直线轨迹预测效果好,但对于弯曲轨迹预测效果较差。赵梁滨[7]结合CNN 卷积神经网络与双向LSTM,使用船舶历史轨迹以预测船舶未来航线轨迹,但该方法主要对船舶直线轨迹进行预测,未涉及弯道轨迹预测。因此,为更准确预测船舶直线与弯道轨迹,本研究提出一种结合特征注意力机制的RNN-Bi-LSTM 的船舶轨迹预测模型。通过RNN 权值共享,获取数据更深层次的特征信息;加入Bi-LSTM 能保存长时间序列信息,提升模型训练效果;引入特征注意力机制对输入变量的特征设定不同的权重,解决各输入变量对最后预测结果关联效果不一的问题;通过实验将本研究模型与LSTM,Bi-LSTM 模型进行比较,以验证本研究模型在直线轨迹预测,单弯道以及连续弯道预测上的优势。
1 数据准备
AIS 会采集到大量与船舶轨迹预测关联大小不一的数据,需挑选出与船舶轨迹预测关联性大的数据作为实验输入。经纬度体现海上船舶具体位置,对地航速是船舶对地行驶速度、对地航向是船舶行驶方向,这三者均对预测船舶位置有显著影响,故选择AIS数据中的经纬度、对地航速、对地航向作为模型输入数据。
2 理论方法
2.1 循环神经网络
RNN 即循环神经网络,主要用于对时序问题的预测,能够挖掘时序数据深层次的信息[8]。当前多被应用于自然语言处理、语言翻译等问题[9]。RNN结构如图1所示,包括输入层、输出层及隐藏层。其中输入层记为{ }X0,…,Xi-1,Xi,Xi+1,输出层记为{O0,…,Oi-1,Oi,Oi+1},隐藏层记为{S0,…,Si-1,Si,Si+1}。U 为输入层到隐藏层的权重矩阵,V表示隐藏层到输出层的权重矩阵,W表示隐藏层之间的权重矩阵。在i时刻,由Si-1和当前的Xi作为输入,得到计算结果Oi为输出且传递给i+1时刻,这样每一层输入都能得到上一层的输出权重。可知RNN 网络使用相连接的隐藏层,将前一时刻的状态传至下一时刻,具备对时序数据的记忆能力[10]。RNN 神经网络结构见图1。
图1 RNN神经网络结构Fig.1 RNN neural network structure
2.2 双向长短时记忆网络
Bi-LSTM 是对传统LSTM 的扩展。它由正向迭代LSTM 层和反向迭代LSTM 层组成,两层都会对输出产生影响。与单向LSTM 相比,Bi-LSTM利用正向轨迹序列信息和反向轨迹序列信息进行输入,有利于提高模型预测的精度[11]。因为LSTM 下一时刻的预测值是根据前面多个历史时刻的输入预测得到的,并且在提取数据特征时可能丢失有用信息。而船舶轨迹预测任务受到历史和未来多个输入共同影响,尤其在弯道预测中,前后数据突变大,所以使用Bi-LSTM 捕获历史和未来几个时刻的输入数据可以得到更精确预测结果。展开的双向LSTM 具体结构如图3 所示。箭头表示信息流的方向,变量y1、y2、…、yi是t1到ti的船舶输入数据,Y1、Y2、…、Yi为相应时刻的最终输出,A1、A2、…、Ai与B1、B2、…、Bi分别表示LSTM隐藏状态在不同时间的前向和后向迭代,W1、W2、…、W5是权重参与每一层的计算。正向迭代LSTM 的隐藏更新状态Ai(公式1),反迭代LSTM 的隐藏更新状态B(i公式2),最终输出O(i公式3)。式(1-3)中,f(x)、g(x)、h(x)为不同隐含层中使用的激活函数。Bi-LSTM结构见图2。
图2 双向LSTM结构Fig.2 Bidirectional LSTM structure
从上述计算可以看出,Bi-LSTM 的特殊结构使其能够对输入的时间序列数据进行正向和反向计算,有助于模型学习前后时间数据序列的时空相关信息,这有利于提高模型的预测性能。
2.3 特征注意力机制
注意力机制首先应用于机器视觉方向[5]。近年来,注意力机制被应用于各个方面,它的合理使用能提升模型预测精度。注意力机制相当于人类在众多视觉信息中对关键特征关注权重更大[12]。在深度学习中,注意力机制可以为关键特征分配更多的权重,提升模型预测性能。注意力机制分为硬注意和软注意,硬注意力机制采用直接限制输入内容的处理方法,在时间序列预测领域并不完全适用[13]。为了突出特定通道的关键特征,软注意力机制利用神经网络训练的权重来聚焦于特定通道。在轨迹预测模型中引入注意力机制可以增强输入数据关键特征的影响,提高模型预测效果。本研究使用注意力机制对输入特征赋予不同的权重。将特征时间序列前一时刻RNN 网络输出数据矩阵X1、X2、…、XM作为特征注意力机制的输入,通过对当前时刻各个特征进行注意权重的计算后得到e1、e2、…、eM,再进行归一化处理,并根据注意力权重增强或削弱相关输入信息的表达,将当前时刻得到的权重与对应特征相乘,输出为b1X1、b2X2、…、bMXM。特征注意力机制见图3。
图3 特征注意力机制Fig.3 Characteristic attention mechanism
2.4 数据归一化
因输入数据的数值差别较大,为防止数值较小的数据被数值较大数据影响的情况,采用(Min-Max Normalization)最小最大归一化,将每个数据映射在[0-1]之间,保证所有数据被神经网络公平对待,最小最大归一化转化方式见式(4)
其中,X代表原始数据,XM代表归一化后数据,Xmin代表数据最小值,Xmax代表数据最大值。
3 AR-Bi-LSTM模型
3.1 模型的输入和输出
选择经纬度(φ,λ)、对地航速(ν)、对地航向(θ)作为模型的输入数据,单位分别为(°)、m/s、(°),同时对船舶未来经纬度进行预测任务。对于t时刻模型的输入yt见式(5)
为了减少模型预测时间和增加预测精度,将未来时刻的经纬度作为模型的输出。对于t+1 时刻模型的输出pt+1见式(6)
将连续5 个时刻的船舶航行轨迹特征数据y(t-4),…,y(t-1)、y(t)作为模型的输入,将t+1时刻的航行轨迹数据Yt+1作为输出。船舶轨迹预测模型的表达式见式(7)
3.2 AR-Bi-LSTM模型框架
RNN 能对时序数据特征提取,但是无法解决长期依赖问题,随着时序数据的增加,预测精度会变差。而Bi-LSTM 通过合并可更新先前隐藏状态的内存单元来保留数据间的长期依赖关系[14]。所以将RNN 和Bi-LSTM 结合,能够解决长期依赖问题,与仅仅使用Bi-LSTM 网络比较,在RNN 和Bi-LSTM结合中Bi-LSTM 网络可以接收RNN 模型提取时序数据的特征向量矩阵进行船舶轨迹预测,且Bi-LSTM 能捕获深层次输入数据特征。两者取长补短,提高预测准确性。同时为充分考虑船舶轨迹预测在数据特征上相关性,将特征注意力机制加入模型中,船舶不同的输入特征对最终结果影响大小不同,因此使用特征注意力机制对输入特征赋予权重,通过特征注意力机制来修正输入特征对预测结果的影响,进一步提升预测精度。AR-Bi-LSTM 将RNN、特征注意力机制和Bi-LSTM 串联。AR-Bi-LSTM 首先搭建一层RNN 来接收船舶航行的各种行驶信息。RNN 包含一个接收变量作为输入的输入层,一层隐藏层计算输入提取输入数据深层次信息,以及一个将隐藏层计算的矩阵提取到注意力机制模块的输出层。通过特征注意力机制模块,使得输入特征数据获得不同的权重。随后连接一层Bi-LSTM 神经网络,用来存储注意力机制模块提取的表征船舶航行状态的重要特征信息,捕获船舶历史和未来几个时刻的位置信息,对船舶轨迹进行预测。
AR-Bi-LSTM 模型框架如图4 所示。实现船舶轨迹预测,首先将归一化后的数据输入循环神经网络,经过隐藏层获得预测数据矩阵;循环层输出预测数据矩阵输入特征注意力机制模块,对特征权重矫正,得到新的数据矩阵。经过特征注意力机制模块的数据矩阵输入到droupt 层,随机将20%的矩阵元素权重置零,防止模型过拟合,通过droupt层后的数据矩阵作为Bi-LSTM 的输入数据,通过正向传递网络和反向传递网络训练样本数据,经过Adam 优化算法对其进行优化,输出预测值。最后通过1 个全连接层,得到最终预测数据。
图4 AR-Bi-LSTM模型框架Fig.4 AR-Bi-LSTM model structure
4 实验设计
4.1 实验环境
本研究模型在个人PC 机上运行,PC 机配置为8G 的运行内存以及i7-6700HQ CPU,PC 机基于Windows 操作系统,软件为Pycharm2021.2,编程语言使用Python3.7,深度学习框架使用Tensorflow框架。
4.2 模型参数和实验数据
经过多次实验调整RNN节点数为32、Bi-LSTM节点数为80 且激活函数为模型tanh 函数时预测效果最佳,所以AR-Bi-LSTM 模型参数选择:RNN 隐藏层数为1,节点数32,激活函数为tanh 函数;Bi-LSTM 隐藏层数为1,节点数80,学习率0.001,激活函数为tanh 函数;Dense 全连接层数为1,节点数4,激活函数也为tanh 函数。其中LSTM 模型节点数80,学习率为0.001,激活函数为tanh 函数;Dense 全连接层数为1,节点数4,激活函数也为tanh 函数。Bi-LSTM 模型同理。3 个预测模型设置的超参数为adam 优化器,学习率0.001,损失函数为MSE、RMSE,滑窗长度5,训练集数6 405,批次大小16,Droupt为0.2。
实验数据来自英国肯特郡(Kent County),水上移动通信业务标识码(MMSI)209479000,209512000和205689000 的船舶实时数据。选择了2019 年6 月18 日至2019 年7 月13 日的船舶209479000 数据。总共实验数据8 009 组,按照80%和20%划分训练集和测试集,前6 405 组作为训练集,后1 604 组作为测试集,将训练集输入网络进行训练。将船舶209512000和205689000总1 450条数据验证模型泛化能力。
4.3 评价指标
使用Bi-LSTM 模型、AR-Bi-LSTM 模型和LSTM 模型进行误差分析时,由于误差计算是想得知真实点与预测点偏差大小,均方误差MSE(Mean Square Error)能极佳衡量真实情况与预测结果的误差情况,且均方根误差RMSE(Root Mean Square Error)也能体现真实点与预测点的偏移[15],也是一种常用的精度评价指标。评价指标所使用的经纬度单位都为(°)。MSE,RMSE 的数学表达式如式(8)(9)所示,两种评价指标越小表示模型性能越好。
其中,n表示样本数,yt表示真实值,pt表示预测值。
5 结果与分析
5.1 AR-Bi-LSTM模型预测精度与预测结果
为了验证AR-Bi-LSTM模型真实轨迹与预测轨迹之间的误差,在模型训练、预测过程中输入相应的参数,不同参数对模型训练、预测产生不同影响[16]。通过对模型调整参数,对模型预测性能进行评估,利用测试集对模型预测能力检验,来验证模型预测能力[17]。图5 为AR-Bi-LSTM 模型是在肯特郡港口下部分测试集中真实轨迹与预测轨迹对比结果,红色为真实轨迹,蓝色为预测轨迹。由图5可见,AR-Bi-LSTM 模型预测无论对直线还是弯道预测都非常接近真实值,说明AR-Bi-LSTM 模型在船舶轨迹预测方面有较高精度。
图5 轨迹预测结果Fig.5 Trajectory prediction results
5.2 不同结构的Bi-LSTM模型预测精度对比
为了确定特征注意力机制和循环神经网络对预测能力的提升,对比了RNN+Bi-LSTM和Attention+Bi-LSTM 以及AR-Bi-LSTM 模型预测精度。三种模型总体的均方误差(MSE)和均方根误差(RMSE),纬度MSE、纬度RMSE、经度MSE 和经度RMSE 如表1。可以看出:AR-Bi-LSTM 的经纬度误差都在RNN+Bi-LSTM 和Attention+Bi-LSTM之下,体现出循环神经网络和特征注意力机制对于Bi-LSTM 的预测提升效果较好,说明了模型AR-Bi-LSTM 的稳定性和良好的预测能力。AR-Bi-LSTM、RNN+Bi-LSTM 和Attention+Bi-LSTM的均方误差和均方根误差分别为:2.751×10-5、5.245×10-3、5.048×10-4;7.105×10-3、9.579×10-4、3.095×10-2。
表1 不同结构Bi-LSTM模型对比Table 1 Comparison of Bi-LSTM models of different structures
综上所述,特征注意力机制和循环神经网络使得双向长短时记忆网络预测能力提升,且优于单独使用。
5.3 不同模型预测精度对比
为了验证AR-Bi-LSTM 模型预测精度,本研究将LSTM、Bi-LSTM和AR-Bi-LSTM进行对比实验。
三种模型的误差对比见表2,该表对LSTM 和Bi-LSTM 以及AR-Bi-LSTM 模型在总体、纬度、经度的均方误差和均方根误差进行对比,可见ARBi-LSTM 模型的MSE、RMSE、纬度MSE、纬 度RMSE、经度MSE、经度RMSE 更低,说明模型在轨迹预测中可以深入捕获船舶输入数据信息,特征注意力机制的加入修正了对预测结果影响大的特征信息权重,AR-Bi-LSTM 模型具备最好的预测性能。
表2 不同模型误差对比Table 2 Comparison of different model errors
验证模型AR-Bi-LSTM 的泛化能力,使用船舶209512000 和205689000 数据。LSTM、Bi-LSTM 和AR-Bi-LSTM 模型的泛化能力对比见表3,在船舶209512000 和205689000 的预测中,模型AR-Bi-LSTM 的经纬度均方误差和均方根误差比较LSTM模型和Bi-LSTM 最小,说明该模型具备一定的泛化能力,能对往来船舶轨迹进行预测。
表3 模型泛化能力Table 3 Model generalization ability
综合图6—8 是三种模型在直线和单个弯道真实值与预测值的轨迹,表4 为三种LSTM、Bi-LSTM和AR-Bi-LSTM模型在直线和单个弯道误差对比。
图6 AR-Bi-LSTM直线和单个弯道预测轨迹Fig.6 AR-Bi-LSTM predict trajectories in straight lines and single curves
图7 LSTM直线和单个弯道预测轨迹Fig.7 LSTM predict trajectories in straight lines and single curves
图8 Bi-LSTM直线和单个弯道预测轨迹Fig.8 Bi-LSTM prediction trajectories in straight lines and single curves
表4 直线和单个弯道预测误差对比Table 4 Comparison of prediction errors for straight lines and individual corners
三种模型在单个弯道预测轨迹表现均不如直线轨迹预测,模型AR-Bi-LSTM 在直线和弯道上的预测轨迹与真实轨迹最为吻合且预测误差更小,尤其在单个弯道弯道预测中,由于前后输入数据变化较大,AR-Bi-LSTM 能提取深层次输入数据的特征且能运用历史和未来时刻数据,所以在突变数据处理上更好,对单个弯道预测效果精度高。而LSTM 和Bi-LSTM在单个弯道的预测轨迹与实际轨迹相差出入较大,在弯道预测上有超出原轨迹预测值,AR-Bi-LSTM相比较LSTM和Bi-LSTM在直线和单个弯道预测效果更好。图9是三种模型在连续弯道预测轨迹对比,表5为三种模型在连续弯道误差对比。
图9 连续弯道预测轨迹对比Fig.9 Comparison of continuous curve prediction trajectories
表5 连续弯道误差对比Table 5 Continuous corner error comparison
模型LSTM 和模型Bi-LSTM 在连续弯道轨迹的表现均不如模型AR-Bi-LSTM。在连续弯道轨迹中,模型LSTM 和模型Bi-LSTM 在弯道部位开始出现较大偏差且预测轨迹偏离真实轨迹,通过图9 与表4 可以看出,模型AR-Bi-LSTM 在连续弯道轨迹预测表现都优于后者两个模型,且轨迹吻合度也更高,均方误差和均方根误差误差更小,连续弯道的相继两次数据变化,AR-Bi-LSTM 提取的历史和未来时刻的时序数据也能很好地对连续突变数据预测,因此在连续弯道预测上吻合度较高。综上所述,AR-Bi-LSTM 模型在直线、单弯道和连续弯道表现上比模型LSTM 和模型Bi-LSTM 出色,所预测轨迹具有一定参考价值。
6 结论
本研究提出的AR-Bi-LSTM 模型,结合RNN 特征学习能力和Bi-LSTM 对长序时间序列预测能力,建立混合模型RNN-Bi-LSTM,并将特征注意力机制加入混合模型中。本研究模型能够精确的预测出直线、单个弯道和连续弯道的船舶轨迹,提升了模型多场景下的预测能力,相较于传统的LSTM 和Bi-LSTM 模型,在经纬度预测精度拥有明显的提升,且在单个弯道和连续弯道的船舶轨迹预测中预测轨迹更为吻合,有着较高的稳定性,对避免未来船舶交通阻塞、船舶碰撞事件将会起到积极作用。
在未来的船舶轨迹预测研究中应该充分考虑时间与空间特性,探究两种特性对船舶轨迹预测的影响。本研究提出的混合模型预测精度需要进一步提高,下一步可考虑研究编码器-解码器等结构的神经网络模型在船舶轨迹预测研究中的应用。