一种基于自注意双向长短期记忆网络的船舶操纵运动预报方法

文档序号:37218214发布日期:2024-03-05 15:10阅读:17来源:国知局
一种基于自注意双向长短期记忆网络的船舶操纵运动预报方法

本发明属于船舶与海洋工程技术、船舶运动预报领域,涉及一种基于自注意双向长短期记忆网络(self-attention-weighted bidirectional long short-termmemorynetwork,seabil)的船舶操纵运动预报方法。


背景技术:

1、对于智能船舶操纵运动的预报技术在实际海洋工程应用中具有重要意义。海上天气变幻莫测,海洋环境复杂多变,这些不利因素都会对小型智能船舶的运动造成极大的影响,从而使智能船舶进行海上作业面临巨大的挑战。数据驱动的船舶操纵运动预报技术可以通过对船舶当前和历史运动状态的分析,预测未来一段时间内船舶的运动状态,为无人船舶的安全航行与动力定位等功能提供重要的技术支撑。

2、近年来,包括支持向量机回归和神经网络等数据驱动方法在船舶操纵运动预报领域已有广泛应用。最初,基于深度学习的船舶操纵运动预报模型往往由单一的长短期记忆网络、卷积神经网络、门控循环单元等实现。然而,在实际应用中,单一预报模型存在局限性,难以满足实际工程需求,因此,混合预报模型逐渐得到发展。混合预报模型通常将数据预处理方法和预报模型结合或者将多种预报模型进行有机融合,以获得更好的预报效果,但目前常用的混合预报模型仍然存在计算复杂度较高导致预报不及时、预测精度有限、实际应用表现较差等问题。


技术实现思路

1、为了解决目前常用的混合预报模型仍然存在计算复杂度较高导致预报不及时、预测精度有限、实际应用表现较差等问题,本发明提供本发明采用的技术方案是:一种基于自注意双向长短期记忆网络的船舶操纵运动预报方法,包括以下步骤:

2、对船舶运动历史数据进行采集,得到船舶历史数据的时间序列;

3、构建自注意力加权双向长短期记忆网络模型,对注意力加权双向长短期记忆网络模型进行训练,得到训练后的自注意力加权双向长短期记忆网络模型;

4、训练后的自注意力加权双向长短期记忆网络模型实现对船舶航行的运动数据进行预测。

5、进一步地:所述自注意力加权双向长短期记忆网络模型包括

6、对船舶历史数据提取随时间变化的一维特征映射,得到预测数据的一维卷积模块;

7、基于预测数据,通过双向长短期记忆网络得到每个时间步长的的隐藏状态的双向长短期记忆模块;

8、将每个时间步长的特征向量分别乘以查询矩阵、地址矩阵和值矩阵,从而形成自注意机制的自注意力权重生成模块;

9、所述一维特征映射模块、双向长短期记忆模块和自注意力权重生成模块依次级联。

10、进一步地:所述对船舶运动历史数据进行采集,得到船舶历史数据的时间序列的过程如下:

11、将航向角x1,t、横摆角速度x2,t、横滚角x3,t、总速度x4,t、舵角ur,t按时间序列t进行采集,其中航向角x1,t、横摆角速度x2,t、横滚角x3,t、总速度x4,t作为常态输入,舵角ur,t作为外部输入,采样时间间隔表示为t,具有n个采样周期t的船舶操纵运动数据矩阵被采集并表示如下:

12、

13、

14、式中:xall,t=[x1,t,x2,t,x3,t,x4,t]t和ur,t分别表示t时刻的船舶自身运动数据和外部舵角输入;

15、通过滑动窗口来收集来自船舶航行数据矩阵xt∣t-n的航行数据块xt∣t-d+1和来自ur,t∣t-n的外生输入ur,t∣t-d+1,将需要预测的数据块表示为其中:d为滑动数据窗口的宽度,对船舶操纵运动以滑动窗口的方式进行循环预测;

16、预测数据的映射表示为下式:

17、

18、式中:f为设计的预测模型,θ为滑动窗口根据数据样本进行学习的参数矩阵。

19、进一步地:所述对船舶历史数据提取随时间变化的一维特征映射,得到预测数据的过程如下:

20、将xt∣t-n和ut∣t-n作为一维卷积模块的输入,并假设有m个滤波器内核w1,w2,...,wm,则第i个滤波器内核在t-n时刻对输入数据进行卷积运算所获得的常数yi,t-n通过下式计算:

21、

22、式中符号表示卷积运算;

23、将t-n时刻进行卷积分解后的特征向量表示为yt-n=[y1,t-n,y2,t-n,...,ym,t-n]t,将滤波器应用于每组数据,以生成船舶运动参数之间的耦合时间特征映射:yt∣t-n=[yt-n,yt-n+1,...,yt]。

24、进一步地:所述基于预测数据,得到每个时间步长的的隐藏状态的过程如下:

25、采用双向长短期记忆模块处理来自一维卷积神经网络模块的序列数据yt∣t-n,并提取其周期性特征,其在t时刻的隐藏状态hc,t通过以下公式计算:

26、hc,t=conca(hf,t,hb,t)                       (5)

27、h*,t=o*,t⊙tanh(c*,t)                      (6)

28、c*,t=f*,t⊙c*,t-1+i*,t⊙c′*,t                      (7)

29、式中:分别为t时刻前向和后向lstm层的隐藏状态和备选状态,l是隐藏层的维数,*∈{f,b},符号“⊙”为逐元乘法运算,conca(·,·)为向量串联运算,表示为下式:

30、

31、遗忘门输入门输出门先验备选状态由下式进行计算:

32、f*,t=σ(wfconca(h*,t-1,y*,t)+bforget)                  (9)

33、i*,t=σ(wiconca(h*,t-1,y*,t)+binput)                  (10)

34、o*,t=σ(woconca(h*,t-1,y*,t)+boutput)                 (11)

35、c′*,t=tanh(wcconca(h*,t-1,y*,t)+bc)                 (12)

36、式中,分别为遗忘门、输入门和输出门的权重参数,bforget,binput和boutput分别为遗忘门、输入门和输出门的偏置参数,σ为sigmoid激活函数,计算得出每个时间步长的隐藏状态可表示为hc=[hc,t-d+1,hc,t-d+2,...,hc,t]。

37、进一步地:所述将每个时间步长的特征向量分别乘以查询矩阵、地址矩阵和值矩阵,从而形成自注意机制的过程如下:

38、将lstm输出的每个时间步长的特征向量分别乘以查询矩阵wq、地址矩阵wk和值矩阵wv,从而形成自注意机制,具体表示为下式:

39、qt=htwq                                  (13)

40、

41、

42、

43、式中,qt、kt和vt分别为单个序列在不同位置的查询向量、地址向量和值向量,mij为hi对hj依赖性的注意力评估变量;

44、将注意力权重使用softmax函数进行缩放,如下式所示:

45、

46、

47、式中,gij表示注意力权重参数,αi表示第i个时间步长的注意力向量;自注意力权重生成模块最终的输出可表示为a=[α1,α2,…,αd]t,其中a是所有时间步长的注意力矩阵。

48、

49、进一步地:还包括:使用softmax函数对注意力评估变量进行调整,得到时间步长的注意力向量,具体过程如下:

50、将注意力权重使用softmax函数进行缩放,如下式所示:

51、

52、

53、式中,gij表示注意力权重参数,αi表示第i个时间步长的注意力向量;自注意力权重生成模块最终的输出可表示为a=[α1,α2,...,αd]t,其中a是所有时间步长的注意力矩阵。

54、一种基于自注意双向长短期记忆网络的船舶操纵运动预报装置,包括:

55、采集模块:用于对船舶运动历史数据进行采集,得到船舶历史数据的时间序列;

56、构建及训练模块:用于构建自注意力加权双向长短期记忆网络模型,对注意力加权双向长短期记忆网络模型进行训练,得到训练后的自注意力加权双向长短期记忆网络模型;

57、预测模块:用于训练后的自注意力加权双向长短期记忆网络模型实现对船舶航行的运动数据进行预测。

58、本发明提供的一种基于自注意双向长短期记忆网络的船舶操纵运动预报方法结合一维卷积和滑动窗口技术,可以将多维船舶运动数据样本转换为一维特征向量,从而减小了特征提取的复杂度;本方法可以自适应地分配样本注意力权重,从而更好地理解和解释船舶运动的预测结果;本方法采用了双向长短期记忆网络,可以循环学习并提取船舶运动时间序列数据的前向和反向特征,在船舶操纵运动数据预测中具有优异的预测精度和模型泛化能力,实际应用性较强。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1