一种渔船轨迹预测的AM-LSTM 算法
2023-09-29李海涛苏美玲张俊虎
李海涛, 苏美玲, 张俊虎
(青岛科技大学 信息科学技术学院,山东 青岛 266061)
据统计,到2020 年末,我国渔船总数达到56.33万艘。在所有的渔船事故分类中,渔船碰撞产生的事故案件数最多、赔偿款最多[1],渔船碰撞不利于海上航行安全;随着远洋捕捞的发展,船只远离海岸,监管部门对渔船的监控会有所不足,一些越界捕捞的问题不能及时发现,不利于海洋渔业资源的可持续发展;海上航道管制会划分一些禁区以及危险区,渔船航行可能不小心驶入这些区域,造成危险。提高渔船轨迹的预测精度,可以同时预测多个船只在某个时间的位置关系,判断是否会发生碰撞,减少渔船碰撞事故;可以监控渔船的可能的越界捕捞行为,提高监管效率,预防越界捕捞的发生;可提前预测渔船是否要驶入禁区或危险区,提前预警,减少人员伤亡,保护财产安全。近年来随着自动识别系统(automatic identification system,AIS)的发展,在渔船航迹方面积累了大量的数据,这些数据对分析渔船轨迹提供了极大的便利。对于船舶轨迹预测的研究大致分为两个阶段:第一阶段是基于特定的运动学方程和传统的机器学习算法进行预测;第二阶段是基于神经网络以及深度学习算法进行船舶轨迹预测。
在第一阶段,文献[2]使用灰色预测模型来处理船舶航迹中不确定参数,对其进行粗略估计。文献[3]提出了一种基于灰色预测的方法构建船舶航行轨迹自动预测模型,并在此基础上加入了缓冲算子进行改进,提高预测精度。文献[4]使用了基于支持向量机的预测模型,模型的内部参数优化使用了差分进化算法。文献[5]使用三阶马尔科夫链对渔船某个时刻的位置进行空间区域的预测。文献[6]提出一种结合Transformer 模型和卡尔曼滤波的航迹预测方法。文献[7]建立了基于高斯过程回归(Gaussian process regression,GPR)和基于核岭回归(kernel ridge regression,KRR)的船舶自适应轨迹预测模型。文献[8]利用Stacking的加权集成思想,集成了XGBoost、Light GBM、LSTM 的方法,构建了航迹预测模型。在此阶段中,由于船舶航行过程中受海洋环境影响,而海洋环境因素是非线性因素,无法使用线性方程表示,基于运动学方程的方法无法完全表示其运动规律,可能会导致轨迹预测准确率下降。
在第二阶段,文献[9]优化了普通循环神经网络,提出基于门控循环单元的循环神经网络船舶轨迹预测算法,该算法以经纬度作为输入,以经纬度作为输出,经过实验证明了该模型的实用性。文献[10]采用BP神经网络来预测船舶的轨迹,以经度、纬度、速度、真航角和对地航向作为输入,以经纬度作为输出,经过实验证明,BP 神经网络经由遗传和粒子群混合算法优化后,预测效果最好。文献[11]在LSTM 基础上加入循环神经网络模型构建RNN-LSTM 模型,使用循环神经网络学习短期规律,使用LSTM 学习长期规律,预测船舶的轨迹信息。文献[12]在LSTM 的基础上结合小波变换,对数据进行平滑处理,并提出了WA-LSTM 航迹预测模型来提高预测航迹精度。文献[13]主要使用3次样条插值对AIS原始数据进行处理。文献[14]构建了卷积神经网络和双向长短期记忆网络混合的轨迹预测模型,该模型选择经纬度、速度、真航角和对地航向5个船舶航行时的特征作为输入,以经纬度作为输出值,来预测船舶的位置信息。文献[15]在LSTM 基础上加入了卷积神经网络构造CNNLSTM 模型,以经纬度、船速、航向以及舵角作为输入来进行短期航迹预测。文献[16]通过多层LSTM 网络以经度、纬度、航速和航向作为输入,对船舶轨迹进行研究,并取得了良好的效果。此阶段建立的模型都仅将经纬度、航向和航速作为模型的输入参数,并未考虑船体自身的影响,会影响准确率的提升。
由于传统的机器学习方法以及BP网络不适合对于轨迹时间序列的研究,本研究提出了基于LSTM 网络对渔船轨迹预测方法。同时在模型数据输入方面,不仅考虑了时间、经纬度、航向、航速等影响因素,还综合考虑了渔船自身因素如渔船的长度、宽度、吃水深度等对渔船轨迹预测的影响。在网络搭建方面,本研究在LSTM 的基础上,引入注意力机制,提出了注意力机制和LSTM 结合的渔船轨迹预测模型(AM-LSTM)。
1 AM-LSTM 模型介绍
1.1 注意力机制
注意力机制[17]用来模仿人脑对环境的感知,人脑在关注事物时,往往会从中选择出需要重点关注的部分而自然地忽略其他内容。而在渔船轨迹的预测方面,数据的输入包括某一时间的纬度、经度、航速、航向、真航向角、渔船状态、渔船长度、渔船宽度、吃水深度和时间间隔,数据影响因素较多,但是影响因子不同,通过注意力机制的模型,可以将所有的因素加入不同的权重,以此来影响未来某个时间的经纬度位置,提高预测的精度。注意力机制的结构如图1所示,含m个特征的特征向量x={x1,x2,x3,…,xm},采用单层全连接神经网络计算得到权重向量α={α1,α2,α3,…,αm}:
图1 注意力机制作用图Fig.1 Action diagram of attention mechanism
其中,Wα为训练后的权重矩阵,bα为偏置向量,σ为sigmoid激活函数,函数公式如式(2)所示。
注意力机制在过程中会形成与输入数据维度相同的权重参数矩阵W和偏置向量b,通过全连接网络生成权重参数,注意力机制会将所获得的权重参数与输入数据相乘,即可获得按重要程度划分的新的输入数据。
1.2 LSTM 神经网络
LSTM 是经由循环神经网络(recurrent neural network)演变而来,循环神经网络相较于其他神经网络的优势是可以将上一时刻的信息,传递到当前时刻来使用。RNN 的结构如图2、3所示。
图2 RNN结构Fig.2 RNN structure
图3 RNN单元结构Fig.3 RNN cell structure
图2 中,xt表示第t时刻的数据输入,A代表RNN 网络,ht代表t时刻的输出,将t时刻的数据经过处理传到t+1时刻,形成链式的网络结构。但是,由于RNN 的处理层通常为单tanh 层,在长时预测中,可能会导致梯度消失或梯度爆炸。
LSTM 网络对RNN 的单元结构进行升级,主要解决了梯度消失或爆炸的问题。RNN 网络的处理层比较简单,而LSTM 的单元结构在其单元结构中加入了遗忘门ft,输入门it和输出门ot,LSTM的单元结构如图4所示。
图4 LSTM 单元结构Fig.4 LSTM cell structure
其中,
经过遗忘门、输入门和输出门3个步骤的处理后,最终输出利用好时间序列信息之间的关联性。更适合于渔船轨迹的预测问题。
1.3 AM-LSTM 模型结构
本研究将注意力机制与LSTM 进行结合,形成AM-LSTM 的神经网络结构模型。模型结构如图5所示。
图5 AM-LSTM 网络结构Fig.5 AM-LSTM network structure
模型主要包含输入层、注意力机制层、LSTM层、池化层、LSTM 层和全连接层。由于添加了渔船自身属性的特征,导致属性增多,运算量过大,注意力机制层可标记不同特征的重要程度,增加预测准确率并减少计算量;LSTM 层可对序列数据进行训练,获取不同时间数据之间的关系;池化层用于压缩数据,减少过拟合的发生;第二层LSTM 用于训练压缩后不同时间数据之间的关系;全连接层用于输出预测的经纬度数据。
模型的具体流程:首先利用注意力机制将输入的原始渔船序列数据重新进行权重分配,用渔船数据和权重系数相乘,获得新的数据输入到LSTM 层,在LSTM 中学习;随后搭建LSTM 层,从加权特征序列中获得隐藏的时序关联信息,得到信息的隐藏层数据;将获得的隐藏层数据传入池化层,利用池化层进行降维、减少计算量;经过池化后的数据再进入第二层LSTM 层,最后将含全局隐藏信息的h″送入到全连接层,通过全连接层,得到预测的经度和纬度数据。
2 实验数据
2.1 数据介绍
本研究使用MarineCadastre.gov提供的渔船AIS数据。使用2020年11月和12月的数据用来训练和预测。原数据中包含MMSI号、时间、纬度、经度、航速、航向、真航向角、船名、IMO 号、呼号、船舶类型、航行状态、船体长度、船体宽度、吃水深度等。AIS数据字典如表1所示。
表1 AIS数据字典Table 1 AIS data dictionary
本实验使用经纬度40°N~50°N,120°W ~140°W 范围内的渔船船只进行实验,经过筛选后,共选择出172 125条数据,将80%的数据用于训练,20%的数据用于测试。
2.2 数据预处理
2.2.1 时间处理
大部分船舶轨迹的处理中,都采用插值的方法,将数据处理成时间间隔相等的序列,然后进行数据的训练和测试。但是在这种情况下所插入的数据并不是真实数据,可能造成一定的误差。本文采用加入一列时间间隔的属性,用下一个时刻和当前时刻之间的时间差作为当前时刻的时间间隔,这样的数据是真实数据,不会造成数据的误差。也可在实际应用中,设置时间间隔,以此来设置预测多久以后渔船所在的位置。
2.2.2 数据归一化
数据归一化处理,是将原始数据按一定的公式,将数据归于[0,1]之间,归一化[18]的公式为
其中,X为归一化后的数据值,x为原始数据值,xmin表示同属性最小数据值,xmax表示同属性最大数据值,经过公式的归一化处理,所有数据归于[0,1]之间,且不改变数据之间的权重比例,适合于渔船轨迹预测。
2.2.3 数据输入
将渔船的纬度(lat)、经度(lon)、航速(sog)、航向(cog)、真航向角(angle)、运动状态(status)、渔船长度(length)、渔船宽度(width)、吃水深度(draft)和时间间隔(timeGap)作为输入,则在第t时刻的轨迹特征Y(t)为
训练数据将5个历史时刻的轨迹作为一个序列输入,第6个时刻的纬度和经度数据作为标签。每个轨迹之间的时差不超过1 800 s。渔船航迹预测模型的表达式为
3 结果与分析
3.1 实验评估
本实验使用均方误差(mean square error,MSE)来评估预测结果的好坏程度。使用不同的模型进行预测,输出的MSE 数值也会有所不同,MSE越小,代表实验效果越好。
其中,m是预测数据的总个数,y是真实数据的值,是预测数据的值。
3.2 实验结果对比
3.2.1 AM-LSTM 与LSTM 对比结果
使用AM-LSTM 与LSTM,在经度、纬度和经纬度总体3个维度上进行实验对比,本实验所使用的模型AM-LSTM,预测的准确度明显优于其他两个模型。使用真实数据与预测数据的差来展示预测的结果。
图6和图7中横坐标代表第t个时刻,纵坐标代表真实值与预测值之间的差值。
图6 纬度误差对比图Fig.6 Error comparison in latitude
图7 经度误差对比图Fig.7 Error comparison in longitude
两种模型在纬度上的预测结果差值如图6 所示。由图6可知,AM-LSTM 所得到的预测结果的误差,明显低于LSTM 神经网络模型,AM-LSTM对纬度的预测精度更高。
两种模型在经度上的预测结果差值如图7 所示。由图7可知,虽然实验组在序列60~80之间略高于两种神经网络模型,但是大部分序列中仍是AM-LSTM 的精确度更高,从总体计算来说,是AM-LSTM 的预测数据误差更小。
表2展示了两种模型分别对纬度、经度和总体的预测值的均方误差MSE。可以明显看出使用AM-LSTM,分别对纬度和经度进行预测的模型准确度最高,效果最好。
表2 两种模型的MSE对比Table 2 MSE comparison between two models
从图6、图7和表2的结果可以看出加入注意力机制的AM-LSTM 的效果明显好于LSTM,证明了加入注意力机制的必要性。
3.2.2 消融实验
渔船自身属性是指渔船长度、宽度以及渔船的吃水深度。本实验与未加入渔船自身属性的特征以及是否使用时间间隔进行对比实验,通过实验结果如表3所示,从实验数据看,加入渔船长度、宽度、渔船的吃水深度和使用时间间隔的模型准确率无论是纬度、经度还是总体的精确度均高于其他属性模型的预测准确率。
表3 消融实验MSE对比Table 3 Comparison of MSE in ablation experiment
3.2.3 不同模型之间对比结果
在处理后的AIS数据集上针对算法的性能提出AM-LSTM 模型与CNN-LSTM、RNN-LSTM、LSTM 和BP方法进行了实验对比,使用总体损失值作为对比标准,见表4。
表4 AIS数据集各模型损失对比Table 4 Comparison of loss of each model in AIS data set
由表4中可以看出,使用5种不同的模型对相同数据集上进行实验,测试的损失率有所不同。在测试集损失率上,本研究所提出的AM-LSTM 模型的实验结果分别比CNN-LSTM、RNN-LSTM、LSTM 和BP 的实验结果降低了40.1%,30.4%,65.5%,75.2%。因此本研究所提出渔船轨迹预测模型AM-LSTM 的性能均好于其他两种模型。
4 结 语
本研究通过将注意力机制和LSTM 相结合,对渔船的轨迹进行预测研究。利用AM-LSTM 对大西洋区域内的AIS 渔船数据进行训练、预测和分析,在神经网络的输入中添加了渔船的自身属性特征,并使用注意力机制对网络的输入特征进行权重比例的叠加。实验研究显示,AM-LSTM 神经网络模型的预测结果优于其他预测模型;加入渔船自身特征的模型轨迹的预测结果比未加入渔船自身特征的误差小,效果好。在维护航海安全以及保护海洋渔业资源可持续发展工作中,使用AM-LSTM 神经网络模型,能够更好预防海上渔船碰撞事故的发生,同时更好的对渔船进行监控,对海洋资源的保护有很大作用。