基于海上避碰规则和机器学习的辅助避碰决策方法研究*

2021-03-05 00:47冯涂超尹奇志初秀民
关键词:态势辅助神经网络

冯涂超 郑 茂 尹奇志 初秀民 谢 朔

(武汉理工大学能源与动力工程学院1) 武汉 430080) (武汉理工大学智能交通中心2) 武汉 430080)

0 引 言

船舶智能辅助避碰决策是船舶智能化研究领域的研究热点,也是实现船舶智能航行的关键技术.近年来,国内外相关领域学者相继对避碰决策方法开展研究,获得了大量卓有成效的研究成果[1-3].

基于电子海图(electronic chart display and information system,ECDIS)及AIS(船舶自动识别系统)的智能避碰决策方法研究.靳祥等[5]通过将AIS信息与专家系统进行融合,解决了避碰决策数据准确性问题.但该类方法主要依靠船载航海信息的采集及交换,其有效性对设备的信息采集精度和准确性有较高要求,主要功能停留在碰撞预警层面,尚未进入辅助避碰决策阶段.此外,该方法对《国际海上避碰规则》(COLREGS)(以下简称《规则》)运用较少,避碰决策结果未必满足规则条件.以《规则》为基础的船舶避碰决策研究,何立居等[6]将避碰经验、避碰规则等进行融合,建立了避碰数据库,同时结合CBR(case-based reasoning)和RBR(rule-based reasoning)建立了避碰辅助决策系统.李丽娜等[7]通过将海上避碰规则与专家经验结合,建立了基于机器学习的船舶拟人动态避碰决策库,可提供满足海上避碰规则的避碰决策.这类方法主要基于实际避碰操作,具有很好的实用价值.但由于需要处理大量不同且复杂的船舶会遇场景,数据量大,耗时长.以各种机器学习算法为基础,结合其他方法如A*算法、规则等的避碰决策研究,孔祥生等[8]基于扩展博弈理论结合避碰规则的约束条件实现了两船避碰决策,倪生科等[9]利用多种遗传算法实现了符合避碰规则的避碰决策,沈海青等[10]通过将航行经验规则与深度竞争Q学习算法和A*算法相结合,缩减了模型训练时间,使避碰决策符合国际海上避碰决策的要求.该类方法的优点是能根据所设定的条件对求解函数进行优化,缺点在于需获取大量精确性高的样本来避免陷入局部收敛问题,同时启发式搜索无法很好地兼顾《规则》.

目前《规则》是海上航行避碰主要遵循的基本规则,任何避碰决策模型必须遵守规则.根据规则的定义,在不同的船舶会遇态势下,对船舶间的责任有明确划分,对船舶如何避碰有指导性的作用.但由于避碰场景的复杂性,规则在部分场景下存在模糊性,一些会遇局面下存在较高的碰撞风险.而有经验的船长能较为从容地完成船舶在各种复杂态势下的避碰,若能模拟“船长”的避碰决策,就能提升辅助避碰决策系统的决策性能.因此,本文通过采集船长基于《规则》的决策结果作为数据样本,结合机器学习方法来建立辅助避碰决策模型.该模型在船舶相遇进入指定距离后,根据本船及目标船的航速,方向角信息对本船避碰操作给出满足避碰规则的建议.

1 辅助避碰决策系统工作流程及船舶避碰场景建模

1.1 辅助避碰决策系统工作流程

本文所建立的避碰系统由:①船舶避碰场景仿真模块;②基于航行规则的船舶避碰决策模块;③机器学习算法建模模块.整个辅助避碰决策系统工作流程见图1.

图1 辅助避碰决策模型工作流程

1.2 船舶避碰场景建模

大型货运船舶在开阔水域的避碰遵循“用舵不用车”原则[11],尽量在不改变主机工作状态的条件下,仅改变航向实现避碰.因此,本文仅研究常规避碰操作,即在船舶巡航航速下依靠改变航向来进行避碰决策.

为采集充足的船舶会遇样本,首先需建立船舶避碰场景模型,模拟不同的会遇态势,再通过避碰模型对责任进行判定.从建模方便搞笑的角度出发,本文采用“倒推法”建立避碰场景模型.

首先设立大地坐标系X-O-Y,在本坐标系内设定预期碰撞点,根据碰撞点设置固定坐标系X1-O-Y1,在此坐标系Y1轴负方向上5 nmile处设置本船,本船初始位置设置为固定点,航速设定为标准运营航速10 kn,航向固定为正北方向,依据本船建立固联坐标系X0-O-Y0.将目标船与预计碰撞点坐标系Y轴正方面的夹角设定为目标船方位角θ,通过设置船舶避碰模型找中的目标船方向角,及目标船船速构建不同的会遇场景,见图2.为了保证数据的可靠性与准确度,降低随机性,在所示的0°~360°范围内,每2°设置为一个目标船初始方位角,目标船航速分别为2,4,6,…,28,30 kn.以此定义2 506个会遇场景,并用船舶避碰决策模块获取避碰决策样本.

图2 船舶坐标系定义

2 基于航行规则的船舶避碰决策模块

1977年,国际海事组织(IMO)第一次制定了《国际海上避碰规则》(international regulations for preventing collisions at sea,COLREGs),旨在减少船舶之间的碰撞,包括对不同会遇场景的定义和责任划分、避碰中声光预警的要求、瞭望的要求等.

依《规则》,船舶在避碰时需要进行会遇态势的判断,进而确定所适用的规则条文,进而确定避让责任和应采取的行动.在《规则》中,两船会遇时的态势被分为三种:①对遇,指两艘船舶航向相反或近似相反且形成一定碰撞危险时的会遇状态;②交叉相遇,指两艘船舶航向交叉且形成一定碰撞危险的会遇状态;③追越,指一艘船从目标船正横后方大于22.5°(112.5°~247.5°)的某一方位追赶并超过目标船的会遇状态.不同会遇态势下的船舶相对位置具体见图3.

图3 船舶会遇态势图

因此根据不同的会遇态势,依照航行避碰规则将两船间的避让责任原则按以下角度划分.

将目标船相对于本船的方位角设为γ,本船速度为speed_A,目标船速为speed_B.

对于大多数对遇、左舷交叉相遇等会遇态势,可以很明确地根据《规则》做出清晰决策判断,而对于部分右舷交叉、斜后方交叉等会遇态势,《规则》并未明确规定避碰责任及方向,因此本文邀请有海上操船经验的船长,对船舶会遇态势的基本判定结果进行了确认,从而获取了避碰场景的规范避碰决策,样本模型见表1.

表1 基于《规则》的避碰决策样本模型

本文的研究重点在于机器学习对于人类知识的训练方法,而上述训练样本模型是基于《规则》和船长经验的理论结果,做了一定程度简化,仅用于验证机器学习的有效性,尚无法直接指导实际航海避碰作业.

3 机器学习算法

3.1 BP神经网络

本次采集了大量基于避碰规则及专家经验的船舶避碰决策样本,故采用监督学习算法,其优化算法流程见图4.

图4 BP神经网络优化算法流程

由于输入数据量纲不一,取值范围差异大,导致神经网络收敛慢.取值范围大的输入在模式分类中的作用过大,致使取值范围小的输入作用过小,从而导致部分信息被淹没.

因此,对输入数据进行归一化处理,使用线性转换算法为

y=2(x-xmin)/(xmax-xmin)-1

(1)

式中:xmin为x的最小值;xmax为x的最大值;输入向量为x,归一化后的输出向量为y,将所有数据归一化到[-1,1]区间.

神经网络输出层激活函数的值域是有限制的,因此需要将网络训练的目标数据映射到激活函数的值域.网络层数设置为三层,每层节点数为10,激活函数采用对数s形转移函数为

(2)

3.2 支持向量机SVM

支持向量机SVM是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终转化为一个凸二次元规划问题的求解.

SVM算法最初为二值分类问题而设计,当处理多类问题时,就需要构造合适的多类分类器.:

定义待分类的个数为m,对m个类中的每两个类都要训练一个分类器,则总共的二类分类器个数为m(m-1)/2.对于一个需要分类的数据x,它需要经过所有分类器的预测,也同样使用投票的方式来决定x最终的类属性.

在船舶实时航行中,会不断出现新的目标船,形成新的样本.为防止不必要的重复训练,本文训练采用的为“多对多”算法(All-Versus-All AVA)[12]来实现多分类.并通过使用交叉寻优算法[13]及粒子群优化算法(particle swarm optimization,PSO)[14]找到最佳的惩罚参数c和核函数的参数g.算法流程如下.

步骤1将原始问题转化为凸优化问题:

步骤2凸优化问题求解,首先将原始问题对偶化构建拉格朗日函数,选择核函数,原始问题转化为

式中:αi≥0;μi≥0.

步骤3利用KKT条件结合PSO算法求解a*,在向量a*中找到一个向量aj使0

步骤4最后获得分类决策函数为

4 算法优化结果

4.1 基于神经网络的避碰策略训练

通过将采集避碰决策样本随机分为两组,每组包含1 253个样本.其中一组作为神经网络的训练样本,另外一组作为检验样本.设置四个输入参数:本船航速、目标船航速、本船方位角、目标船方位角,输出为三种结果(本船保速保向、本船左转、本船右转)的前向网络.

训练函数采用梯度下降自适应学习率训练函数,神经网络配置参数设置如下:神经网络训练的目标误差0.01,显示中间结果的周期为50,最大迭代次数1 000,学习率设为0.01.经过训练后的网络以检验组为测试样本,见图5.由图5可知,在训练198次时,决策误差已趋于收敛,决策准确率达到(1 210/1 253)96.329%.

对测试样本错误决策数进行统计,各场景下样本决策错误率见图6.

由图6可知,使用BP神经网络算法分类的辅助避碰决策系统均有较高的决策正确率,而进一步将避碰决策错误样本场景标注在船舶态势会遇图中,见图7.由图7可知,决策错误场景样本主要集中在对遇(355°~5°)场景及右舷交叉场景(5°~112.5°)中.而在其中大量的错误样本主要集中在对遇态势与左舷交叉态势的边界处,即355°角度附近.

图5 神经网络训练

图6 不同会遇态势下决策错误率

图7 决策错误样本图

4.2 基于支持向量机(SVM)的避碰策略训练

同理将样本分成对训练及测试两组.每组数据均随机抽取1 254条数据,经过SVM交叉寻优后,决策准确率达到98.403 8%,通过交叉寻优找到最佳惩罚因子和核函数,见图8.

图8 SVM寻找最优策略流程图

通过对结果进行分析可发现在1 253组测试样本中通过SVM算法训练后的决策模型能准确对其中1 232组样本进行决策.而基于PSO优化的SVM算法能准确对1 241组样本进行决策.测试样本误差见图9.

图9 对照误差图

而进一步对出现决策误差的场景进行统计,发现不同会遇场景下的决策错误率见图10.

图10 不同会遇态势下决策错误率

由图10可知,基于SVM算法分类的辅助决策系统在追越及交叉相遇场景中均有较高的决策成功率,而由于对遇场景的样本较少未能达到充分训练的效果,因此本决策方法给出的对遇场景决策错误率较高.

同时将所有决策失败的场景中的目标船标注在会遇态势图上,见图11.由图11可知,决策失败的场景主要集中在大角度右舷交叉相遇(67.5°~112.5°)与对遇(355°~5°)场景中,在这两种会遇态势下存在更高的碰撞危险.后续将着重研究对遇及大角度右舷交叉两种会遇场景,扩充会遇场景库及专家决策样本.

图11 决策错误样本图

4.3 验证效果

为了进一步验证本辅助系统的决策效果,随机设计50个会遇场景,其中对遇场景10个、交叉相遇30个、追越10个.在所有会遇场景中本船船速均设置为运营船速,本船方位角为0°;目标船速度为8~20 kn中随机值,将辅助避碰系统决策结果与基于航行规则的专家决策进行对比,结果见表2.

表2 辅助避碰决策验证

由此可以说明本决策系统在各种会遇态势下均能做到较精准的给出避碰建议,但根据相关仿真测试可以发现,在交叉相遇态势下由于存在相对方位角跨度较大问题,若能持续采集大量专家决策样本进行训练,提高辅助避碰决策系统的准确性.

5 结 论

1) 本文设计了一种结合了航行避碰规则与机器学习的船舶航行辅助避碰决策系统,通过模拟船舶碰撞场景,获得基于航行避碰规则的船舶避碰决策样本.通过对样本进行处理,根据关键特征参数,即距离预计碰撞点一定距离内本船及目标船的方位角和船速,应用两种不同的机器学习算法进行分类,获得一种判断成功率较高的辅助避碰决策系统.

2) 采取了BP神经网络与支持向量机SVM两种算法对决策系统进行分类.由样本测试结果可以看出,在相同样本数的情况下,由SVM算法优化的辅助决策系统有着更为精准的辅助避碰决策,能基本满足任何会遇态势下的避碰决策输出.由于SVM在样本个数较大的情况下,求解的矩阵阶数过高将耗费大量的计算及训练时间,影响分类准确性.而采用BP神经网络训练的辅助决策系统对大量样本数据拥有着更好的泛化性能,其识别率随着样本量增大并没有较大的波动.

3) 建议在将辅助避碰决策系统应用到不同船舶时,能获取较多避碰实例的船舶(如内河繁忙水域的船舶)采用基于BP神经网络优化的辅助避碰,而在样本量相对较少的情况下(如沿海或远洋船舶)采用基于SVM算法优化的辅助避碰.

猜你喜欢
态势辅助神经网络
老年人行动辅助车
基于神经网络的船舶电力系统故障诊断方法
历史虚无主义的新近演化态势与特征
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
2019年12月与11月相比汽车产销延续了增长态势
汇市延续小幅震荡态势
基于神经网络的中小学生情感分析
例谈何时构造辅助圆解题
5月份工业经济运行态势良好