一种基于SCA-HHO-GRU模型的船舶姿态预测方法
未命名
09-23
阅读:53
评论:0
一种基于sca-hho-gru模型的船舶姿态预测方法
技术领域
1.本发明属于深度学习和计算机视觉技术领域,具体涉及一种基于sca-hho-gru 模型的船舶姿态预测方法。
背景技术:
2.近年来,随着愈加成熟的现代科技和工业化的繁荣发展,船舶工业作为我国的重要部分也越加的明显,对于国家的经济发展、国家领土安全、对外交流和军事实力的提高有着重要的意义。我国在近几十年的时间里,船舶工业有了一个质的飞跃,并且在船舶的制造行业中一直是处于一个逐步发展的姿态。针对海上作业的实际需求,为提高作业的安全性,降低作业的事故率,很多国家都在大力开展船舶运动预报技术的研究,由于船舶实际运动受到波浪的影响,因此在这一研究中,对于波浪影响下的船舶运动进行快速而准确的求解便成为了重要一步。
3.受海风、海浪和海流等开放海域环境的影响,处于真实海面上的船舶会产生艏摇、横摇、纵摇、垂荡、横荡、纵荡这六种摇荡运动,这种由外界环境的扰动作用引起的船舶摇荡运动被定义为船舶六自由度运动。由于实际海况相当复杂,在实际航行过程中,这六种摇荡运动甚至还会相互耦合成更加复杂的运动。此外,海浪与海风的运动是多变且复杂的,在海上航行或停留在海面的船舶会受到许多来自海洋环境的随机干扰。在上述的六个自由度中,其中横摇运动对其在海中正常作业产生的影响最大。剧烈的升沉运动也会严重影响船舶间货物补给、工程船深海作业、舰载直升机起降等海上作业的正常进行,这种影响在恶劣海况下会更明显。
4.目前,船舶运动姿态预测方法主要分为三大类:数学模型、统计模型和机器学习模型。数学模型在建模过程中,需要依靠经验知识进行参数选择和干扰设置,导致建模过程不易实现,预测误差较大。统计方法的建立需要大量准确的输入输出数据,计算繁琐。机器学习方法也有着很广泛的应用,长短期记忆神经网络,双向长短期记忆模型等神经网络模型方法。但是单一的神经网络模型对于船舶的姿态预测能力有限。
技术实现要素:
5.针对上述研究的问题,本发明的目的在于:为了充分开发神经网络的处理能力,提高船舶姿态的预测效果,提出了一种基于sca-hho-gru模型的船舶姿态预测方法。
6.为了解决上述技术问题,本发明采用的技术方案如下:
7.一种基于sca-hho-gru模型的船舶姿态预测方法,包括如下步骤:
8.s1:获取船舶运动姿态的待处理三自由度数据,对数据进行预处理,主要包括以下部分:整理获取数据,截取数据大小,规范化处理;
9.进一步的,所述s1的具体步骤为:
10.s1.1:整理获取的船舶姿态数据,提取其中的三自由度(横摇角度、纵摇角度和升沉大小)数据。
11.s1.2:将获取的三自由度数据进行截取,数据每行间隔的采样时间为0.05秒,因此每个自由度截取1000行数据进行处理。
12.s1.3:由于数据的输入维度不同,并且存在噪声点,会影响神经网络模型的训练效果。因此为了使神经网络模型能够更加准确的对数据进行操作,需要将数据进行规范化处理。归一化是现有的规范化处理非常普遍的方法,采用minmaxscaler函数将数据映射到[1,
‑ꢀ
1]之间,以便接下来的操作。具体公式如下:xi是当前输入的数据,x
min
是数据中最小的那一个值,x
max
代表的是数据中最大的那个值, mi是最后归一化后得到的数据。
[0013]
通过以上步骤可以对三自由度的数据进行预处理工作。
[0014]
s2:利用哈里斯鹰优化算法(harris hawks optimizer,hho)和正余弦优化算法(sine cosine algorithm,sca)的优点,提出一种最好的自动寻优方法,其中主要包括以下部分:设计交叉并行的优化方法框架,初始化优化算法的参数。
[0015]
进一步的,所述s2的具体步骤为:
[0016]
s2.1:采用两种流行的智能优化算法(hho和sca)进行结合,设计一种交叉并行的智能优化算法框架,充分利用hho的全局搜索能力和sca的开发能力。在此算法中,将会使这两个智能优化算法根据规则互相竞争,并依据其性能实现计算。这种交叉并行算法不仅能够充分开发两种算法的优势,还能够防止在优化时产生过早的收敛和停滞的问题。在第一次迭代时,会将初始化的参数分为完全相同的两份,分别传入到两个算法当中来解决预先设定的问题,设定适应度函数,比较两种智能算法的适应度值以此来确定哪种算法在此次循环中的性能更好。在经过第一次迭代后,接下来的迭代会在两种优化算法中选择对处理问题时贡献最大的候选优化算法,并为其分配计算资源(也就是每次迭代时所改变的参数)进行优化。为了防止在选择两个优化算法时存在因个别参数影响结果,因此在两个优化算法选择时提供公平的平衡竞争,提出了一种对解决问题有利的累计有效值。具体公式如下:oa是上一次使用优化方法i时的适应度值,oa是本次使用优化方法i时的适应度值。ti是优化方法i的整体有效值,ci是本次之前的最高累计有效值。
[0017]
s2.2:hho优化算法的参数初始化和sca优化算法的参数初始化:设定两种优化算法的参数包括种群的规模、迭代次数、速度的取值范围。
[0018]
通过以上步骤得到具有最有效果的智能优化算法框架。
[0019]
s3:采用sca-hho优化算法对gru神经网络的参数进行自动寻优,充分开发神经网络的处理能力,主要包括以下部分:初始化gru网络结构,通过hho-sca优化算法框架搜索最优参数;
[0020]
进一步的,所述s3的具体步骤为:
[0021]
s3.1:gru网络结构的初始化:确定网络输入层、输出层、隐含层的层数、隐藏层的神经元个数和学习率因子。
[0022]
s3.2:采用hho-sca算法框架优化gru网络的参数具体步骤如下
[0023]
a1:将gru网络的隐藏层层数、隐藏层神经元个数和学习率设置为种群中的个体;
[0024]
a2:调用适应度函数,找到当前最佳适应度位置;
[0025]
a3:采用hho-sca算法框架进行优化,根据框架中的两个优化算法更新个体位置。hho算法更新下一次搜索位置公式如下:x(t+1)是下一次搜索时的位置,xr(t)是在种群中随机选择的一个位置,xb(t)是最佳解的位置, xm(t)为种群中个体平均位置。ub和lb分别为变量的上界和下界。
[0026]
sca算法在更新下一次搜索位置时的公式如下所示:sca算法在更新下一次搜索位置时的公式如下所示:是当前个体第i维的第j代位置,p
ij
是第j次迭代时最优个体位置变量第i维的位置,a2是在0-2π中的随机数,a3和a4分别为0-2和0-1之间的随机数;
[0027]
a4:在算法得到新的位置后,会根据相应的开发规则进行开发。sca的开发过程如下所示:t是可以迭代的最大次数,t为当时的迭代次数。当a1的值越小时,那么sca算法的局部开发能力也越强,反之算法的可发能力越弱。hho算法的开发阶段根据不同的状态会有四种开发阶段,具体公式如下:x1(t+1)=xb(t)-x(t)-e|2(1-r5)x
rabbit
(t)-x(t)|,|e|≥0.5,r≥0.5x2(t+1)=xb(t)-e|δx(t)|,|e|<0.5,r≥0.5y=xb(t)-e|jxb(t)-x(t)|,z=y+s
×
lf(d)m=xb(t)-e|jxb(t)-xm(t)|,n=y+s
×
lf(d)x1(t+1)、x1(t+1)、x1(t+1)和x1(t+1)分别为hho算法的开发阶段四种不同策略,分别为软围攻、硬围攻、渐进式快速俯冲软包围和渐进式快速俯冲硬包围;
[0028]
a5:根据hho-sca算法框架策略,重复步骤a3与a4;
[0029]
a6:达到最大迭代次数后输出最佳适应度值和对应的位置。
[0030]
s4:将得到的最佳适应度值对应的最佳参数赋值给gru网络,进行训练后预测船舶三个自由度数据。
[0031]
进一步的,所述s4的具体步骤为:
[0032]
将数据按4:1分为训练数据集和测试数据集,按照得到的最佳适应度值所得到最佳参数设置gru网络,采用设置的gru网络对数据进行处理,具体的处理过程为:z
t
=σ(wz·
[h
t-1
,x
t
])r
t
=σ(wr·
[h
t-1
,x
t
])])r
t
为重置门输出,为候选状态输出,z
t
为更新们输出,wz为更新门的权重矩阵,wr为重置门的权重矩阵,σ为sigmoid激活函数,h
t-1
为上一时刻的输出状态,x
t
为本时刻输入的序列数据。
[0033]
训练集的数据采用gru网络进行训练后得到模型,再将测试集的数据传入模型中得到预测结果。
[0034]
与现有技术相比,本发明的有益效果是:利用hho-sca算法框架能够有效解决了单一算法容易陷入局部最小值的问题,利用该算法框架能有对gru网络参数进行自动寻优,充分的提高了网络的处理能力,与单一的神经网络模型相比,提高了预测精度,减少了预测误差。
附图说明
[0035]
图1为本发明hho-sca算法框架图;
[0036]
图2为本发明gru网络结构图;
[0037]
图3为本发明采用hho-sca-gru模型框架船舶预测的流程图。
具体实施方式
[0038]
为了使本发明的目的、技术方案及优点更加清楚明白,提出相应具体实施方案,对本发明进一步详细说明。
[0039]
一种基于sca-hho-gru模型的船舶姿态预测方法,包括如下步骤:
[0040]
s1:获取船舶运动姿态的待处理三自由度数据,对数据进行预处理,主要包括以下部分:整理获取数据,截取数据大小,规范化处理;
[0041]
进一步的,所述s1的具体步骤为:
[0042]
s1.1:整理获取的船舶姿态数据,提取其中的三自由度(横摇角度、纵摇角度和升沉大小)数据。
[0043]
s1.2:将获取的三自由度数据进行截取,数据每行间隔的采样时间为0.05秒,因此每个自由度截取1000行数据进行处理。
[0044]
s1.3:由于数据的输入维度不同,并且存在噪声点,会影响神经网络模型的训练效果。因此为了使神经网络模型能够更加准确的对数据进行操作,需要将数据进行规范化处理。归一化是现有的规范化处理非常普遍的方法,采用minmaxscaler函数将数据映射到[1,
‑ꢀ
1]之间,以便接下来的操作。具体公式如下:
xi是当前输入的数据,x
min
是数据中最小的那一个值,x
max
代表的是数据中最大的那个值,mi是最后归一化后得到的数据。
[0045]
通过以上步骤可以对三自由度的数据进行预处理工作。
[0046]
s2:利用哈里斯鹰优化算法(harris hawks optimizer,hho)和正余弦优化算法(sine cosine algorithm,sca)的优点,提出一种最好的自动寻优方法,其中主要包括以下部分:设计交叉并行的优化方法框架,初始化优化算法的参数。
[0047]
进一步的,所述s2的具体步骤为:
[0048]
s2.1:采用两种流行的智能优化算法(hho和sca)进行结合,设计一种交叉并行的智能优化算法框架,充分利用hho的全局搜索能力和sca的开发能力。在此算法中,将会使这两个智能优化算法根据规则互相竞争,并依据其性能实现计算。这种交叉并行算法不仅能够充分开发两种算法的优势,还能够防止在优化时产生过早的收敛和停滞的问题。在第一次迭代时,会将初始化的参数分为完全相同的两份,分别传入到两个算法当中来解决预先设定的问题,设定适应度函数,比较两种智能算法的适应度值以此来确定哪种算法在此次循环中的性能更好。在经过第一次迭代后,接下来的迭代会在两种优化算法中选择对处理问题时贡献最大的候选优化算法,并为其分配计算资源(也就是每次迭代时所改变的参数)进行优化。为了防止在选择两个优化算法时存在因个别参数影响结果,因此在两个优化算法选择时提供公平的平衡竞争,提出了一种对解决问题有利的累计有效值。具体公式如下:oa是上一次使用优化方法i时的适应度值,oa是本次使用优化方法i时的适应度值。ti是优化方法i的整体有效值,ci是本次之前的最高累计有效值。
[0049]
s2.2:hho优化算法的参数初始化和sca优化算法的参数初始化:设定两种优化算法的参数种群的规模为20、迭代次数为50、速度的取值范围为[-5,5]。
[0050]
通过以上步骤得到具有最有效果的智能优化算法框架。
[0051]
s3:采用sca-hho优化算法对gru神经网络的参数进行自动寻优,充分开发神经网络的处理能力,主要包括以下部分:初始化gru网络结构,通过hho-sca优化算法框架搜索最优参数;
[0052]
进一步的,所述s3的具体步骤为:
[0053]
s3.1:gru网络结构的初始化:确定网络输入层为1、输出层为1、隐含层的层数为3、隐藏层的神经元个数为5和学习率因子为0.02,训练次数为100。
[0054]
s3.2:采用hho-sca算法框架优化gru网络的参数具体步骤如下
[0055]
a1:将gru网络的隐藏层层数、隐藏层神经元个数和学习率设置为种群中的个体;
[0056]
a2:调用适应度函数,找到当前最佳适应度位置;
[0057]
a3:采用hho-sca算法框架进行优化,根据框架中的两个优化算法更新个体位置。
hho算法更新下一次搜索位置公式如下:x(t+1)是下一次搜索时的位置,xb(t)xr(t)是在种群中随机选择的一个位置,xb(t)是最佳解的位置, xm(t)为种群中个体平均位置。ub和lb分别为变量的上界和下界。
[0058]
sca算法在更新下一次搜索位置时的公式如下所示:sca算法在更新下一次搜索位置时的公式如下所示:是当前个体第i维的第j代位置,p
ij
是第j次迭代时最优个体位置变量第i维的位置, a2是在0-2π中的随机数,a3和a4分别为0-2和0-1之间的随机数;
[0059]
a4:在算法得到新的位置后,会根据相应的开发规则进行开发。sca的开发过程如下所示:t是可以迭代的最大次数,t为当时的迭代次数。当a1的值越小时,那么sca算法的局部开发能力也越强,反之算法的可发能力越弱。hho算法的开发阶段根据不同的状态会有四种开发阶段,具体公式如下:x1(t+1)=xb(t)-x(t)-e|2(1-r5)x
rabbit
(t)-x(t)|,|e|≥0.5,r≥0.5x2(t+1)=xb(t)-e|δx(t)|,|e|<0.5,r≥0.5y=xb(t)-e|jxb(t)-x(t)z=y+s
×
lf(d)m=xb(t)-e|jxb(t)-xm(t)|n=y+s
×
lf(d)x1(t+1)、x1(t+1)、x1(t+1)和x1(t+1)分别为hho算法的开发阶段四种不同策略,分别为软围攻、硬围攻、渐进式快速俯冲软包围和渐进式快速俯冲硬包围;
[0060]
a5:根据hho-sca算法框架策略,重复步骤a3与a4;
[0061]
a6:达到最大迭代次数后输出最佳适应度值和对应的位置。
[0062]
s4:将得到的最佳适应度值对应的最佳参数赋值给gru网络,进行训练后预测船舶三个自由度数据。
[0063]
进一步的,所述s4的具体步骤为:
[0064]
将数据按4:1分为训练数据集800行和测试数据集200行,按照得到的最佳适应度值所得到最佳参数设置gru网络,采用设置的gru网络对数据进行处理,具体的处理过程为:z
t
=σ(wz·
[h
t-1
,x
t
])rt
=σ(wr·
[h
t-1
,x
t
])])r
t
为重置门输出,为候选状态输出,z
t
为更新们输出,wz为更新门的权重矩阵,wr为重置门的权重矩阵,σ为sigmoid激活函数,h
t-1
为上一时刻的输出状态,x
t
为本时刻输入的序列数据。
[0065]
训练集的数据采用gru网络进行训练后得到模型,再将测试集的数据传入模型中得到预测结果。
[0066]
以上所述仅为本发明的一个实施方式,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于sca-hho-gru模型的船舶姿态预测方法,其特征在于,包括以下步骤:s1:获取船舶运动姿态的待处理三自由度数据,对数据进行预处理;s2:利用哈里斯鹰优化算法(harris hawks optimizer,hho)和正余弦优化算法(sine cosine algorithm,sca)的优点,提出一种最好的自动寻优方法;s3:采用sca-hho优化算法对gru神经网络的参数进行自动寻优,充分开发神经网络的处理能力;s4:将得到的最佳适应度值对应的最佳参数赋值给gru网络,进行训练后预测船舶三个自由度数据。2.根据权利要求1所述的一种基于sca-hho-gru模型的船舶姿态预测方法,其特征在于,所述步骤s1的具体步骤为:s1.1:整理获取的船舶姿态数据,提取其中的三自由度(横摇角度、纵摇角度和升沉大小)数据;s1.2:将获取的三自由度数据进行截取,数据每行间隔的采样时间为0.05秒,因此每个自由度截取1000行数据进行处理;s1.3:由于数据的输入维度不同,并且存在噪声点,会影响神经网络模型的训练效果。因此为了使神经网络模型能够更加准确的对数据进行操作,需要将数据进行规范化处理。归一化是现有的规范化处理非常普遍的方法,采用minmaxscaler函数将数据映射到[1,-1]之间,以便接下来的操作。具体公式如下:x
i
是当前输入的数据,x
min
是数据中最小的那一个值,x
max
代表的是数据中最大的那个值,m
i
是最后归一化后得到的数据。3.根据权利要求1所述的一种基于sca-hho-gru模型的船舶姿态预测方法,其特征在于,所述步骤s2的具体步骤为:s2.1:采用两种流行的智能优化算法(hho和sca)进行结合,设计一种交叉并行的智能优化算法框架,充分利用hho的全局搜索能力和sca的开发能力。在此算法中,将会使这两个智能优化算法根据规则互相竞争,并依据其性能实现计算。这种交叉并行算法不仅能够充分开发两种算法的优势,还能够防止在优化时产生过早的收敛和停滞的问题。在第一次迭代时,会将初始化的参数分为完全相同的两份,分别传入到两个算法当中来解决预先设定的问题,设定适应度函数,比较两种智能算法的适应度值以此来确定哪种算法在此次循环中的性能更好。在经过第一次迭代后,接下来的迭代会在两种优化算法中选择对处理问题时贡献最大的候选优化算法,并为其分配计算资源(也就是每次迭代时所改变的参数)进行优化。为了防止在选择两个优化算法时存在因个别参数影响结果,因此在两个优化算法选择时提供公平的平衡竞争,提出了一种对解决问题有利的累计有效值。具体公式如下:o
a
是上一次使用优化方法i时的适应度值,o
a
是本次使用优化方法i时的适应度值。
t
i
是优化方法i的整体有效值,c
i
是本次之前的最高累计有效值。s2.2:hho优化算法的参数初始化和sca优化算法的参数初始化:设定两种优化算法的参数包括种群的规模、迭代次数、速度的取值范围。4.根据权利要求1所述的一种基于sca-hho-gru模型的船舶姿态预测方法,其特征在于,所述步骤s3的具体步骤为:s3.1:gru网络结构的初始化:确定网络输入层、输出层、隐含层的层数、隐藏层的神经元个数和学习率因子;s3.2:采用hho-sca算法框架优化gru网络的参数具体步骤如下:a1:将gru网络的隐藏层层数、隐藏层神经元个数和学习率设置为种群中的个体;a2:调用适应度函数,找到当前最佳适应度位置;a3:采用hho-sca算法框架进行优化,根据框架中的两个优化算法更新个体位置。hho算法更新下一次搜索位置公式如下:x(t+1)是下一次搜索时的位置,x
r
(t)是在种群中随机选择的一个位置,x
b
(t)是最佳解的位置,x
m
(t)为种群中个体平均位置。ub和lb分别为变量的上界和下界。sca算法在更新下一次搜索位置时的公式如下所示:sca算法在更新下一次搜索位置时的公式如下所示:是当前个体第i维的第j代位置,p
ij
是第j次迭代时最优个体位置变量第i维的位置,a2是在0-2π中的随机数,a3和a4分别为0-2和0-1之间的随机数;a4:在算法得到新的位置后,会根据相应的开发规则进行开发。sca的开发过程如下所示:t是可以迭代的最大次数,t为当时的迭代次数。当a1的值越小时,那么sca算法的局部开发能力也越强,反之算法的可发能力越弱。hho算法的开发阶段根据不同的状态会有四种开发阶段,具体公式如下:x1(t+1)=x
b
(t)-x(t)-e|2(1-r5)x
rabbit
(t)-x(t)|,|e|≥0.5,r≥0.5x2(t+1)=x
b
(t)-e|δx(t)|,|e|<0.5,r≥0.5y=x
b
(t)-e|jx
b
(t)-x(t)|,z=y+s
×
lf(d)
m=x
b
(t)-e|jx
b
(t)-x
m
(t)|,n=y+s
×
lf(d)x1(t+1)、x1(t+1)、x1(t+1)和x1(t+1)分别为hho算法的开发阶段四种不同策略,分别为软围攻、硬围攻、渐进式快速俯冲软包围和渐进式快速俯冲硬包围;a5:根据hho-sca算法框架策略,重复步骤a3与a4;a6:达到最大迭代次数后输出最佳适应度值和对应的位置。5.根据权利要求1所述的一种基于sca-hho-gru模型的船舶姿态预测方法,其特征在于,所述步骤s4的具体步骤为:将数据按4:1分为训练数据集和测试数据集,按照得到的最佳适应度值所得到最佳参数设置gru网络,采用设置的gru网络对数据进行处理,具体的处理过程为:z
t
=σ(w
z
·
[h
t-1
,x
t
])r
t
=σ(w
r
·
[h
t-1
,x
t
])])r
t
为重置门输出,为候选状态输出,z
t
为更新们输出,w
z
为更新门的权重矩阵,w
r
为重置门的权重矩阵,σ为sigmoid激活函数,h
t-1
为上一时刻的输出状态,x
t
为本时刻输入的序列数据。采用gru网络进行训练后得到模型,将测试集的数据传入模型中得到预测结果。
技术总结
本发明公开了一种基于SCA-HHO-GRU模型的船舶姿态预测方法,属于深度学习和计算机视觉技术领域。该方法步骤主要包括:S1.获取船舶运动姿态的待处理三自由度数据,对数据进行预处理,主要包括以下部分:整理获取数据,截取数据大小,规范化处理;S2.利用哈里斯鹰优化算法(Harris Hawks Optimizer,HHO)和正余弦优化算法(Sine Cosine Algorithm,SCA)的优点,提出一种最好的自动寻优方法,其中主要包括以下部分:设计交叉并行的优化方法框架,初始化优化算法的参数;S3.采用SCA-HHO优化算法对GRU神经网络的参数进行自动寻优,充分开发神经网络的处理能力,主要包括以下部分:初始化GRU网络结构,通过HHO-SCA优化算法框架搜索最优参数;S4.将得到的最佳适应度值对应的最佳参数赋值给GRU网络,进行训练后预测船舶三个自由度数据。利用本文提出的SCA-HHO-GRU模型框架能够解决对船舶姿态预测时精度不高,误差较大的问题。采用本文提出的模型能够精准的预测船舶的运动姿态,保障舰载机的正常起降和船上工作人员的安全等。作人员的安全等。作人员的安全等。
技术研发人员:姜艳姝 贾名琪
受保护的技术使用者:哈尔滨理工大学
技术研发日:2022.03.16
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/