基于Attenton-LSTM 神经网络的船舶航行预测
2020-01-14徐国庆马建文吴晨辉张安西
徐国庆,马建文,吴晨辉,张安西
(山东交通学院 航海学院,山东 威海 264200)
0 引 言
为确保无人艇的运行安全,需结合已有实践经验进行深入优化和升级,本文围绕船舶航行预测技术展开深入研究。
文献[1]基于修正卡尔曼滤波算法和AIS 数据,结合最小二乘法实现了船舶运动轨迹的平滑预测;文献[2]优化了卡尔曼滤波算法的实时性,将其应用到船舶的轨迹处理中;文献[3]运用支持向量机(SVM)结合桥区水域失控船舶运动数学模型进行了航迹回归预测;文献[4]利用GPS 定位系统的时序特征构建了船舶运动轨迹预测模型;文献[5]结合优化马尔科夫模型和灰度模型,提出一种短程船舶轨迹预测方法。以上研究需要以船舶运动学方程为基础,因而无法有效适应海上复杂环境。近年来随着人工神经网络研究的进步,深度学习被广泛用于此类问题。文献[6]提出一种基于3 层BP 神经网络的航迹预测算法,利用Sigmoid 函数实现船舶位置预测,具有用时短、通用性强的特点。文献[7]利用AIS 数据信息量丰富的特点,结合BP 神经网络,实现了船舶航行行为预测;文献[8-9]提出了循环神经网络-长短期记忆模型,验证了LSTM 神经网络回归模型的有效性。
针对研究现状,本文以AIS 数据为基础,在LSTM模型的基础上引入注意力机制,提出一种基于Attention-LSTM 神经网络的船舶航行预测模型,通过对隐藏层单元差异赋权突出对预测结果有关键影响的序列,从而提高预测精度。最后以成山角海域真实数据进行仿真实验,并与BP 神经网络模型进行对比,验证了本文方法的优越性。
1 LSTM 神经网络与注意力机制
1.1 LSTM 神经网络
Hochreiter 等[10]在时间循环神经网络(Recurrent Neural Network,RNN)基础上进行优化,提出了长短期记忆神经网络。通过引入记忆单元和门机制,有效克服了RNN 在深度学习中的梯度异常问题,同时也更易于训练。
LSTM 单元结构如图1 所示。每个LSTM 单元内部包括输入门(input gate)、遗忘门(forget gate)、输出门(output gate)和一个记忆单元结构Cell。其中,输入门用于控制记忆单元更新的信息量;遗忘门用于控制前一时刻记忆单元信息被利用的量;输出门用于控制输出到下一隐藏状态的信息量[11]。设给定输入序列xt,则输入门、遗忘门、输出门分别为it,ft,ot,记忆单元Ct则通过不同门控制数据的记忆和遗忘,具体表述如下:
更新后的记忆单元Ct:
更新后的隐藏状态ht:
式中:σ 为sigmod 函数;Ct-1为现有记忆门;ht-1为当下的隐藏状态;W 和b 分别为对应地系数矩阵和偏差项;* 为点乘。
LSTM 神经网络通过门函数控制历史数据的记忆和遗忘,适合于处理具有时间序列特性的问题。但该模型在数据输入时会将其编码为等长向量,而解码则受限于该向量,致使模型难以学到合理的向量表示。因此,引入注意力机制,更有效地提取输入序列特征。
1.2 注意力机制
注意力机制(Attention-based Model)发源于图像识别领域,而后也被广泛应用在回归问题中[12]。它的工作机理类似人脑,借鉴人脑中对事物各部分的注意力偏差机制,通过对输入序列内各因子赋予不同的权重,突出更关键的影响因素,帮助模型做出更准确的判断。点积注意力机制结构如图2 所示。
图中,Xi为输入序列,Xi1为Xi简化计算得到的相似标量,通过归一化指数函数将其映射在[0,1]区间,即为“权重”。点积注意力则是Xi对权重的加权合。表述如下:
2 基于Attention-LSTM 神经网络的船舶航行预测模型
多维船舶航行预测是指船舶的经度、纬度、航向和航速随时间的变化预测,是对传统船舶轨迹预测的补充。其实质是对船舶航行大数据的深度挖掘,以船舶过去时刻的航行数据作为输入,未来时刻的航行数据作为输出,通过对比建立基于时间序列的航行特征映射关系,最终实现船舶航行预测。
2.1 神经网络结构
Attention-LSTM 模型通常包括输入序列、LSTM层、Attention 层、全连接层以及输出序列。其中输入序列与输出序列是模型的出入通道;LSTM 层的作用是实现高层次特征学习;Attention 层的作用是突出关键信息;全连接层的作用是进行局部特征整合,实现最终的预测。基于此,参考多层自适应模块化神经网络结构[13],本文将Attention 层作为LSTM 层和全连接层的接口,构造“LSTM 层—Attention 层—全连接层”结构,如图3 所示。
图 3 Attention-LSTM 网络结构Fig.3 Attention-LSTM structure
图中,X(t)为输入序列数据,L(t)为X(t)的隐藏特征,A(t)为各特征的注意力权重,Y(t)为输出序列数据。
2.2 拓扑结构
2.2.1 输入、输出序列参数
输入、输出序列主要是对船舶航行信息的表征,所对应的AIS 信息主要有水上移动通信业务标识码(MMSI)、时间(TIME)、经度(LNG)、纬度(LAT)、航向(COG)、航速(SOG)等。输入、输出序列具体表示为:
Input :(MMSI,TIME)={LNG,LAT,COG,SOG},
Output :(MMSI,TIME)={LNG,LAT,COG,SOG}。
为减小各项数据数量级差异的影响,输入、输出序列还需要进行归一化处理,将数据集向量各元素取值转换在[0,1]内,表达式为:
式中:x 为原始数据;x*为归一化数据。
2.2.2 神经元节点数
神经网络模型中,神经元节点数是导致“过拟合”现象的重要因素。其中,输入层和输出层节点数由训练数据的特征决定;LSTM 层和全连接层神经元节点数通常取2 的次方数,本文设置LSTM 层和全连接层神经元节点数为α,α∈{4,8,16,32,64,128,256},初步设定α=64。
2.2.3 输入层步数
船舶航行问题具有时间序列特性,因此其输入序列存在step 的概念。本文设置输入层步数为β+1,β∈{2,3,4,5,6},即把Y[t-β],Y[t-(β-1)], …,Y[t]等β+1 个连续时刻的船舶行为表征数据作为网络输入,t+1 时刻的预测数据Y[t+1]作为网络输出,初步设定β=5。
2.2.4 模型训练方法
迭代次数是影响神经网络模型精度的重要因素。本文设置迭代次数为θ,θ∈{1,500,1 000,1 500,2 000,2 500,3 000},初步设定θ=1 500。
代价函数是一种衡量系统整体误差程度的函数[14]。交叉熵损失函数可以用来评估当前训练结果与真实分布的差异状况,且不会影响模型的收敛速度,因此将其作为本网络的代价函数,如下式:
传统梯度下降过程根据经验公式确定其学习率,并在训练过程中保持不变。本文针对船舶航行中的非稳态、高噪声问题,采用适应性矩估计算法代替随机梯度下降,基于训练数据和交叉熵损失函数计算梯度估计矩阵,从而为参数设定自适应学习率。
3 实验仿真分析
3.1 实验准备
实验编程语言为Python3.0,开发工具为Spyder。实验数据来源于成山角水域内船舶的AIS 信息,经解析后,按照MMSI,TIME,LNG,LAT,COG,SOG 等字段信息进行储存。
3.2 实验设计
3.2.1 实验数据
选取200 组AIS 作为实验数据,经清洗后其中前180 组作为训练集,后20 组作为测试集。为避免因数据分布差异导致的模型误差,选定数据进行标准欧式距离计算,结果如表1 所示,可知训练集与测试集数据具有相似分布。
3.2.2 误差指标
采用均方误差(MSE)和平均绝对误差(MAE)来评估船舶航行预测的各项指标。MSE 是指预测值与真实值间差值的平方期望,该值越小则模型的效果越好;MAE 能够更好反映出模型误差的真实状况。表述如下:
表 1 欧式距离Tab.1 Euclidean distance
3.3 实验结果
3.3.1 拓扑结构对Attention-LSTM 模型的影响
1)神经元节点数
分别取α 为{4,8,16,32,64,128,256},依次代入模型中,重复10 次实验对误差汇总取平均,结果如图4 所示。当隐藏层神经元节点数取128 时,误差指标MSE 和MAE 取得最小值。
图 4 神经元误差分布Fig.4 Error of cell unit
2)输入层步数
分别取β 为{2,3,4,5,6,},依次代入模型中,重复10 次。实验过程中不同步数对应的神经网络误差如图5 所示。当β+1=6,即输入层步数为6 时,模型拟合度最好。
图 5 输入层步数误差分布Fig.5 Error of step
3)迭代次数
分别取θ 为{1,500,1 000,1 500,2 000,2 500,3 000},代入模型并重复运行10 次,可以得到不同迭代次数时的误差统计,如图6 所示。当迭代次数为1 000 时,模型效果最佳。
图 6 迭代次数误差分布Fig.6 Error of epoch
3.3.2 不同神经网络模型的对比
使用BP 神经网络进行船舶轨迹预测,效果良好。本文选用结构为4-14-4 的BP 神经网络与Attention-LSTM 模型,对其预测效果进行对比,结果如图7所示。
图 7 预测结果Fig.7 Prediction results
在20 次测试中,两类模型的误差曲线呈现出无规则震荡,但基于Attention-LSTM 神经网络模型的预测误差均小于BP 神经网络模型,即本文所提出的模型对船舶航行预测精度更高。
4 结 语
本文依托船舶AIS 数据,提出一种基于Attention-LSTM 神经网络的多维船舶航行预测算法,实现了对船舶未来时刻经度、纬度、航向、航速的精准预测。通过仿真实验,表明本文方法的预测效果优于BP 神经网络,且具有较好的鲁棒性,能够为水面无人艇自动避碰技术提供参考。