蒋 通,崔良中,刘立国,林 媛
(1. 海军工程大学电子工程学院,湖北 武汉 430033;2. 中国人民解放军92001部队,山东 青岛 266011)
近年来,海上安全和海洋权益在全世界范围内变得越来越受到重视。随着卫星定位和无线通讯等技术的飞速发展,可以通过舰船自动识别系统(AIS)、雷达和卫星等多种途径获取大量海上舰船航行轨迹数据,如何挖掘潜藏在其中的有用信息一直是该领域研究的重难点之一,对航行轨迹的聚类分析与预测是发现海上交通规律和船舶行为模式的有效方法和手段,具有重要的军事意义和社会经济价值。
国内外专家学者提出的针对航迹预测的方法主要包括基于统计学、基于传统机器学习和基于深度学习等三类。基于统计学的方法中,Mathew等人运用隐马尔可夫模型(HMM),把二维空间划分为大小相同但彼此不相交的网格,将轨迹表示为各个网格的编号。然而,该方法需要将连续的轨迹进行离散化,很多参数需要人为设置,因此存在精度丢失等问题;BI等人采用线性回归(LP)预测的方法对移动目标进行分类和识别。基于传统机器学习的方法中,Tong等人综合考虑轨迹的时间和空间连续性,使用改进的马尔可夫链(MC)模型对局部轨迹的未来走向进行预测,并提高了传统马尔科夫模型的预测准确度,其通过计算不同状态之间的转换概率,得到下一阶段不同状态的发生概率,从而达到预测目标未来运动状态的目的;茅晨昊等人提出一种基于高斯回归过程(GPR)的船舶轨迹预测模型,集聚了贝叶斯网络可解释性强的优点以及支持向量机(SVM)的自适应处理能力。基于深度学习的方法中,甄荣等人对船舶航行行为特征进行充分考虑,以连续三个时刻为输入、第四个时刻为输出对BP(Back Propagation)神经网络进行训练,取得较好的预测结果;循环神经网络(RNN)也常被用于预测目标轨迹,其在各领域的序列数据处理方面已经得到广泛应用。但是,RNN在处理序列较长的数据时,计算过程中会出现梯度爆炸或梯度消失的现象,长短期记忆(LSTM)网络应运而生。
然而,应用传统时间序列预测方法进行舰船航迹预测时,其精确度和稳定性往往不够理想;此外,受军用数据因涉密程度高难以获取的限制,现有研究多基于民用AIS航迹数据,忽略了同一海域军用舰船和民用船舶会同时存在的客观现实。为解决上述问题,本文提出一种基于聚类分析和Att-Bi-LSTM的舰船航迹预测方法,采用“先聚类分析、后预测”的思想,将航迹聚类分析与航迹预测两个阶段相结合,在同时包含军用舰船和民用船舶的场景中设计对比实验验证其预测效果。
本文采取一种多步骤舰船航迹聚类分析方法,先将航迹聚成不同的类别,以此为舰船航迹预测提供支撑。完整流程如图1所示。
图1 多步骤舰船航迹聚类分析方法流程
(1)
(2)
表1 数据预处理
每一条航迹都可以看做是一条不规则曲线,在对航迹进行数字化表示时,要对曲线进行采样,即在曲线上取有限个点(即航迹点),将其变为无数段折线(即航迹段),并且尽可能保持原有的形状。运用经典道格拉斯-普克(DP)算法压缩航迹时,只考虑了航迹点的经度和纬度,而忽略了航向和航速对压缩结果的影响,往往会导致不能将“转折点”或“变速点”保留下来。因此,本文在经典DP算法的基础上对其进行改进,通过查阅相关文献资料,咨询航海领域专业人士,需要保留符合以下条件中至少一个的航迹点。
△=|+1-|>50∈[1,]
(3)
△=|+1-|>300∈[1,]
(4)
每一条航迹都可以看作是由相邻航迹点连接而成的子航迹段组成,采用动态时间规整(DTW)算法对不同航迹之间的航迹段进行匹配,保证每条航迹的任一航迹段在另一条航迹当中都能找到与之匹配的航迹段,把它们之间的距离等效地认为是起始航迹点之间的结构化距离。
如图2所示,假设有两条航迹为和,表示航迹的第个航迹点,表示航迹的第个航迹点,为航迹点之间可能的匹配路径。(,)表示航迹的前个航迹点组成的子航迹段和航迹的前个航迹点组成的子航迹段之间的最小结构化距离。
图2 子航迹段匹配
算法的思想是使用迭代的方法求出任意两条航迹的匹配路径,使得结构化距离最小,可表示为
(,)=(,)+min(((-1),),(,(-1)),((-1),(-1)))
(5)
其中,(,)表示与之间的结构化距离。
不同航迹之间的结构化距离中除了位置距离外,还包括由于航向和航速的差异而导致的“距离”,也需要对此进行度量,可表示为:
(,)=Δ+Δ+Δ+Δ
(6)
其中,Δ、Δ、Δ和Δ分别表示、两个航迹点航速的垂直分量、航速的水平分量、位置的垂直距离和位置的水平距离之间的差异;表示结构化距离中各部分所占权重,需满足条件:≥0,=1,2,3,4且∑=1。
最后运用基于DBSCAN算法的自适应层次聚类方法对舰船航迹进行聚类,此方法通过分析DBSCAN算法的特性,根据数据集内在分布规律及拟聚类效果的变化规律来确定参数,有效解决了参数选取对DBSCAN算法聚类效果的影响。
相较于RNN,LSTM网络用一个记忆单元代替隐藏层结点,不同记忆单元之间通过带权边相连,确保梯度可以在不同时间状态中传递,不会出现爆炸或消失的现象。基本结构如图3所示。
图3 LSTM网络两种状态在隐藏层中传递
LSTM网络有三个门来控制长期状态,门是一个全连接层,表示为
()=s(+)
(7)
其中,表示权重向量,表示偏置项,表示sigmoid函数。其隐藏层的循环过程如图4所示。
图4 LSTM网络中隐藏层循环过程
输入门:决定当前网络输入值进入到单元状态的比重,表示为
=s(·[-1,]+)
(8)
遗忘门:决定上一时刻单元状态-1保留到当前时刻的比重,表示为
=s(·[-1,]+)
(9)
(10)
(11)
输出门:决定单元状态到当前输出的比重,表示为
=s(·[-1,]+)
(12)
LSTM网络的输出值可表示为
=*tanh()
(13)
基于时间的反向传播(BPTT)算法是针对LSTM网络中循环层的训练算法,主要包括前向计算每个神经元的输出值、反向计算每个神经元的误差项以及计算每个权重的梯度,并用随机梯度下降算法更新权重等三个步骤。
传统LSTM网络按照时间顺序来处理序列问题,忽略了未来信息对当前的影响。双向长短期记忆(Bi-LSTM)网络通过在隐藏层到隐藏层之间引入与时间顺序相反的连接来扩展单一定向LSTM网络,包含两个传播顺序相反的子网络,网络输出值可表示为:
(14)
为挖掘时间序列不同因子之间相关性权重,Bahdanalu等人提出了注意力(Attention)机制,核心思想是提取与目标显著相关的核心信息,突出影响目标的关键因素,本质上是一种自动加权方案。
设H是由LSTM层每一时间步输出的隐藏状态组成的矩阵
=[,,…,]
(15)
其中,为序列长度。对进行加权求和计算可得注意力机制的输出向量
(16)
其中,表示注意力向量,表示经过训练的参数向量,表示其转置。
综上,结合注意力机制的双向长短期记忆(Att-Bi-LSTM)网络网络通常包括输入层、Bi-LSTM层、Attention层、全连接层和输出层,其结构如图5所示。
图5 Att-Bi-LSTM网络结构
给定包含有限个航迹点的历史航迹T,可表征为由一系列离散航迹点组成的序列
=(,,…,)
(17)
其中,表示航迹点。
每个航迹点可以表征用一个四维向量对其特征进行表征
=(,,,)
(18)
其中,、、、分别表示航迹点的航速、经度、纬度和航向。
当前目标处于航迹点,舰船航迹预测问题就是根据当前+1个时刻组成的序列,预测+1时刻目标最有可能处于的航迹点
(19)
依此类推,直到完成对最后一个航迹点的预测。
基于Att-Bi-LSTM的舰船航迹预测模型如图6所示。
图6 基于Att-Bi-LSTM的舰船航迹预测模型
本文提出的基于聚类分析和Att-Bi-LSTM的舰船航迹预测方法流程如图7所示。
图7 舰船航迹预测方法流程图
整个过程可分为四步:
1)运用多步骤舰船航迹聚类算法将航迹
聚成不同的类别。
2)构建基于Att-Bi-LSTM的舰船航迹预测模型,将实验数据分别按相同比例划分成训练集和测试集,输入训练集对网络中进行训练,得到与类别相对应的训练好的网络。
3)输入测试集到对应的训练好的网络中,得到航迹预测结果。
4)设计对比实验,分析方法性能。
选取“日本冲绳-钓鱼岛及其附属岛屿-台湾岛-巴士海峡-北吕宋海槽-马尼拉海沟”沿线附近海域300条民用舰船航迹和200条军用舰船航迹作为实验数据,其中民用舰船航迹为真实的AIS航迹数据,军用舰船航迹为模拟生成的。重要参数设置如表2和表3所示。
Att-Bi-LSTM网络的训练和预测基于深度学习框架Tensorflow 2.3.0版本的上层框架Keras完成。分别取80%的航迹数据用于网络的训练,20%的航迹数据用于网络的预测。为使所得实验结果更具有说服力,避免偶然性的发生,均取20次运行结果的平均值。实验编程语言使用Python 3.5。
表2 航迹聚类参数设置
表3 网络一参数设置
航迹聚类结果如表4所示。
表4 航迹聚类结果
由实验结果可知,500条航迹被分成了四类,分别包含134、67、138和159条航迹。为更好的体现不同网络对不同属性的预测结果,使用精确度(precision)作为衡量指标,航迹预测的结果为航速、经度、纬度和航向等四个属性的具体数值,并非航迹所属类别,因此需要分别对不同属性的阈值进行设定,如表5所示(以网络一为例)。
表5 阈值设定
若预测值与真实值之间的差值在阈值之内,可以认为其满足精确度的要求,否则不满足。不同类别对应的不同网络对航迹各个属性的预测结果如表6所示。
表6 航迹预测结果
从表中可以看出,除了网络四对经度和纬度的预测精确度略低于80%外,其它均在80%以上。通过计算,航速、经度、纬度和航向四个属性的平均精确度分别为93.6%、83.0%、82.4%和89.0%,结果表明本文提出的舰船航迹预测方法具有一定的预测精确度,其中航速的精确度明显大于其它三种属性,这是由于现实情况中不定风向和未知洋流等自然环境条件造成的,经度和纬度也会因此受到影响;而网络一和网络二中航向和航速的精确度要优于网络三和网络四,这是因为军用数据模拟过程中,相邻“转折点”之间的“非转折点”航向和航速假定为相等造成的,然而在航行过程中,往往会根据形势随机应变,如突然地加速减速、急转急停等,实际预测难度较大,预测结果精确度略低。
为有效评估本文所用模型的效果,设计对比实验,在相同的数据集上分别与BP神经网络、LSTM网络和Att-Bi-LSTM网络三种模型进行对比分析,以均方根误差(RMSE)来衡量不同模型的精确度,以最大误差和最小误差来衡量不同模型的稳定性。RMSE的表达式如下
(20)
本文所提出方法的、最大误差和最小误差表示如下
(21)
=max[()|=1,2,3,4]
(22)
=min[()|=1,2,3,4]
(23)
其中,、、(=1,2,3,4)分别表示不同网络中测试集样本数量、均方根误差、误差。
不同模型预测结果三种误差对比如表7、8、9所示。
表7 不同模型预测结果RMSE对比
表8 不同模型预测结果最大误差对比
表9 不同模型预测结果最小误差对比
从三张表中可以看出,本文所提出的模型在RMSE、最大误差和最小误差等评价指标上均优于其它三种模型,可以认为其在精确度和稳定性两个方面都取得了较好效果,原因是通过聚类分析可以使得同一网络的实验样本之间具有较高的相似性,有利于网络的训练和预测,Attention的加入使得Bi-LSTM网络在处理时间序列问题上性能更好。
本文以海上舰船航迹为研究对象,具有一定的军事意义和社会经济价值,主要内容及成果总结如下:
1)提出了一种基于聚类分析和Att-Bi-LSTM的舰船航迹预测方法,先通过航迹压缩、航迹匹配和航迹聚类等三个阶段对航迹进行聚类分析,后基于Att-Bi-LSTM建立航迹预测模型;
2)在包含民用航迹和军用航迹的数据集上设计了对比试验,结果表明其在预测精确度和预测稳定性两方面较现有模型均有所提高,体现了其优越性。
今后的工作中,针对不同来源的舰船航迹数据,可通过多元异构数据技术继续开展相关研究。