基于LSTM神经网络的舰船航行位置预测*

2023-12-11 12:10孙文本周智楠苑海静
舰船电子工程 2023年9期
关键词:舰船航行神经网络

韩 旭 孙文本 周智楠 苑海静

(天津航海仪器研究所 天津 300131)

1 引言

舰船综合导航系统一般配置卫星导航设备(以下简称“卫导”)、惯性导航设备(以下简称“惯导”)、天文导航设备(以下简称“天导”)等位置信息传感器,并对传感器输出信息进行融合处理,从而提供实时统一的位置信息。

在某些特殊场景下,舰船航行对位置信息精度要求较高,例如狭水道航行。而位置信息传感器提供的位置信息精度会受到其工作特性或工作环境的影响,如:卫导易受信号遮蔽、多径效应、信号失锁和电子欺骗等因素影响,天导精度受天气条件限制,惯导系统存在误差漂移[1]。这些原因都会从不同程度上影响综合导航系统融合位置信息的精度与稳定性。

本文在利用传统导航传感器量测信息的基础上,结合船舶操控与推进系统信息,气象水文信息,基于长短期记忆(Long Short Term Memory,LSTM)神经网络构建舰船航行位置预测模型,实现舰船未来时刻航行位置的精确预测,解决因信号遮蔽、多径效应等原因引起的高精度定位不稳定或异常,导致综合导航系统融合位置信息精度下降的问题,为舰船在狭水道等特殊水域的安全航行提供辅助与支持。

2 LSTM神经网络

LSTM神经网络是循环神经网络(Recurrent Neural Network,RNN)的一种。RNN 是包含循环的神经网络,能够处理连续的序列数据,允许信息的持久化。LSTM单元结构主要由遗忘门、输入门、输出门和细胞状态构成,如图1所示[2~4],通过引入细胞状态和门机制,有效克服了RNN 在训练过程中常见的梯度消失问题。

图1 LSTM神经网络重复模块结构图

其中遗忘门决定从细胞状态中丢弃哪些信息。该门会读取当前时刻输入与上一时刻输出,并为细胞状态的每一个元素输出一个0~1 之间的数值,0 表示完全遗忘,1 表示完全保留,其计算方式为

输入门决定哪些信息被存放在细胞状态中。这里包含两部分,sigmoid 层决定更新哪些元素,tanh层创建一个新的候选元素向量,其计算方式为

细胞状态更新:

输出门决定输出哪些值,输出将会结合输入和细胞状态信息,其计算方式为

3 基于LSTM神经网络的舰船航行位置预测模型

3.1 模型结构

由于船舶航行数据具有时序特征,所以本文选取LSTM神经网络做为舰位预测模型的隐层结构,同时为了在保证模型复杂度的前提下提高模型的泛化能力与鲁棒性,将模型隐层数设置为两层。基于LSTM神经网络的舰船航行位置预测模型结构如图2所示。

图2 基于LSTM神经网络的舰船航行位置预测模型

模型输入为舰船导航信息、操控与推进信息、气象水文信息;输出为目标时刻位置坐标,即预测结果。模型输入、输出数据类型与维度如下所示:

xi=[经度,纬度,左轴系转速,右轴系转速,左舵角,右舵角,左螺旋桨螺距,右螺旋桨螺距,对水速度,航迹速,东向速度,北向速度,垂向速度,航迹向,水深,流速,流向,平均真风速,平均真风向,平均相对风向,平均相对风速]

yi=[目标时刻经度,目标时刻纬度]

3.2 模型优化

3.2.1 Mini-batch随机梯度下降

本文选择mini-batch 随机梯度下降法对网络参数进行更新。在计算损失函数的时候,计算一个batch 的损失,即每次更新模型时,采用一部分数据进行计算。这种方法能够在保持模型收敛稳定性的前提下,加快模型收敛速度[5]。

损失函数是衡量模型预测期望结果表现的指标。本文设计的舰位预测模型属于回归模型的范畴,所以选择最常用的回归损失函数均方误差(MSE)做为损失函数:

3.2.2 Adam优化算法

本文选择Adam 作为模型训练的优化器。Adam 与经典的随机梯度下降法不同,随机梯度下降保持一个单一的学习速率,用于所有的权重更新;而Adam 算法每一个网络参数都保持一个学习速率,并且随着学习的开展而单独地进行调整。该方法从梯度的第一次和第二次矩的预算来计算不同参数的自适应学习速率[6~8]。

3.2.3 学习率衰减

本文采用学习率衰减方法来调整学习率,使模型在训练初期以较大学习率进行参数更新,提高优化效率,随着迭代次数的增加,模型在训练末期以较小学习率进行参数更新,提高模型收敛稳定性[9~10]。学习率衰减方式如下:

式中lr0为初始学习率,r 为衰减率,n 为迭代次数,lr 为衰减后学习率。本文试验中初始学习率设置为0.001,衰减率设置为0.001。

3.2.4 交叉验证

为了在模型训练过程中考察模型的拟合效果与预测性能,我们需要在训练集中抽取一部分作为验证集。本文我们采用一种常用的K 折交叉验证的方法,K 折交叉验证的原理为将训练集按照样本数量平均分成K 组(本文中选取K=5),训练过程中不重复地先后抽取其中一组作为验证集,用以计算损失函数评价模型训练程度,其余K-1组作为训练集用以训练模型。将K 次的损失取平均得到最终的损失[11~13]。

3.3 模型评估

本文选用均方根误差(RMSE),平均绝对误差(MAE)作为舰位预测模型性能评价指标。

4 试验结果与分析

4.1 试验条件

试验硬件环境为一台装配GPU 图形处理器(RTX3090*4)的图形工作站(Lenovo P60);软件环境为PyCharm;试验编程语言与机器学习框架为Python(V3.8.5)+tensorflow(V2.6.0)。

试验数据采集自某船航行试验,采集频率为1Hz,样本数量共计36000 个。按4:1 的比例将数据集划分为训练集和测试集。此外,按照交叉验证规则,设置验证集比例为20%。模型中,LSTM层门结构的神经元节点数取128。

4.2 试验过程

4.2.1 数据预处理

在输入数据中,不同变量具有不同的单位、刻度及量程,这会给损失函数的计算及模型优化造成一定的困难。机器学习领域常采用数据标准化的方法来避免这一问题,在本文中我们选取“归一化”方法,通过数据的最大值和最小值将数据标准化映射在[-1,1] 区间内。

4.2.2 输入步长(step)参数调优

试验中首先对输入步长(step)参数进行调优,分别取step 为5,10,15,20,25 进行试验,迭代次数(epochs)初步设定为15000,batch 容量(batch_size)初步设定为32。试验结果如图3所示,当step取10时,模型性能较好,step 继续增大模型性能无明显提高,为了在保证模型性能的同时,降低模型复杂度、节约计算资源,取step=10为最优参数。

图3 输入步长(step)参数调优结果

4.2.3 迭代次数(epochs)参数调优

在确定了step 最优参数后,试验对epochs 参数进行了调优,分别取epochs 为5000,10000,15000,20000,25000 进行试验,batch_size 初步设定为32。试验结果如图4所示,当epochs取20000时,模型性能较好,epochs 继续增大模型性能无明显提高,为了在保证模型性能的同时,节约计算资源、减少训练耗时,取epochs=20000为最优参数。

图4 迭代次数(epochs)参数调优结果

4.2.4 Batch容量(batch_size)参数调优

在确定了step 及epochs 最优参数后,试验对batch_size 参数进行了调优,分别取batch_size 为32,64,128,256,512 进行试验,试验结果如图5所示。当batch_size 为32 时,模型性能最佳,故取batch_size=32为最优参数。

图5 Batch容量(batch_size)参数调优结果

4.3 试验结果

试验中分别构建未来1s,2s,3s,5s,10s 舰位预测模型,并根据调参结果对模型进行训练与优化。优化完成后将测试集样本分别输入各模型,并对预测结果进行统计与评估,试验结果如下。

表1 舰位预测模型试验结果评估

从试验结果可以看出,本文提出的舰位预测模型可以根据船舶航行历史数据对未来时刻的舰船航行位置做出准确预测,预测结果均方根误差、平均绝对误差<3m,最大误差(95%置信度)<5m。

5 结语

本文提出了一种基于LSTM神经网络的舰船航行位置预测模型,实现了依据船舶导航系统、操控与推进系统及气象水文系统历史数据对船舶未来时刻航行位置的预测。试验结果表明,本文提出的舰位预测模型对船舶未来时刻航行位置的预测具有较高的准确性与稳定性,能够对船舶在狭水道航行等特殊场景下的安全航行提供辅助与支持。

猜你喜欢
舰船航行神经网络
舰船通信中的噪声消除研究
到慧骃国的航行
舰船测风传感器安装位置数值仿真
神经网络抑制无线通信干扰探究
小舟在河上航行
航行
基于神经网络的拉矫机控制模型建立
舰船腐蚀预防与控制系统工程
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定