欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

基于多智能体深度强化学习的船舶协同防撞策略

最编程 2024-07-12 09:14:14
...

源自:控制与决策

作者:隋丽蓉   高曙  何伟

摘 要

船舶避碰是智能航行中首要解决的问题,多船会遇局面下,只有相互协作,共同规划避碰策略,才能有效降低碰撞风险.为使船舶智能避碰策略具有协同性、安全性和实用性,提出一种基于多智能体深度强化学习的船舶协同避碰决策方法.首先,研究船舶会遇局面辨识方法,设计满足《国际海上避碰规则》的多船避碰策略.其次,研究多船舶智能体合作方式,构建多船舶智能体协同避碰决策模型:利用注意力推理方法提取有助于避碰决策的关键数据;设计记忆驱动的经验学习方法,有效积累交互经验;引入噪音网络和多头注意力机制,增强船舶智能体决策探索能力.最后,分别在实验地图与真实海图上,对多船会遇场景进行仿真实验.结果表明,在协同性和安全性方面,相较于多个对比方法,所提出的避碰策略均能获得具有竞争力的结果,且满足实用性要求,从而为提高船舶智能航行水平和保障航行安全提供一种新的解决方案.

关键词

多智能体深度强化学习;多智能体通信模型;多智能体合作;协同决策;船舶避碰;协同避碰策略

  引  言

在实际航行中, 尤其在港口或江海交汇处, 多船 会遇、交叉等情况十分常见, 此时船舶间只有相互协 作, 在《国际海上避碰规则》(international regulations for preventing collisions at sea,简称“COLREGS规则”)的约束下, 共同合理规划避碰策略, 才能有效应对复 杂环境, 达到协同避碰的目的, 从而降低碰撞风险. 近 年来, 人工智能技术的飞速发展, 促进了船舶避碰的 智能化研究. 倪生科[1] 改进了遗传算法, 基于协同和 排队理论构建协调避让机制, 设计多船避碰策略. 周 双林等[2] 从单船的角度出发, 利用深度Q网络算法控 制船舶智能避碰, 保障其安全航行. Zhao等[3] 利用深 度神经网络将遇到船舶的状态映射为本船的转向命 令, 为多艘船舶制定避碰决策. Chun等[4] 提出了一种 基于深度强化学习的避碰算法以确定避让时间, 并针 对最危险的船舶生成符合COLREGS规则的避让路 径. Chen等[5] 基于深度Q网络强化学习方法, 模拟两 船间的协同避碰关系. 周怡等[6] 利用深度确定性策 略梯度算法实现船舶智能避碰. 综上, 目前现有基于 深度强化学习的船舶避碰研究较少考虑船舶间相互 影响, 避碰策略缺乏协同性, 往往使船舶安全避过当 前危险局面, 却又陷入另一紧迫局面.

多智能体深度强化学习通过智能体间的协同 合作或对抗竞争完成复杂任务, 在道路交通协同控 制[7]、多无人机协同安全飞行[8] 等方面取得了良好效 果. 鉴于多智能体深度强化学习可描述为马尔可夫 博弈过程, 与多船避碰过程具有相似性, 均为一系列 决策过程, 本文将船舶映射为智能体, 利用多智能体 深度强化学习方法解决多船协同避碰问题. 通过分 析多船舶智能体合作方式, 构建多船舶智能体协同避 碰决策模型, 同时在协同避碰决策中引入COLREGS 规则, 从而在船舶应对复杂会遇局面时, 保证避碰决 策的协同性、安全性以及实用性, 为多船协同避碰提 供新的解决方案.

1    问题描述及形式化表示

在船舶避碰研究中, 多船会遇局面下避碰决策一 直是国内外研究人员关注的焦点. 具体是指会遇局 面下, 各船舶自主制定避让方案, 共同规划避碰策略, 以保证避碰决策的安全性、协同性与实用性.

1.1    船舶领域及船舶碰撞风险评估模型

船舶领域是指船舶周围一定范围内的水域, 该水 域范围内不允许其他船舶侵入. 依据国内外相关研 究, 选取椭圆形船舶领域构建领域模型, 保证船舶避碰的安全性.

为充分利用船舶助航设备获取的数据, 本文采用 文献[9]中碰撞危险评估方法, 利用最终碰撞危险和 TCPA(time to closest point of approach)构建船舶碰撞 风险评估模型.

1.2    规则约束下多船避碰策略

由于多船会遇局面可分解为多个两船会遇局面, 通过辨识两船的会遇局面类别(对遇、交叉和追越)以 及船舶角色(直行船或让路船)规划避碰策略, 本文采 用文献 [10]的两船会遇局面辨识方法, 融合多因素: 限制线(包括船艏限制线和船艉限制线)、船舶航向角 及相对方位, 辨识船舶会遇局面类别(对遇、交叉和追 越),从而提高船舶会遇局面辨识精度. 同时借鉴文献 [2]的思想, 结合COLREGS规则设计多船避碰策略, 具体描述如下(以船舶i为例).

step1: 计算船舶i 与周围船舶j (j  ∈ {1, . . . , i − 1, i + 1, . . . , n}, n为i周围船舶数量, 包括i)的最终碰 撞危险和TCPA(见1.1节).

step2: 若船舶i 与j 存在最终碰撞危险且TCPA > 0, 则进行会遇局面辨识.

step3: 若i周围n − 1 艘船舶未全部完成会遇局 面辨识, 则转入step1;否则执行step4.

step4: 若辨识船舶i在与任一周围船舶j 形成的 会遇局面中承担让路船角色(无论是否也承担直行 船角色),则船舶i 避碰策略均为右转让路, 即使为追 越局面, 也保证右转.

1.3    多船避碰问题的形式化表示

多船避碰过程表现为多艘船舶根据感知信息及 其驾驶员积累的航行经验各自规划并执行避碰策略, 这与马尔科夫博弈过程相契合. 因此, 本文将船舶映 射为智能体, 基于多智能体深度强化学习, 结合船舶 航行和避碰特点研究船舶智能体避碰策略, 为多船避 碰问题提供新的解决思路.

充分考虑船舶的航行目标和实际航行环境中船 舶运动的连续性特征, 利用航速、航向、目标点与自 身的相对位置及周围其他船舶智能体与自身的相对 位置构建连续的状态空间

 , 基于航速和航向设计连 续动作空间. 其中: 和分别表示船舶智能体i在时间步t时的动作V(包括航向和航速)在 x轴上的分量和在y 轴上的分量.

同时, 综合船舶航行目标及避碰安全性设计奖励 函数. 以船舶智能体到达目标点的距离作为航行奖 励值, 且当船舶智能体(包括船舶智能体之间、船舶智能体与静态障碍物之间)发生碰撞时, 给予负面奖励 值. 其中, 船舶智能体间的碰撞以船舶智能体间船舶 领域是否重叠为依据(见1.1节).

2    基于多智能体深度强化学习的船舶协同避碰决策

2.1    模型架构

图1为本文构建的多船舶智能体协同避碰决策 模型架构, 该模型主要由船舶智能体(限于篇幅, 以3 个船舶智能体为例, 且仅画出两个船舶智能体具体结 构)、样本缓冲池和先验缓冲池组成. 每个船舶智能 体包括行动者和评论家两部分(具体结构设计见2.2节),并且拥有独立的样本缓冲池及共享的先验缓冲 池. 行动者由优化器、现实先验网络、现实消息编码 网络、基于噪音网络的现实策略网络、目标网络(包 括目标先验网络、目标消息编码网络及目标策略网 络, 因篇幅所限, 图1中没有标识)组成, 根据自身的局 部观测数据(即本船航行数据)和来自其他船舶智能 体的通信数据(即他船航行数据)规划协同避碰策略; 评论家由优化器、基于多头注意力机制的现实评价 网络、目标评价网络组成, 基于样本数据评估策略好 坏, 指导船舶智能*定最优的协同避碰决策; 缓冲 池(包括样本缓冲池和先验缓冲池)存储样本, 用于自 身训练.

图 1    多船舶智能体协同避碰决策模型架构

2.2    面向协同决策的多船舶智能体通信合作方法

多智能体通信研究[11- 13] 中主要解决智能体通信的时机、通信的对象、通信的内容以及通信内容的 处理4个基本问题. 独立推理通信框架(individually inferred communication,简称“I2C框架”)[12] , 通过学 习智能体间通信的先验知识确定通信时机和通信对 象, 利用深度神经网络处理通信内容, 是一种简单而 有效的通信框架. I2C框架中, 智能体仅与可视范围 内的其他智能体通信, 而船舶受目前通信设备性能所 限, 仅能采集一定范围内其他船舶的航行数据, 因此, 选择I2C框架作为船舶智能体协同合作的基础架构.

船舶在会遇局面下需充分考虑相互影响, 根据他船对自身的影响程度制定避碰策略. I2C框架虽然通 过学习先验知识确定利用周围哪些船舶智能体的通信数据, 但对这些被利用的通信数据未进行差异化处 理. 另外,I2C框架仅根据当前相关数据(即当前时间 步下自身局部观测数据和来自周围船舶智能体的通信数据)进行动作决策, 没有考虑过往经验的指导作用. 因此, 本文借鉴重点船避碰[1] 思想, 利用注意力推理方法, 量化其他船舶智能体对当前船舶智能体策略的影响, 推理关键通信数据

 , 促进船舶智能体的合作避碰; 同时受文献[11]和文献[14]基于内存的通信信息表示的启发, 基于过往经验 进一步探索船舶智能体学习通信数据、累积经验的方法. 另外,通过现实先验网络缩减通信数据范围, 将来自周围船舶智能体的通信数据(即周围船舶的航行数据)与自身局部观测数据(即本船航行数据)共同作为动作决 策依据, 促进多船舶智能体合作以完成避碰任务.

2.2.1    注意力推理方法

首先, 将船舶智能体i的局部观测数据映射为查 询向量qt(i) , 将自身局部观测数据及来自周围船舶智能 体的通信数据映射为键值向量

 , 如下式所示:

(1) 

其中: 

 表示以为参数的多层神经网络; 为船舶智能体 i 在时间步t 时的局部观测数据;. . . , 为i 获取的来自周围船舶智能体的通信数据; n为与船舶智能体i通信的船舶智能体数量(包括i).

其 次, 通 过 查 询 向 量 和 键 向 量 的 Hadamard Product计算船舶智能体间的相互影响

, 再应用线 性变换生成定义特定船舶智能体权重的标量 , 如 下式所示:

(2)

(3)

同时, 利用softmax操作生成特定于船舶智能体的权 重值

 , 即

(4)

最后, 基于注意力向量

计算从自身局部观测 数据和来自周围船舶智能体的通信数据中获取的关键数据 , 即

(5)

其中: 

 为船舶智能体j 特定于 i 的权重值;  为 i 周围其他船舶智能体j 的通信数据的编码值, 若 j = i, 则为i自身局部观测数据的编码值.

 2.2.2     记忆驱动的经验学习方法

船舶驾驶员的航行经验是指导船舶避碰决策的重要依据之一, 因此, 积累船舶智能体的交互经验, 并结合经验信息制定避碰决策, 有助于规划更好的避碰策略. 由此, 为每个船舶智能体增加一个内存空间, 捕获船舶智能体在与环境交互过程中收集、学习的知识, 定义为经验信息m ∈ RM . 它由船舶智能体通过 对自身局部观测数据(即本船航行数据)和来自其他 船舶智能体的通信数据(即他船航行数据)进行学习 获得的, 具体方法如下.

1)编码船舶智能体i 的局部观测数据及来自周 围船舶智能体的通信数据, 将其映射为编码向量E, 即

(6)

其中

是以为参数的全连接网络.

2)结合船舶智能体的编码向量E 和当前船舶智 能体上一时间步的经验信息

 , 在编码向量和上 一步的经验信息之间进行相对推理, 即

(7)

其中: j 为船舶智能体i的通信对象(包括i);

为通 信船舶智能体i相对于经验信息的影响值; ⊙为合成算子, 采用逐元素乘法的计算方式.

3)利用前馈神经网络聚合

与当前编码向量 E, 生成经验信息 , 存入内存空间, 如下式所示:

(8)

其中

表示前馈神经网络.

另外, 引入噪音网络, 将船舶智能体的现实策略网络的全连接层参数化为噪音网络, 其噪音分布采用分解高斯噪音分布, 以增强船舶智能体决策探索能力, 促进船舶智能体探索更多有助于协同避碰的样本, 提高找到最佳协同避碰策略的概率; 同时, 设计基于多头注意力机制的现实评价网络, 量化不同船舶智能体信息的重要性大小, 提取来自不同船舶智能体编码向量中的重要信息以计算Q值, 促进船舶智能体关注更有利于自己学习更好避碰策略的信息, 促进船舶智能体协同避碰, 从而提高船舶避碰的安全性.

综上, 图 1水域环境中船舶智能体i、k、l 可以互 相通信, 收集来自其他船舶智能体的通信数据(即其他船舶的航行数据),通过有效处理通信数据, 增强船舶智能体避碰决策的协同性(为了更加清晰直观地呈现船舶智能体间通信合作的过程, 图 1 以船舶智能体i 和k 为例, 

和分别为船舶智能体i 获取的来自船舶智能体k 的通信数据以及船舶智能体k获取的来自船舶智能体i 的通信数据):各船舶智能体通过现实先验网络缩减通信数据范围; 利用现实消息编码网络提取关键通信数据, 积累交互经验, 充分利用自身局部观测数据(即本船的航行数据)和来自周围船舶智能体的通信数据(即周围船舶的航行数据),生成协同决策依据; 通过基于噪音网络的现实策略网络生成协同避碰策略, 利用噪音扰动增强船舶智能体探索能力, 提高船舶智能体发现最优协同 避碰策略的概率. 各船舶智能体与环境交互组合样本(以船舶智能体i 为例, 和分别为i 在时间步t 和t + 1时的局部观测数据, 和分别为i 在时间步t 和t + 1 时抽取的周围船舶智能体的特征,为i 在时间步t 获取的来自其他船舶智能体的通信数据, 和 分别为i 在时间步t 和t + 1时的经验信息, 为i 在时间步t 时的奖励值),存入各自的样本缓冲池Di , 每隔固定的时间周期抽取小批量样本, 基于多头注意力机制评估策略优劣, 有选择地关注不同船舶智能体的策略信息, 指导船舶智能体协同合作, 保证多船避碰的协同性和安全性.

3    实验结果与分析

3.1    实验环境设置

 3.1.1     实验环境

为了验证和评估本文所提出的船舶协同避碰决策模型的性能, 保证其既具有普适性, 也具有一定的实用性, 本文设计两种实验地图: 随机实验地图和基于实际电子海图的实验地图, 如图2所示. 两种地图皆包含船舶(R、G、B)、船舶航行起点(船舶初始所在位置)、静态障碍物(岛屿、礁石等: OBS1、OBS2 和OBS3)和目标点(GR、GG、GB,圆形表示)这4种元素. 其中: 随机实验地图静态障碍物数量及位置均随机设置; 基于实际电子海图的实验地图取自青岛港附近一定范围内水域.

图 2    实验地图示意

 3.1.2     参数设置

本实验基于Tensorflow框架, 使用Gym、Numpy、 Pygame库进行开发, 编程语言为Python 3.6.2. 经多次 实验调参, 算法主要参数设置:buffer_size(缓冲池大小)为1000000, batch_size(批量采样大小) 为 1024,  learning_rate(学习率)为0.001, num_unit(网络单元 数) 为 64, prior_batch_size(先 验 采 样 数 量) 为400,  prior_buffer_size(先验缓冲池大小)为60000,memory  _size(内存空间)为10, 6 (阈值)为0.5.

 3.1.3     评价指标

选取协同性、安全性和实用性3项指标衡量实验结果. 当多智能体深度强化学习应用于合作场景时, 智能体以累积最大奖励值为目标, 协同合作完成任务[11- 12,15] . 因此, 统计每 1000 个 episode 的平均累积 奖励值、后20000个episode的平均累积奖励值及其标准差, 以衡量算法协同性. 同时统计若干次船舶避碰实验中, 避碰决策模型规划出的避碰策略发生船舶碰撞的次数, 以衡量避碰方法的安全性. 另外, 设计多个船舶会遇局面仿真实验地图, 通过记录船舶避碰位置点绘制路径图, 可视化避碰效果, 判断规划的避碰策略在多船会遇局面下是否满足COLREGS规则, 以验证模型的实用性.

 3.1.4     对比模型

使用文献 [3,6,12,16- 18]作为对比模型, 与本文 所提出的多船舶智能体协同避碰决策模型进行比较 (为了对比的公平性, 这里抽取相应文献中关键算法, 设置相同的状态空间、动作空间、奖励函数, 并调整相 关参数, 应用到本文的实验环境中).

3.2     实验及结果分析

 3.2.1     实验1(协同性评估实验)

为评估所提出的多船舶智能体协同避碰决策模型 (multi-ship collaborative collision  avoidancedecision-making model  based on multi-agent deep reinforcement learning,MSCCADRL) 的 协同性, 按照 3.1.1 节 的方法搭建随机实验地图, 将本文 的 MSCCADRL与文献 [3,6,12,16- 18]的方法进行对比实验, 统计相同episode时的平均累积奖励值. 训练奖励可视化结果如图3(a)所示, 后20000个episode的平均累积奖励值及其标准差统计结果如表1所示. 综合图 3(a)和表 1可以看出,MSCCADRL的平均累积奖励值最高. 实验结果表明,MSCCADRL 进一步增强了船舶避碰的协同性.

图 3    实验结果

表 1    平均累积奖励值统计结果

 3.2.2    实验2(安全性评估实验)

按照3.1.1节的方法搭建随机实验地图, 将本文的MSCCADRL与文献[3]和文献[16]的方法进行对比实验. 生成100张随机实验地图, 统计100次避碰实验中船舶碰撞次数. 船舶碰撞次数统计结果如图3(b) 所示, 可以看出,MSCCADRL碰撞次数小于其他对比算法, 从而验证了MSCCADRL的安全性相对较好.

 3.2.3     实验3(实用性验证实验)

为了验证所提出的多船舶智能体协同避碰决策模型的实用性 (即是否满足 COLREGS 规则), 搭建随机实验地图和基于实际电子海图的实验地图 (详见 3.1节),构建船舶会遇局面, 执行MSCCADRL 和不引入COLREGS规则的MSCCADRL(以下简称 MSCCADRL/COLREGS),训练船舶智能体避碰模型, 记录船舶智能体每一时间步的位置, 对避碰路径进行可视化分析.

为了有效且清晰地展示结果, 以 3条船的会遇局面为例, 避碰路径如图 3(c) 和 图 3(d) 所示(限于篇幅, 仅分别给出在随机实验地图和基于实际电子海图的实验地图中任一具有代表性的船舶避碰效果), 图3(c1)、3(d1)和图3(c2)、3(d2)分别为MSCCADRL和MSCCADRL/COLREGS的避碰路径可视化效果图. 图3(c)场景 1(随机实验地图)中,MSCCADRL指导红色船舶右转, 绿色船舶和蓝色船舶直行, 其避让方案均符合COLREGS规则要求; 而MSCCADRL/ COLREGS方法中, 红色船舶左转, 绿色船舶和蓝色船舶均右转, 其避让策略都不满足COLREGS规则. 图3(d)场景2(实际电子海图)中, 图3(d1)中两船舶(红色船舶和绿色船舶)均向右转, 其避碰策略满足COLREGS规则, 同时蓝色船舶也安全靠近其目标点; 而图 3(d2)中绿色船舶接近直行, 红色船舶左 转, 不符合 COLREGS 规则要求. 因此, 实验结果表明,MSCCADRL能够规划出满足COLREGS规则的避碰策略, 从而验证了其在船舶会遇局面中的实用性, 为实现船舶智能航行提供了参考.

 3.2.4    实验4(消融实验)

为验证噪音网络和多头注意力机制的有效性, 将MSCCADRL、未融合噪音网络的MSCCADRL(以下简称MSCCADRL/NN)及未融合多头注意力机制的MSCCADRL(以 下 简 称 MSCCADRL/MHAM) 进 行实验. 按照3.1.1节的方法搭建随机实验地图, 分别训练船舶智能体避碰模型, 统计相同episode时的平均 累积奖励值, 进行可视化分析.

平均累积奖励值对比结果如图4所示. 对比奖励曲线可以看出,MSCCADRL平均累积奖励值略高于MSCCADRL/NN 和MSCCADRL/MHAM, 说明噪音网络和多头注意机制能够促进船舶智能体找到更好的避碰策略. 原因可能在于: 噪音扰动增大了船舶智能体动作选择的随机性; 多头注意力机制促进船舶智能体利用最有效信息进行学习, 增强了学习的协同性, 因而获得的奖励值更大. 实验结果分别验证了噪音网络和多头注意力机制的有效性.

图 4    性能评估结果曲线

从上述实验可以看出: 由于本文的MSCCADRL 通过现实消息编码网络提取关键通信数据, 学习交互经验, 充分利用自身局部观测数据(即本船航行数据)及来自周围船舶智能体的通信数据(即他船航行数据),发挥过往经验的作用, 增强了船舶智能体避碰决策的协同性; 同时利用基于噪音网络的现实策略网络, 引入噪音扰动增强了船舶智能体探索能力, 鼓励船舶智能体探索更多的协同避碰样本; 基于多头注意力机制设计现实评价网络, 学习更有利于自己获取更大回报的策略信息, 促进了船舶智能体协同合作, 从而进一步增强了多船避碰的协同性与安全性. 另外, 引入COLREGS规则, 保证了避碰策略的实用性. 结果表明, 所提出的MSCCADRL能够训练所有船舶智能体, 制定相互协同的、靠近目标点且满足 COLREGS规则的安全避碰策略.

4    结  论

本文基于多智能体深度强化学习方法, 针对多船协同避碰问题展开了基础研究. 通过充分考虑周围船舶的航行数据协同决策, 结合船舶避碰特点和注意力推理方法, 设计了记忆驱动的经验学习方法, 并引入噪音网络和多头注意力机制, 共同构建多船舶智能体协同避碰决策模型, 促进了船舶间避碰的协同性, 并保证了其安全性. 另外, 引入COLREGS规则, 增强了避碰策略的实用性, 从而为智能化辅助船舶间的协同避碰提供了新的解决思路.

考虑到船舶避碰过程中不仅受到其他船舶、岛屿、礁石等障碍物的影响, 还会受到天气、风、流等因素的影响, 因此, 未来的研究将考虑更多的船舶避碰决策影响因素; 同时将研究基于船舶通信数据的避碰策略预测方法, 通过对他船策略的预测更好地规划自身避碰策略, 进一步提高船舶避碰决策的安全性和协同性. 另外, 应进行实船实验, 以进一步验证方法的实用性.

本文仅用于学习交流,如有侵权,请联系删除 !!

加 V “人工智能技术与咨询”  了解更多资讯 !!

推荐阅读