APP下载

基于改进多输出支持向量的船舶航迹预测

2024-01-16杨振亚尚晓兵曹择骏孙喆轩

系统工程与电子技术 2024年1期
关键词:海鞘航迹向量

杨振亚, 张 智, 尚晓兵, 曹择骏, 孙喆轩

(哈尔滨工程大学智能科学与工程学院, 黑龙江 哈尔滨 150001)

0 引 言

随着船舶业与人工智能技术的发展,智能船舶被越来越多的国家与机构所重视。智能船舶高技术具有全天候、反应快、不会产生决策疲劳的特点,在军事领域与商业民用领域有巨大的优势。船舶智能避碰系统作为一种新型智能航行系统的重要组成部分,是智能船舶的关键技术之一[1]。在日趋复杂的水路交通运输情况下,智能船舶想要实现科学的避碰功能,需要快速准确的预测自身与来船的未来航迹,通过调整速度或舵角保证双方航迹在安全范围,保证船舶能够安全航行,从而完成运输、巡航、监测等各种任务。

目前,在智能船舶研究中的大部分避碰方法主要采用仿真或半实物仿真方式进行验证。由于实际船舶的大惯性、大时滞、强非线性、和执行器饱和限制等特点[2],若在避碰仿真中所使用的船舶运动模型与真实船舶运动特性存在较大偏差,得到的避碰策略在实际应用时的有效性会大大降低,影响航行安全。因此,智能船舶操纵运动的准确建模是实现有效避碰的基础和前提条件[3]。

目前,船舶航操纵性建模方法主要分为:构建机理模型的机理建模、构建数据驱动模型的统计学习建模以及神经网络建模等[4]。在统计学习建模中,Murray 等人[5]提出一种基于聚类的单点搜索方法,利用历史自动识别系统(automatic identification system,AIS) 数据对船舶航迹进行预测,但是存在运算效率比较低的问题。Perera等人[6]提出了一种扩展的卡尔曼滤波器来预测船舶航行状态,并进一步用于预测船舶轨迹,达到了较好的预测效果。徐铁等人[7]改进了卡尔曼滤波算法,利用AIS数据做最小二乘估计,能够对船舶运动轨迹进行较为精确的预测。Mazzarella等人[8]结合AIS 数据,提出了一种基于粒子滤波器的贝叶斯船舶航迹预测模型。Liu等人[9]提出了一种基于支持向量回归(support vector regression, SVR)的船舶航迹预报模型,采用小波阈值去噪方法对船位数据进行处理,提高算法的收敛速度和预测精度。在神经网络建模中,Mizuno等人[10]提出了一种新的基于神经网络和非线性模型预测补偿器的最小时间船舶操纵方法,针对训练船Shioji Maru进行了数值仿真与海上试验。Lin等人[11]提出了一种使用方向舵参数计算舵处的力和力矩的新方法,进行了静水中的回转轨迹预报。Dash等人[12]开发了一种非线性(mathematical modeling group, MMG)模型,用来估算高速双桨双舵船舶研究了高速船舶的航行稳定性。Le 等人[13]提出了一种基于数据挖掘和机器学习方法的智能模型,以解决船舶的航迹预测问题。

机理建模方法采用构建船舶实际动力学模型,通过约束实验测得水动力参数,根据船舶水动力模型对外部传感器输入量进行判断,从而预测船舶状态指标。这类方法的缺点为某些水动力参数难以获得,只适用同种类型的船体,建模成本过高等[14]。统计学习建模着重于小样本情况下的机器学习规律,追求在现有有限信息的条件下得到最优结果,其代表为支持向量机算法,成功地解决了高维问题与局部极值问题,在船舶航操纵性领域常用于数据驱动建模和参数辨识建模。神经网络是一种使用非线性函数构造网络节点来对任意模型进行函数近似的黑箱建模方法,可对各种静态或动态模型的输入输出进行拟合或跟踪。相比较统计学习建模,神经网络对于高维复杂系统的建模能力更强[15],可以对复杂船舶运动进行黑箱预报,但存在学习效率低、训练数据量大、梯度消失、梯度爆炸,训练速度慢,精度较差等不确定性问题,无法保证工程适用性[16]。

综上所述,机理建模代价大,且需实验测得船舶参数;神经网络建模所需数据量较大、建模耗时长,均不适用于预测来船航迹来提供可靠的避碰信息。针对在来船水动力参数未知、目标船舶历史航行数据量较少的情况下,如何快速准确的建立来船运动航迹模型,预测来船的航迹路线的问题,本文提出了一种新型的樽海鞘群算法(salp swarm algorithm, SSA),开展多输出支持向量的船舶航迹预测研究,建立数据驱动模型为智能船舶的避碰工作提供准确、可靠、安全的决策支持。

1 问题建模

1.1 数据驱动模型

数据驱动建模过程是根据系统输入输出数据,通过训练获得该系统的非线性映射[17]。对于本文所考虑的船舶运动模型,系统输入为前三时刻的状态变量,输出为下一时刻的状态变量。这个过程可以描述为

xs(t+1)=f(xs(t),xs(t-1),xs(t-2))

(1)

式中:xs(t)为t时刻的状态向量;f(·)为非线性映射函数;xs(t-1)为上一时刻的状态向量;xs(t+1)为下一时刻的状态向量。

考虑到船舶运动包括纵荡、横荡、垂荡、横摇、纵摇和偏航,船舶可视为六自由度运动模型。在本文中,建立船舶整体模型的重点为水平面的三自由度运动,其模型数据来源于AIS船舶自动识别系统数据[18],数据内容包括:

xs(t)=[Xt,Yt,Vt,Rt,ΔT]

式中:X为船舶位置经度;Y为船舶位置纬度;V为船舶节速度;R为船舶航向;ΔT为当前状态向量与上一状态向量的时间间隔。

1.2 建模过程

建立数据驱动模型时,一般将数据集划分为训练集与测试集,在训练集中又可使用交叉验证划分出验证集。具体流程为:首先在训练集上拟合回归模型,然后在验证集上评价模型,之后迭代模型,最后在测试集上检验模型的可行性与有效性。程序流程图如图1所示。

图1 模型建立流程图Fig.1 Flow chart of model establishment

本文采用支持向量建立模型时,模型中的超参数(如正则因子)影响着模型结构风险和经验风险之间的平衡[19]。针对这一问题,本文在交叉验证阶段采用仿生智能优化算法,即SSA选择寻找合适的模型参数,并对其高维易陷入局部最优且收敛速度较慢的问题进行改进。

2 航迹模型算法

2.1 SVR模型

SVR[20]利用核技术处理非线性模型在船舶航迹预测上有良好效果,通过同时最小化经验误差和结构误差(模型复杂程度),强泛化能力避免了神经网络的过拟合问题,在小样本下也具有较好的建模能力[21],支持向量结构轻便、简单,所需样本量与数据特征较少,能够保证预测船舶航迹的实时性。

SVR作为一种成熟的机器学习方法,其算法利用自适应的基于边缘的损失函数,将学习数据投影到一个高维线性特征空间中,从而降低求解的复杂性,并在特征空间中找到最佳的决策函数[22],如图2所示。

图2 支持向量映射模型Fig.2 Support vector mapping model

在求解回归问题时,该问题转化为回归函数的形式:

f(x)=ωTx+b

(2)

式中:ω是权重向量ω∈Rn;b为偏差,b∈R。

最小二乘SVR(least squares SVR, LS-SVR)是对标准支持向量机(support vector machine, SVM)算法的一种改进[23],LS-SVR把SVM的一次损失函数改写为二次损失函数,将误差平方和作为损失函数,将二次规划(quadratic programming, QP)问题中的不等式约束条件改为等式约束条件,进而将问题转化为求解线性方程组问题,在保证收敛精度的前提下提高了模型求解的效率[24]。LS-SVR的目标优化函数如下:

(3)

式中:ζi为松弛因子;c为正则化参数,影响着模型结构风险和经验风险之间的平衡;φ(xi)为输入变量从低纬到高维的核函数映射。

对于船舶这种复杂系统模型,本文选取采用径向基核函数,可逼近任意维非线性函数。径向基核函数公式如下:

(4)

2.2 SSA

SSA是文献[25]于2017年提出的一种仿生群智能算法。SSA是受海洋中樽海鞘成群行为的启发。樽海鞘是一种透明的生物,通过抽水穿过其身体在水中移动,在捕食时会形成樽海鞘链,以方便种群的快速移动[25]。

算法流程首先将种群分为两个组:领导者和追随者,领导者搜寻食物并自主行动,跟随者的移动按照严格的等级制度,只受到前一个樽海鞘的影响,以一种链式搜索法则,向最优适应度位置移动。与其他群智能寻优算法不同,本算法中的领导者的影响力有限,只会直接影响排在领导者之后的跟随者,之后的跟随者会影响后面的其他跟随者,一步一步地传递使得领导者对后面跟随者的影响力逐层递减,保证了樽海鞘群队列在位置更新中的多样性。

假设搜索空间为D×N的欧几里得空间,N为樽海鞘种群数量,D为所要搜索空间维数。搜索空间中的樽海鞘群个体的位置用Xn=[Xn1,Xn2,…,XnD]T表示,食物的位置用Fn=[Fn1,Fn2,…,FnD]T表示,搜索空间的上界为μb,下界为lb。樽海鞘个体位置初始化如下:

XD×N=rand(D,N)·(μb(D,N)-lb(D,N))+lb(D,N)

(5)

为增强樽海鞘的全局寻优能力,将樽海鞘中适应度大于平均适应度的个体设为领导者,领导者的更新位置移动公式如下:

(6)

式中:fpos为食物的位置(当前全局最优点),flead为领导者移动后位置;c2,c3为[0,1]之间的随机数;c1=2exp[-(4l/L)2]为衰减函数,用于平衡全局探索与局部收敛,l是当前迭代次数,L是最大迭代次数。

樽海鞘链另一半的个体均为追随者,其更新位置移动公式如下:

(7)

式中:fFolli与fFolli-1分别为更新后的追随者位置和更新前追随者的位置。

最后,计算位置更新后的樽海鞘种群个体适应度,与当前食物的适应度值进行比较,若移动后的樽海鞘适应度值更优,则将此樽海鞘个体的位置作为新的食物位置,其个体适应度作为新食物的适应度。直到满足要求适应度值或者达到最大迭代次数后,将当前食物位置作为寻优的结果输出。

3 航迹模型算法改进与流程

3.1 航迹模型多输出的改进

由于传统的SVR结构的局限,算法为标量输出,无法支持多输出情况下的模型预测[26]。对不同的模型输出,通常需要构建多个支持向量模型分别进行预测。然而,标量输出的SVR方法忽略了模型各输出之间的耦合关系,对于强耦合输出的模型,预测性能较差[27]。

对于多输出模型,考虑将ωi改写为ωi=ω0+vi, 在模型的多元输出之间彼此相似时,向量vi为小量;在模型的多元输出之间差异较大时,向量ω0为小量,ω0表示模型输出之间的共性,vi表示模型输出之间的异性。在有约束情况下的优化目标函数如下:

(8)

将式(8)转换为如下无约束拉格朗日问题:

(9)

式中:A=(α1,α2,…,αm)∈Rl×m为拉格朗日算子矩阵。根据KKT(Karush-Kuhn-Tucher)条件进行求解

上述优化问题可等价表示为只涉及V和B的约束优化问题,如下所示:

(10)

与最小二乘支持向量回归(least squares support vector regression, LSSVR)类似,通过KKT条件消除V和ζ可以得到以下线性系统:

(11)

式中:

通过式(11)求解出α和b,得到用核函数表示的非线性船舶航迹预测模型为

(12)

3.2 SSA改进

樽海鞘群在移动过程中,领导者进行全局探索,追随者则进行局部探索,保证了收敛精度的情况下,避免了算法陷入局部次优,这样的运动模式使樽海鞘链有很强的全局探索和局部开发能力。本文将支持向量中的超参数如正则化因子与径向基中的参数作为樽海鞘的位置信息,将预测经纬度的误差协方差作为损失函数进行搜索。

传统SSA在高维函数寻优过程中同样会存在易早熟、收敛速度慢和收敛精度差等问题。针对这些问题,本文加入自适应惯性权重与离群象值的方法进行改进。

自适应惯性权重算法,常改进于定步长的寻优算法,算法通过惯性权重因子使得SSA搜索前期权重大,移动步伐大,增强了SSA的全局探索能力;搜索后期自适应权重较小,移动步伐小,使算法易于收敛且提高了局部寻优能力。自适应权重函数如下:

(13)

式中:wmin和wmax为预设的最小与最大惯性系数;fmean为当前迭代下所有粒子的平均适应度;fmin为当前迭代下所有粒子的最小损失函数。损失函数越小,说明距离越近,此时更需局部搜索;损失函数越大,说明距离越远,此时更需全局搜索;领导者的位置移动公式增加自惯性权重后更改为如下形式:

(14)

追随者的位置移动公式更新如下:

(15)

离群象,指氏族中的雄象成长至一定年龄后就会离开氏族独立生活,本文借鉴这种思想,在樽海鞘链中设置离群象值,适应度最差的个体不再跟随前一个个体移动,而是移动至随机位置,移动公式如下所示:

fworst=lb+(ub-lb+1)·rand

(16)

离群象使SSA增强全局寻优能力,避免陷入局部最优的问题。

3.3 算法流程

本文以预测船舶航迹的经纬度值来验证算法的可行性与有效性。首先,对美国海岸警卫队导航中心提供的AIS航迹数据进行筛选和预处理后,划分训练集与测试集,以过去三时刻(t,t-1,t-2)的AIS数据作为输入值,t+1时刻的经纬度作为该数据的预测输出值训练船舶航迹预测模型。

算法流程如下。

步骤 1初始化SSA种群数量100,设定最大迭代次数15次,初始化樽海鞘群位置并将樽海鞘个体位置值作为LSSVM的超参数构建预测模型。

步骤 2采用三折交叉验证LSSVM模型,将误差协方差矩阵作为损失函数,计算樽海鞘个体适应度。

步骤 3根据樽海鞘运动规则更新樽海鞘个体位置,使樽海鞘群进行移动。

步骤 4判断是否满足算法结束条件,若满足则退出,不满足则继续执行步骤2和步骤3。

步骤 5将樽海鞘种群中最优适应度个体的位置作为多输出LS-SVR(multiple-output LS-SVR, MLS-SVR)预测模型的超参数。

基于SSA的MLS-SVR船舶轨迹预测模型流程图如图3所示。

图3 构建SSA-MLSSVR的船舶轨迹预测模型流程图Fig.3 Flow chart of building vessel trajectory prediction model of SSA-MLSSVR

4 实验分析

4.1 数据处理

对AIS数据中的缺失值或异常数据值进行处理[24],每艘船取500组数据,并将作为输入量的AIS数据与需要预测的经纬度坐标制作数据库,规范数据格式,突显数据特征,得到符合要求输入输出数据。对于船舶航迹数据中的时间信息,本文采用前后时间差Δt作为特征变量,而对于船艏向而言采用正弦和余弦函数[28]共同表示。避免了船艏向在360°到0°所产生的割裂问题,设t时刻的船艏向为Ct,其对应的三角函数转换后的值为sinCt和cosCt,设为δt和φt,便可对船艏向角进行唯一对于表达。

由于AIS不同数据之间量纲不同,可能存在数量级上的差异,为减小模型预测误差,平衡数据权重,需要对AIS数据进行归一化处理。经过归一化处理以后,数据之间的属性差别被移除,所有维度的数据都处于同一个数值区间,都限定在[0,1]内。本模型采用max-min标准化对数据进行归一化操作,公式如下:

(17)

式中:x为所要归一化的数据;min为x特征数据中的最小值;max为x特征数据中的最大值;X为归一化后的数据,此时的归一化后的船舶AIS数据可以表示为xs(t)={Xt,Yt,Vt,δt,φt,ΔTt}。经过归一化后的数据,仍然保留数据之间的关系而且可以降低计算的复杂度,减少训练时间,由于各个数据都处于[0,1]之间,也可以减少偏差,提高预测准确度。部分处理后的AIS数据样本如表1所示。

表1 船舶AIS数据Table 1 Vessel AIS data

4.2 预测模型的评估数据

(18)

(19)

(20)

4.3 实验评价

本文使用的AIS数据来源于2021年美国海岸警卫队导航中心。该数据是美国海岸警卫队通过车载导航安全设备收集到的美国沿海水域和国际水域船舶的位置和特征。在经过数据清洗、处理后选取100艘集装箱货船不同航迹的AIS数据用于制作数据集。

将划分后的训练集输入程序中进行交叉验证,首先对樽海鞘群进行初始化,然后对支持向量中的超参数进行多目标寻优。三维樽海鞘种群搜索构建模型参数的情况如图4所示。可观察到,加入自适应权值后的樽海鞘在迭代开始时(1~3周期)进行快速全局搜索,损失下降较为缓慢,而在中期(3~5周期)快速收敛,并在后期(5~9周期)进行局部最优搜索。算法引入离群象算法后,会有部分樽海鞘离开种群独自搜索,试图跳出可能的局部最优点。

图4 SSA在三维空间的搜索Fig.4 Search of SSA in three-dimensional space

樽海鞘群寻优算法在10次迭代周期后基本收敛,算法收敛速度快,效率高,如图5所示。增强了高维空间中的搜索能力,使SSA在搜索MLSSVM模型当中表现良好,满足预测精度的要求。

图5 SSA损失值随迭代次数的变化Fig.5 Variation of SSA loss value with the number of iterations

为验证模型的泛化能力,本文额外选取3种训练数据之外的差异性较大的同种船舶轨迹作为验证。由于船舶不具备侧向推进器的欠驱动系统,在船舶打舵改变当前移动方向时,经纬度输出之间会有很强的耦合关系。本文选取的3种耦合强弱不同的船舶轨迹,得到 AIS数据动态信息的拟合结果,分别为:较少打舵的弱耦合航迹,正常打舵的中等耦合航迹与频繁大舵角操纵的强耦合航迹。为验证本文方法在模型拟合与船舶轨迹预测方面的精确度提升,选取SSA-LSSVM、粒子群优化SVR(particle swarm optimization SVR,PSOSVR)[29]与网格搜索MLSSVR(grid search MLSSVR,GRIMLSSVM)[30]与之进行评价对比。如图6~图8所示,其中VESSEL为船舶实际运动轨迹,SSALSSVM模型在输出之间为弱耦合时表现较为优秀,但在输出之间为强耦合时表现较差;PSOSVR模型计算速度快,但在3种轨迹预测上一般;GRIMLSSVM模型表现略优于PSOSVR;而本文所述的SSA-MLSSVM在各方面表现均有良好的预测效果。以上方法在均方误差、相关系数和协方差上的评价具体数值如表2所示。

表2 船舶轨迹预测方法评价Table 2 Evaluation of vessel trajectory prediction methods

图6 耦合较弱的航迹预测效果对比Fig.6 Comparison of track prediction effect with weak coupling

图7 耦合中等航迹预测效果对比Fig.7 Comparison of track prediction effect with medium coupling

图8 耦合较强航迹预测效果对比Fig.8 Comparison of track prediction effect with strong coupling

从SSALSSVM与GRIMLSSVM的数据来看,改进SSA对比于网格搜索,迭代次数短,能快速收敛。但从与SSAMLSSVM的协方差数据对比可看出,单输出的最小二乘支持向量没有考虑输出之间的耦合关系,在某些情况下表现甚至更差;而SSAMLSSVM考虑较为周到,在输出之间耦合较弱时精度虽有下降但仍能保持足够精度,而在强耦合情况下更为准确,更适用于复杂多变的海洋航迹预测的实际情景下。

5 结 论

对于传统SVR在预测船舶航迹问题上分别构建模型,独立进行输出从而忽略输出之间联系的问题,本文提出了基于改进SSA的MLSSVR的算法,所建立的航迹模型考虑到了船舶运动在经度与纬度上的耦合关系,避免了不同输出之间潜在的交叉关系。并通过自适应权重与离群象改进SSA,提高了算法寻优的效率与速度。

最后,采用多组不同航迹特征的AIS数据与其他常用寻优方法与模型进行对比实验,结果证明了基于SSA-MLSSVR算法的有效性与优势。为智能船舶的避碰决策信息需求提供了一种可靠、安全的可行方法。

猜你喜欢

海鞘航迹向量
它吃掉自己的“脑子”
改进樽海鞘群优化K-means算法的图像分割
向量的分解
聚焦“向量与三角”创新题
梦的航迹
自适应引导长度的无人机航迹跟踪方法
污损性海鞘的生态特点研究展望
视觉导航下基于H2/H∞的航迹跟踪
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线