APP下载

基于LSTM的船舶航迹预测

2019-12-25

船海工程 2019年6期
关键词:航向插值航迹

(西安交通大学 现代设计及转子轴承系统教育部重点实验室,西安 710049)

关于船舶航迹预测,现有的方法有卡尔曼滤波算法、航迹插值方法、灰色模型、支持向量机、人工神经网络等。相关的研究涉及建立船舶航行轨迹拟合曲线[1];根据船舶的航速、航向等信息采用卡尔曼滤波算法预测船舶的运动轨迹[2-3];将灰色模型运用到航迹预测当中,使用小波变换对轨迹数据降噪处理[4],该方法能够及时修正带有噪声的航迹数据;提出组合预测模型,进行粗预测之后,用隐马尔可夫模型对预测结果进行微调,取得了较高的预测精度[5];提出支持向量机回归(SVR)航迹预测模型,并用AIS数据进行验证,不足的是无法对船舶运动进行实时在线预测[6];使用BP神经网络对船舶行为进行预测,取得了一定的预测效果[7-8]。但是传统的BP神经网络在使用历史航迹数据训练时并未体现先后时序,每次神经元权重的修正只是基于单个训练样本的局部调整,而船舶航行数据是典型的随时间变化的量,每个样本在时间轴上都有前后联系,因此基于BP网络的预测模型面对船舶复杂的轨迹态势预测显得捉襟见肘。长短期记忆网络(long short-term memory,LSTM)在轨迹预测方面的研究已有成功安全[9-10],但该方法未考虑异常数据对预测精度的影响,预测准确率仍有提升空间。基于此,本文提出一种基于长短期记忆网络的船舶航迹预测方法,运用插值的方法对航迹数据进行等时间间隔插补,综合考虑船舶航速、航向、经纬度特征,实现船舶航迹的准确可靠的预测。

1 理论基础

1.1 循环神经网络(RNN)

一个简单的RNN网络包含了输入层x、隐含层h、输出层o3个部分。见式(1),RNN在任一时刻t,其隐含层输出ht由该时刻的输入xt和上一时刻隐含层的输出ht-1共同决定,体现出RNN将时序信息考虑在网络结构当中,以达到对时间序列建模的目的。

ht=f(U·xt+W·ht-1)

(1)

式中:f为隐含层激活函数,U、V和W分别代表输入层到隐含层、隐含层到输出层和隐含层之间的连接权值矩阵。

1.2 长短期记忆网络(LSTM)

LSTM网络是将RNN的隐含层单元替换为LSTM细胞,使其能够避免梯度消失和梯度爆炸的问题,且具有长期记忆的能力。LSTM模型的隐含层结构见图1。

LSTM网络包含一组记忆模块,取代了常规RNN中的隐含层单元。每个模块包含一个或多个具有内部状态的记忆细胞,如图1最上方的水平线,表示细胞状态,可以看做是记忆链条,细胞状态会沿着整个链条传送,只在少数地方有一些线性交互,因此使得LSTM可以记忆长期的信息。记忆模块还包含3个用于控制信息流入、流出的门。LSTM计算过程如下。

1)记忆模块中忘记门决定哪些信息需要从细胞中抛弃,表达式为

ft=σ(Wf·ht-1+Uf·xt+bf)

(2)

式中:xt为该时刻的输入;ht-1为上一时刻隐含层的输出;ft为忘记门的输出;Wf、Uf、bf分别为忘记门的权值项和偏置项;σ为sigmoid激活函数。

2)输入门(input gate)决定什么样的信息应该被存储,这个过程主要分为两步,第一步sigmoid层决定哪些值需要被更新。

it=σ(Wi·ht-1+Ui·xt+bi)

(3)

(4)

式中:Wc、Uc、bc分别为权值项和偏置项,为双曲正切激活函数。

3)将忘记门和输入门输出的两个值结合起来并更新细胞状态Ct。

(5)

4)最后输出门基于新的细胞状态确定输出的内容。

Ot=σ(Wo·ht-1+Uo·xt+bo)

(6)

ht=Ot×tanh(Ct)

(7)

式中:ht表示该时刻隐含层输出。

LSTM网络训练采用基于时间的反向传播算法 (back propagation trough time,BPTT),其基本原理与经典的误差反传算法(back propagation,BP)相似,均包含正向传播和反向传播的过程。

2 模型建立

2.1 模型结构

为了深入挖掘船舶历史航行数据,以船舶航向、航速和经度、纬度作为LSTM网络的输入,充分利用与船舶位置联系最紧密的航行信息,构造实时航迹预测模型,模型结构见图2。

图2 航迹预测模型结构示意

对于目标船舶,其在t时刻的航行状态特征可以表示为

S(t)={λt,φt,vt,αt}

(8)

式中:λt、φt、vt、αt分别代表船舶在t时刻的经度、纬度、速度和航向。考虑到模型实时性要求,保证网络的预测输出能够确定船舶位置即可,不需要预测的船舶速度和航向信息,以减少模型计算量。综上,采用船舶的t时刻及其前n-1个时刻的经度、纬度、航速、航向作为LSTM网络的输入,t+1时刻船舶的经纬度坐标作为输出,建立LSTM航迹预测模型,则t+1时刻船舶位置可以表示为

L(t+1)=g(S(t),S(t-1),…,S(t-n+1))

(9)

式中:L(t+1)=(λt+1,φt+1),g表示所训练的模型。

2.2 数据分析

2.2.1 数据来源

船舶自动识别系统(automatic identification system,AIS)数据中蕴含着丰富的船舶信息,装有AIS的船舶能够将其自身的经纬度坐标、航速、航向等动态信息以及MMSI、船长、船名等静态信息周期地向附近水域船舶及岸基广播[11]。因此,将船舶AIS信息作为数据来源。

2.2.2 AIS数据修复

实际的AIS数据中包含大量的错误数据[12],此外,航迹数据采样间隔一般不相等,限制了模型的应用。本文所用到的AIS数据主要为动态信息,因此要对船舶经纬度、航速、航向等数据进行修复。

1)异常值剔除。使用分箱的方式,将数据分到一系列等宽的“箱”中,若一个数据点在某一属性上的值,位于“箱”中所有数据点在这一属性上统计平均值的3倍标准差之外,就认为这个点是异常值点,需要被剔除。

2)时间对齐。针对1)中剔除的异常值需要用合理的值来替代以及AIS数据本身就存在的缺失值,使用三次样条插值的方法对其修复,以获得时间间隔相等的航迹数据。选取缺失数据点t前后相邻两点,提取他们的时间ti、ti+1,船舶位置为(λi,φi)、(λi+1,φi+1)。对于在ti、ti+1之间的t时刻的船舶经度数据可以用式(10)计算。

(10)

式中:hi=xi-xi-1;Mi为插值函数λ(t)在节点ti处的二阶导数值。同理可以计算出插值点t时的船舶纬度、速度、航向等数据。在真实航迹上人为添加一些异常值,并用所述方法修复,仿真航迹修复结果见图3,可以看出,插值得到的数据点能够准确反映船舶航迹的真实情况。

3 实验分析

3.1 实验数据

选取渤海水域烟台到大连段某船真实航行的AIS数据作为原始样本,按照时间顺序将其前4/5划分为训练集,后1/5用于测试训练好的LSTM模型,原始数据经修复之后用于网络训练和测试。

3.2 模型训练与预测

航迹预测流程见图4。

图4 模型预测流程

1)AIS数据预处理。由于AIS数据在不同船速下传输时间间隔不等,使用前述方法对原始AIS数据进行修复之后,使用三次样条插值对船舶航行数据进行插值,获得时间间隔为10 s的等间隔数据。使用min-max标准化方法对数据进行归一化处理。

(11)

式中:1≤i≤n,1≤j≤n,max{xj}为样本数据的最大值,min{xj}为样本数据的最小值,转换后的数据均在[0,1]内,避免因输入数据间量级差别较大对LSTM网络模型影响。

2)模型参数初始化。使用Xavier方法对网络权值初始化,使用网格搜索的方法对LSTM网络时间步、隐含层节点、学习率、批大小等参数进行寻优。网络参数选择如下:输入层节点为4,隐含层节点为100,输出层节点为2,设置初始学习率为0.001,批大小为20。

3)模型训练。LSTM网络的输入考虑了时间顺序,在考虑连续多个时刻的船舶信息时不再是将多个时刻的向量拼接成一个向量,而是增加了一阶时间步,输入数据的格式为矩阵形式。训练样本表示为

{xt:[S(t),S(t-1),…,S(t-n+1)],

Yt:L(t+1)}

(12)

式中:n为时间步长,使用adam优化算法对网络权值进行更新,根据设置的误差率确定网络最终的权值。

4)模型预测。训练完成后,将测试样本输入到模型中进行预测,同时还要对预测的结果反归一化,使得预测得到的航迹数据具有真实的物理意义。

3.3 实验结果

为了验证方法的可行性与可靠性,选取船舶直行和转向两种情况下各200组连续数据进行实验,数据时间间隔为10 s,前4/5数据用于网络训练,后1/5数据用于预测。

3.3.1 不同时间步长对实验结果的影响

时间步长即连续n个时刻的船舶航迹数据输入,直接影响航迹预测的准确性,为了选择合适的时间步长,保证网络其他参数不变,改变时间步长,对比不同时间步长下的预测结果,见图5。

图5 不同时间步预测误差结果

使用均方根误差ΔRMSE作为误差评价指标,越低则表明误差越小,其数学表达式为

(13)

式中:m表示样本数量。随着时间步长增大,网络预测误差逐渐呈下降趋势,当时间步过长时,输入的前后关联性减小造成网络的预测误差增加,并经实验验证在时间步等于5时的ΔRMSE最小。

3.3.2 船舶实时航迹预测结果对比

航行预测结果及误差分析见图6、7。

图6 直行预测结果

图7 转向预测结果

图6a)和7a)中空心坐标点为真实航迹,实心点为预测数据,可以看出预测的航迹可以较好地反映出训练集船舶的航行趋势,且预测航迹与真实航迹吻合较好。

由图6b)、c)和7b)、c)可以看出,两种情况下的经纬度预测最大误差不超过5×10-4°,表明该模型具有一定的预测精度,可以满足监控中心对船舶进行监控和管理的需求。

3.3.3 输入对模型预测精度的影响

为了分析航速v、航向α作为输入对预测精度的影响,将网络的输入改为仅包含船舶的经纬度坐标,使用转向情况下的航迹数据进行验证,实验结果见表1。

表1 输入对预测精度的影响对比

可以看出,含航速、航向的预测模型相对于仅有经纬度输入的情况,对船舶的航迹的预测误差大大减小,预测精度也相对提高。

3.3.4 不同模型预测精度对比

选择灰色预测GM(1,1)模型和BP神经网络与所提方法进行对比实验。其中GM(1,1)模型灰发展系数取0.5,单一使用经度和纬度进行训练和预测;BP网络的层数设置为四层,输入层、隐含层1、隐含层2、输出层维数分别为4、50、10、2,同样使用经度、纬度、航速和航向作为网络输入,经纬度作为输出,实验结果见图8。可以看出本文方法相较于灰色预测模型和BP网络有着更高的预测精度。

图8 不同模型预测结果对比

4 结论

相较于传统方法,基于LSTM网络的航迹预测模型具有更高的精度;利用三次样条插值可以将不等间隔的航迹数据处理成整周期采样,可有效避免不等间隔数据对模型的限制,能够快速准确地预测船舶航迹。未来的研究应考虑模型的在线更新和实时预测,以进一步提高模型的航迹预测能力。

猜你喜欢

航向插值航迹
一种多机协同打击的快速航迹规划方法
基于事件触发的船舶航向逻辑切换自适应控制
大数据分析的船舶航迹拟合研究
风浪干扰条件下舰船航向保持非线性控制系统
基于数据挖掘的船舶航迹自动识别系统
滑动式Lagrange与Chebyshev插值方法对BDS精密星历内插及其精度分析
无人救捞艇的航向控制器设计*
一种复杂环境下的多假设分支跟踪方法
考虑几何限制的航向道模式设计
基于pade逼近的重心有理混合插值新方法