船舶运动模型主要有白箱模型、灰箱模型和黑箱模型3种类型。其中,黑箱模型是一种不揭示运动机理的模型(算法),以建立船舶操纵输入(主要是车、舵、环境作用力)-输出(船舶位置、姿态)的映射。随着技术的发展,许多学者基于机器学习算法进行船舶操纵运动建模与预报。Zou等[1]提出使用支持向量机对船舶操纵进行黑箱建模;NIE等[2]结合支持向量回归和经验模态分解方法,建立航行短期预测模型;刘娇等[3]用差分进化算法改进支持向量机构建操纵预测模型;ZHANG等[4]建立了一个港口间历史轨迹数据库利用随机森林模型测量船舶航迹与数据库航迹的相似性来预测船舶操纵;Murray等[5]和GAO等[6]应用无监督学习方法对船舶历史航迹进行聚类,然后对船舶未来操纵行为模式进行预测;胡玉可等[7]应用循环神经网络(Recurrent Neural Network,RNN)预测航迹航向。LIU等[8]和任宇翔等[9]基于长短期记忆-循环神经网络(Long Short-term Memory-recurrent Neural Network,LSTM-RNN)对非线性船舶航行行为进行预测,并强调模型输入向量维度选取的重要性;SUO等[10]提出一种引入门循环单元模型的深度学习框架来预测航迹,并强调消除冗余数据影响的重要性;ZHOU等[11]、徐婷婷等[12]和游兰等[13]采用船舶航行状态区间差值思想,应用深度神经网络模型建立船舶航迹预测模型。这些研究及成果为更好地开展船舶操纵运动建模提供了方法与经验借鉴。
本文研究基于LSTM-RNN的船舶航向-舵角黑箱建模。基于LSTM-RNN原理设计用于航向-舵角拟合的黑箱模型结构,设计采用Adam算法进行参数学习。采用实船试验数据训练LSTM-RNN黑箱模型。将训练后模型的输出与实验观测的输出对比,验证本文方法及所建模型的适用性。
1 技术路线本文主要工作为航向-舵角关系的黑箱建模,为实现该模型,技术流程包括:
步骤1 开启实船实验采集操纵数据。在指定海域进行Z形操纵实验,定时记录所需数据;将数据进行归一化处理并分成训练集和测试集。
步骤2 基于LSTM-RNN理论建立航向—舵角的黑箱模型,搭建并初始化LSTM-RNN模型。确定输入层、LSTM层、全连接层及回归层的结构以及所需参数。准备工作完成后,训练所建立的模型,通过Adam梯度下降算法进行参数优化,自我调节学习率从而加快训练速度。
步骤3 对建模结果进行分析。通过计算损失函数以及
步骤4 形成结论,总结模型的优势劣势。如图1所示。
![]() |
图 1 全文技术路线 Fig. 1 Full text technical route |
本文在舟山港双屿门水道水域开展了实船操纵实验,以获取航向-舵角数据。实验船舶为浙港航巡1108,主要参数见表1。
![]() |
表 1 船舶相关参数 Tab.1 Ship-related parameters |
实验中开展了左舵10°、右舵10°、左舵20°、右舵20°的Z型操纵。操纵中航向-舵角数据记录如图2所示。
![]() |
图 2 各组Z形实验航向舵角变化 Fig. 2 Changes in heading rudder angle for each group of Z-shaped experiments |
本文构建的LSTM-RNN航向-舵角黑箱模型结构如图3所示。将前5个时刻(单位:s)的航向、舵角作为输入
![]() |
图 3 LSTM-RNN网络构建 Fig. 3 LSTM-RNN network construction |
LSTM单元内部结构如图4所示,其参数设置、计算方法如下。
![]() |
图 4 LSTM单元结构原理示意图 Fig. 4 Schematic diagram of LSTM cell structure principle |
遗忘门的直接输出
ft=σ(wf⋅[ht−1,xt]+bf)。 | (1) |
式中,和
分别为权重矩阵和偏置矩阵,
输入门的输出
it=σ(wi⋅[ht−1,xt]+bi)。 | (2) |
LSTM单元中间状态为
˜ct=tanh(Wc⋅[ht−1,xt]+bc)。 | (3) |
式中:
输出门的直接输出
ot=σ(wo⋅[ht−1,xt]+bo)。 | (4) |
式中:
LSTM单元状态
ct=ft×ct−1+itטct。 | (5) |
式中:
LSTM单元直接输出
ht=ot×tanh(ct)。 | (6) |
全连接层采用下式计算LSTM layer,直接输出
Ht=10∑i=1wti⋅hti+bt。 | (7) |
式中:
最后,对
对初始LSTM-RNN模型的训练流程为:
步骤1 导入训练数据。导入测试集数据,其中,
步骤2 初始化LSTM-RNN。LSTM层中各单元初始
步骤3 设置训练参数。损失函数采用交叉熵损失函数,参数学习算法采用Adam算法,学习率初值设置为0.001,学习率下降因子设置为0.1,最大迭代次数设置为1000。用于每次训练迭代的最小批次的大小设计为128。
步骤4 开始训练。其中LSTM层以及全连接层权重偏置的更新由LSTM的反向传播决定,将模型前向输出结果与实际对比从而调整各个位置的权重偏置大小。
步骤5 结束并保存训练结果。达到最大迭代次数后,程序结束,保存训练结果,主要是保存训练后模型权重矩阵、偏置矩阵。
4 结果及分析如图5所示,图5(a)~图5(d)为LSTM模型的训练集结果,图5(e)~图5(h)为LSTM模型的预测集结果。
![]() |
图 5 各组拟合结果 Fig. 5 Fitting results for each group |
黑箱模型的拟合优度通过RMSE、R2来反映,见表2。表中可见,该模型拟合过程中4组RMSE值均较低,4组R2值均接近于1。由此得到该LSTM-RNN黑箱模型效果可观,可以很好地拟合出船舶在运动过程中的航向变化趋势。
![]() |
表 2 各组数据训练误差表 Tab.2 Table of training errors for each data set |
1)构建了船舶航向-舵角LSTM-RNN黑箱模型,为船舶航向-舵角关系建模提供了一种可行方法。该模型LSTM layer为10-10-1,误差指标为RMSE,参数学习采用Adam算法;并使用实船操纵数据对初始模型进行训练。设计的LSTM-RNN黑箱模型结构简明清晰,参数明确,易于实际操作使用;训练过程简明,易于实现。
2)对训练集数据,训练后的模型使得RMSE达到设计目标。对测试集数据,训练后模型拟合优度在0.98以上。经训练后的角LSTM-RNN黑箱具有良好的有效性和泛化性,能作为航向-舵角黑箱模型。
3)目前,模型训练仅使用了Z型操纵的4组数据,数据量不够大,使模型仅能描述有限操纵情形。后续将开展更多操纵,获取大量数据,用于模型训练,以提高模型的普适性。
[1] |
徐锋, 邹早建, 徐小卡, 等. 基于支持向量机的船舶操纵运动黑箱建模[J]. 北京航空航天大学学报, 2013(11): 1553-1557. |
[2] |
NIE Z H, SHEN F, XU D J, et al. An EMD-SVR model for short-term prediction of ship motion using mirror symmetry and SVR algorithms to eliminate EMD boundary effect[J]. Ocean Engineering, 2020, 217: 107927. DOI:10.1016/j.oceaneng.2020.107927 |
[3] |
刘娇, 史国友, 杨学钱, 等. 基于DE-SVM的船舶航迹预测模型[J]. 上海海事大学学报, 2020, 41(1): 34-39. |
[4] |
ZHANG C K, BIN J C, WANG W, et al. AIS data driven general vessel destination prediction: a random forest based approach[J]. Transportation Research Part C, 2020, 118: 102729. DOI:10.1016/j.trc.2020.102729 |
[5] |
MURRAY B, PERERA L P. A dual linear autoencoder approach for vessel trajectory prediction using historical AIS data[J]. Ocean Engineering, 2020, 209: 107478. DOI:10.1016/j.oceaneng.2020.107478 |
[6] |
GAO M, SHI G Y. Ship-handling behavior pattern recognition using AIS sub-trajectory clustering analysis based on the T-SNE and spectral clustering algorithms[J]. Ocean Engineering, 2020, 205: 106919. DOI:10.1016/j.oceaneng.2020.106919 |
[7] |
胡玉可, 夏维, 胡笑旋, 等. 基于循环神经网络的船舶航迹预测[J]. 系统工程与电子技术, 2020, 42(4): 871-877. |
[8] |
LIU Y C, DUAN W Y, HUANG L M, et al. The input vector space optimization for LSTM deep learning model in real-time prediction of ship motions[J]. Ocean Engineering, 2020, 213: 107681. DOI:10.1016/j.oceaneng.2020.107681 |
[9] |
任宇翔, 赵建森, 刘卫, 等. 基于 AIS 数据和 LSTM 网络的船舶航行动态预测[J]. 上海海事大学学报, 2019, 40(3): 32-37. |
[10] |
SUO Y F, CHEN W K, CLAR AMUNT C, et al. A ship trajectory prediction framework based on a recurrent neural network[J]. Sensors, 2020(1): 29-36. DOI:10.3390/s20185133 |
[11] |
ZHOU H, CHEN Y J, ZHANG S M. Ship trajectory prediction based on BP neural network[J]. Journal on Artificial Intelligence, 2019(1): 29-36. DOI:10.32604/jai.2019.05939 |
[12] |
徐婷婷, 柳晓鸣, 杨鑫. 基于BP神经网络的船舶航迹实时预测[J]. 大连海事大学学报, 2012, 38(1): 9-11. |
[13] |
游兰, 韩雪薇, 何正伟, 等. 基于改进 Seq2Seq 的短时AIS轨迹序列预测模型[J]. 计算机科学, 2020, 47(9): 169-174. |