APP下载

基于LSTM与注意力机制的船舶航迹预测模型研究

2021-03-11刘成勇乔文杰陈蜀喆

中国航海 2021年4期
关键词:航迹航行时刻

刘成勇, 乔文杰, 陈蜀喆, 万 一

(1.武汉理工大学 航运学院, 武汉 430063; 2.湖北省内河航运技术重点实验室, 武汉 430063)

随着航运业的迅速发展,内河通航水域中持续面临着如船舶交通密度增大、危险货物载量增加、水上交通管理难度增大等严峻挑战,这些挑战使得水域通航环境愈发复杂,是内河航运业保持可持续发展的潜在阻碍和难题。而安全可靠的船舶航迹预测能为内河水上交通安全管理和船舶航行提供重要依据[1],如Dejun提出基于船舶航迹预测的船舶碰撞避免方法[2],即首先将目标船和本船的实时数据进行航迹预测,然后将预测结果应用到船舶避碰中,以提前识别出船舶的危险情况。内河水上交通管理部门也能通过获取船舶准确有效的航迹预测数据,及时发现并处理船舶航行异常和不规范的问题,同时采取相应的策略来提高内河船舶通行的效率和安全。基于AIS数据的船舶航迹预测研究也是当前内河船舶交通流研究中的热点,传统统计理论研究方法的有如姜佰辰等提出了在传统卡尔曼滤波理论的基础上构建多项式卡尔曼滤波器拟合非线性系统[3],补偿航迹定位数据信息缺失、更新较慢等问题,并基于经纬度信息预测船舶运动轨迹,但此类模型对数据的质量要求较高,且预测精度一般。随着神经网络的广泛使用,出现了如徐婷婷等使用经度差、纬度差、船速和航向四个特征设计了基于三层BP神经网络的航迹预测模型[4],该模型训练预测后结果表明该算法预测精度高、算法耗时短、计算参数少,符合VTS对航迹预测的准确、实时、通用性的要求,但此类模型隐藏层单元较少且较为直接,模型表达能力有限。而当前大数据时代的到来和深度学习在各个领域的应用,利用深度学习挖掘AIS数据的丰富交通特征信息来解决船舶航迹预测问题也取得了一定进展,如权波等针对船舶航行轨迹多维度的特点以及对船舶轨迹预测的精确度和实时性的需求,基于AIS数据的航行轨迹特征,提出了循环神经网络-长短期记忆(RNN-LSTM)模型[5],实验表明利用RNN-LSTM模型的预测方法具有精确度高、易实现的特点,并且与传统处理方法相比,其在处理序列数据方面更具优越性。

目前在船舶航迹预测问题上应用效果相对较好的方法还是结合AIS数据的深度学习方法,但是依然存在一些精度和可靠性不足的问题,主要原因在于大多数模型挖掘船舶AIS数据信息的过程都较为孤立,并没有考虑如自身船舶航行模式和其他船舶的交互影响等方面。

1 LSTM网络及其传播原理

1.1 LSTM网络概述

在深度学习的典型模型中,循环神经网络(Recurrent Neural Networks, RNN)具有对大量离散时间序列数据处理的优越性和独特的上下时刻记忆功能,AIS数据及其包含的航迹特征也属于上下时刻息息相关的离散时间序列。使用RNN神经网络结合航迹数据的关联特性能充分挖掘数据内部蕴藏的信息,且将RNN的隐藏层替换为LSTM网络单元后的航迹预测模型在实际运用中也取到了较好的效果[5]。

常见的RNN展开后的结构如图1所示,由于循环神经网络在实际应用中存在固有的梯度消失和梯度爆炸的问题[6-7],一般将循环神经网络单元替换成LSTM网络单元来解决上述问题,LSTM网络展开传递过程如图2所示,其主要解决方案是增加了单元状态(Cell State)和各种门结构来让网络在传递的过程中具备选择性保留或遗忘某些信息的能力[8]。单元状态相当于传输相关信息的通路,让信息在序列链中传递下去,这部分可看作是网络的记忆。理论上,在序列处理过程中,单元状态能一直携带着相关信息。因此,在较早时间步中获得的信息也能传输到较后时间步的单元中,这样能减弱短期记忆的影响。而门结构则是在网络训练的过程中,决定是否存储、删除或更新某些信息,这取决于它赋予信息的重要性,而重要性的分配发生在算法学习到的权重上。

图1 RNN展开后的结构图

如图2所示,每个基本模块具有两条传递的主线,ct代表t时刻的单元状态,ht代表t时刻的隐藏层输出。在网络传递的过程中,前一时刻单元状态ct-1、隐藏层输出ht-1和当前时刻的输入xt共同作为当前时刻的输入,然后输出新的单元状态ct和隐藏层输出ht,如此反复递归下去。

图2 LSTM网络展开传递示意图

1.2 LSTM传播原理

1.2.1前向传播过程

长短期记忆网络使用了三种门结构实现了对单元状态和隐藏层输出的控制,达到对记忆信息的保存和新单元状态和输出的更新效果。这三种门分别是遗忘门(Forget gate),输入门(Input gate)和输出门(Output gate),共同对网络的记忆信息和新的输入信息起到了综合调控的作用,其具体的网络单元结构如图3所示。

图3 LSTM具体网络结构单元图

如图3所示,其中ft、it、ot分别对应遗忘门、输入门和输出门的结果,⊗、⊕分别表示连接部分相乘和相加。那么根据文献[8]可知三个门结构、更新后单元状态和隐藏层值的计算分别如下:

ft=σ(Wf·[ht-1,xt]+bf)

(1)

it=σ(Wi·[ht-1,xt]+bi)

(2)

(3)

(4)

ot=σ(Wo·[ht-1,xt]+bo)

(5)

ht=ot⊙tanh(ct)

(6)

1.2.2反向传播过程

(7)

(1-ot)](ht-1)T

(8)

2 基于LSTM的Encoder-Decoder模型框架

2.1 总体模型框架

本文的船舶航迹预测问题选取的输入主要包括AIS报文信息里五个航迹相关参数,即输入变量为船舶经度(longitude,度)、纬度(latitude,度)、对地航速(SOG,节/小时)、船首向(Head direction,度)和对地航向(COG,度)的多个时刻观测序列值,预测输出为船舶后续时刻位置的经纬度序列。这可以看成一个典型的从序列到序列(seq2seq)的预测问题,在深度学习中现有的基于LSTM模块单元的Encoder-Decoder模型常用于处理此类问题。如朱墨儒等[12]针对云计算的负载变化兼有短期动态不确定性与长期统计规律的稳定性,利用经过改进的Seq2seq模型并通过采集一段时间内的历史负载信息,对负载时间序列数据进行建模后实现了较为准确的未来一段时间的负载预测。那么结合本文的实际研究,将该模型应用到航迹预测问题可得到基于LSTM的编码-解码航迹预测模型基本框架,如图4所示。

图4 基于LSTM编码-解码模型的船舶航迹预测基本框架

2.2 LSTM编码过程

在LSTM编码器部分,每个LSTM模块接受上一时刻船舶航迹的隐藏层表示和当前时刻输入的该船舶的航迹参数,根据这两部分的输入通过非线性变换再计算出当前时刻该船舶航迹序列的隐藏层表示,如式(9)所示:

ht=σ(ht-1,xt)

(9)

其中σ为非线性变换函数,在通过所有的输入循环单元后,获得了所有输入时刻的隐藏层表示,将每个隐藏层的信息汇聚生成了最后的上下文向量C,其中q为某种非线性函数,由图4可知,此时的C即为输入层最后一层的隐藏层输出ht,整个的编码过程可以总结如式(10):

C=LSTM(x1,x2,…,xτ)

(10)

输入的航迹序列经过编码器映射成上下文向量C,这个固定长度的上下文向量可以看作是编码器到解码器的信息媒介,避免了序列数据的长度限制。通过编码器对船舶的航迹序列数据进行特征提取,学习了航迹数据里蕴藏的船舶潜在运动模式,为解码器预测船舶后续时刻的位置提供了有效的信息。

2.3 LSTM解码过程

在LSTM解码器部分,解码器在每个输出时刻也接收两个输入,分别是通过编码器生成的上下文向量C和已经生成的输出序列,这两部分经过非线性变换后输出船舶的下一个可能的位置,预测输出过程表示为如式(11)所示:

(11)

f为解码器的LSTM循环单元,解码器的生成序列实际上就是把联合概率分解为按顺序生成的条件概率,由于解码器每一时刻的相互连接,解码器每一时刻的输出具体可以表示为由隐藏层和上下文向量C表示,如式(12)所示:

(12)

其中g为输出概率的非线性变换函数,st-1为解码器t-1时刻的隐藏层表示。

解码器每次预测船舶后续时刻的位置时,能够利用上一时刻的预测信息和基于编码器对输入航迹序列信息提取后得到的上下文向量C,通过LSTM前向和反向传播的学习能力,模型能够学习到目标输出与这两种信息之间的非线性映射关系,并将映射关系的结果解码得到后续时刻船舶的位置信息输出,即为基于LSTM编码-解码的船舶航迹预测过程。

3 Atten-LSTM船舶航迹预测模型构建

在解决seq2seq问题的Encoder-Decoder模型时,往往将模型预测输出和深度学习中的注意力机制结合起来。大量研究工作表明,注意力机制的引入确实能较大程度上提高seq2seq模型预测输出的准确率[13]。与人的注意力机制类似,深度学习的注意力机制的本质上是一种对信息的加权方案,根据任务的需求让神经网络选择特定的输入,依据输入对结果的重要程度分配不同的权重,让神经网络在做出预测时更加合理的运用信息的来源,基于此本文主要从船舶航行模式的时间和空间两个维度对注意力机制进行模型构建。

3.1 时间注意力机制

在基于LSTM的编码-解码航迹预测模型中使用的是由输入生成的固定的上下文向量C,由于向量长度有限,难以概括整个航迹序列的信息,且在LSTM中先输入的信息会被后输入的内容稀释掉,于是随着输入序列的变长,这种固定的上下文向量C越来越不能体现航迹数据中的真实信息。另外真实场景下船舶的航行模式也是随时间动态变化的,仅依靠固定的上下文向量C无法区分输出序列和输入序列的隐藏层之间跨时间步的相关性程度。因此,在基础的编码-解码船舶航迹预测模型中需要引入每艘船舶对自身历史航迹的时间注意力机制,自动学习出其解码器与编码器产生的各隐藏向量的相关性。这里以第i艘船为例,使用时间注意力机制计算生成船舶航的位置序列的迭代过程则如式(13)所示:

(13)

(14)

图5 模拟船舶自身航行模式的注意力机制示意图

3.2 空间注意力机制

除了引入对自身航迹的时间注意力机制外,还要考虑船舶航行环境中船与船的交互作用对船舶航迹的影响。考虑到在预测自身船舶的航迹时也需要对其他周围船舶的航行模式做出观察和判断,模型就需要利用其他周围船舶航迹数据的上下文向量所携带的信息,并能够与该上下文向量之间建立联系。另外,每艘船舶的航行状态会随着时间不断发生变化,对任意一艘自身船舶而言,其他的船舶的航行状态都会对其未来时刻航迹产生不同的影响。因此,模型需要计算出船舶对周围其他船舶的关注程度,即航行过程中的空间注意力机制调整。

(15)

图6 模拟船舶交互作用的注意力机制示意图

实现了基于LSTM的编码-解码航迹预测模型中的注意力机制后,对于模型输出采取如下方式:即本船i在预测时刻t出现在某个位置的概率服从二维高斯分布,再根据极大似然估计,可得到模型的总体损失函数则为船舶真实位置概率密度值的交叉熵损失函数,这样模型训练的过程中便可以通过误差随时间的反向传播和梯度下降可以学习到所有的参数值,总体的Atten-LSTM模型构建完成。

4 模型验证及结果分析

4.1 实验环境和评价指标

本文的主要开发语言为python3.7版本,实验平台使用基于tensorflow1.8版本的上层框架Keras。实验研究数据主要来源于海事管理机构,主要选取了长江干线武汉段船舶正常航行的航迹数据,每条船舶选取约400条航迹数据,每条数据采样间隔为2分钟。首先对原始数据中的错误数据进行剔除和缺失数据进行同类均值插补,再对船舶经度、维度、航速、航首相和对地航向五个维度进行min-max归一化处理,之后对航迹数据进行训练集和测试集的划分,其中30%作为测试集,70%的数据作为训练集,将训练集分为十等份,轮流将其中九份作为训练,一份用来测试评估,即采用十折交叉验证的策略训练模式。模型的评价指标选取常用的绝对值平均误差(MAE)和均方根误差(RMSE)两个标准,其值越小代表模型准确度越高。两者基本的计算方法如式(16)和(17)所示:

(16)

(17)

4.2 模型参数设置

对于本文的Atten-LSTM预测模型参数设置,其嵌入层维度为64,隐藏层维度设为128,训练中的优化器选用Adam优化器,训练周期(epoch)设为200,如果损失经过400个批次都没有减少,就可以减少训练的epoch[17]。网络学习率初始值设为0.002,每一个训练周期的学习率自适应降低,学习率的逐步降低有利于网络收敛于更优的结果。为防止网络模型出现梯度爆炸的现象,模型采用梯度修剪(Gradient clipping)将误差反向传播的梯度控制在5和-5之间。同时考虑预测值的实际应用与参考价值,将输出定为未来5个时刻的经纬度值,即输出steps为5。对于输入层的时刻数,对多个不同输入steps进行实验对比分析误差进行选取。以MMSI编号413963521的货船的航迹数据为本船,通过坐标距离计算获取周围6海里的他船,确定船舶后带入Atten-LSTM模型中对本船进行训练后得到后续时刻的预测,则实验过程中不同输入steps带入模型对应的MAE和RMSE得分见图7所示。

图7 输入层不同steps对应的RMSE和MAE值

由图7可以看出,不同的输入层steps对网络模型精度有着一定影响,模型网络在输入层steps为6的时候达到最小,因此本文的Atten-LSTM模型的输入层steps确定为6,输入数据的维度为6×5的矩阵。

4.3 实验结果分析

对实验环境和网络参数的设定后,使用船舶安全航行条件下的完整数据集进行网络训练拟合,并根据指定的优化算法和损失函数进行网络优化。训练结束后使用测试集模型进行递归预测,对预测结果进行误差分析和精准度比较,航迹预测结果以三维航迹预测图和经纬度二维轨迹图进行显示。以MMSI为413963521的航迹较为平稳的货船为例,图中横坐标为数据的时间点,每个时间点间隔2分钟,纵坐标为经纬度值。

如图8和图9所示,该货船在Atten-LSTM模型的训练集和测试集上的预测结果良好,航迹经纬度的预测结果也相对准确,一方面说明网络模型未出现过拟合的状况,也说明该模型能较好的处理航迹预测的问题。此外,为更好的量化评定模型预测结果的准确性,本文选择几种不同类型的船舶进行统计分析,计算出对应船舶预测结果的RMSE和MAE及其平均值,如表1所示。

图8 MMSI为413963521的货船航迹预测图

图9 MMSI为413963521的经纬度预测图

为进一步验证该模型相对于其他模型在航迹预测精准度上的优势,选取在航迹预测方面取得不错应用效果的GA-BP和LSTM两个预测模型与Atten-LSTM模型进行预测精准度比较,以MMSI为413963521的货船为例,其预测效果对比如图10和图11所示。

表1 不同类型船舶对应的预测误差值

图10 三种模型的航迹预测结果对比图

由上图10和图11可以看出,Atten-LSTM模型和原始航迹的拟合的最为贴近,即船舶安全航行情况下其预测航迹的精准度最高,其次是LSTM模型也取得不错的预测效果,GA-BP的预测方法在三者中误差最高。下面同样以RMSE和MAE作为预测性能的评价指标,列出三种模型在相同数据条件下的预测误差量化统计表,如表2所示。

表2 三种不同预测模型的误差值

如表2所示,Atten-LSTM模型的误差得分相对于其他两种模型确实最低,体现出该模型在船舶的预测航迹相对其他模型具有更高的准确度。

5 结束语

本文从内河水域船舶航迹预测的角度出发,以蕴含船舶航行信息的AIS数据为切入点,分析了从输入船舶航迹相关的特征维度序列到预测输出为经纬度位置序列的seq2seq问题,提出了一种基于LSTM与注意力机制的Atten-LSTM航迹预测模型。该模型以基于LSTM的Encoder-Decoder的航迹预测模型为基本框架,应用注意力机制模拟了船舶在航行过程船舶自身航行模式和船舶交互影响对航迹预测的影响。相关实验表明了Atten-LSTM模型在安全航行条件下具有较高的预测精度,该模型在航迹预测问题上体现出较好的适用性和可靠性。由于船舶航迹预测问题的复杂性,下一步需考虑船舶航迹异常时该模型的表现,而Atten-LSTM模型中的注意力机制在一定层面上就是对船员注意力机制在数据层次上的体现,可进一步研究该模型是否对船舶异常航迹起到纠正和规避船舶碰撞等潜在作用。

猜你喜欢

航迹航行时刻
冬“傲”时刻
捕猎时刻
到慧骃国的航行
梦的航迹
自适应引导长度的无人机航迹跟踪方法
小舟在河上航行
航行
视觉导航下基于H2/H∞的航迹跟踪
基于航迹差和航向差的航迹自动控制算法
一天的时刻