基于深度强化学习的变质量水下航行器避障方法及系统转让专利

申请号 : CN202110240036.7

文献号 : CN113010963B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李沂滨李沐阳缪旭弘魏征尤岳周广礼贾磊庄英豪宋艳

申请人 : 山东大学

摘要 :

本发明公开一种基于深度强化学习的变质量水下航行器避障方法及系统,包括:根据变质量水下航行器的运动状态和执行机构动作构建基于深度强化学习网络的避障仿真模型;将历史避障任务完整轨迹作为专家数据存入经验回放池,根据变质量水下航行器初始运动状态和高斯噪声得到当前执行动作,根据当前执行动作得到新运行状态和当前执行动作的奖励值,并存入经验回放池;根据经验回放池对避障仿真模型进行训练,根据当前训练的执行动作奖励值和历史训练的奖励平均值更新高斯噪声;以迭代训练完成后的基于深度强化学习网络的避障仿真模型得到变质量水下航行器避障任务行驶路径。对基于深度强化学习的DDPG网络模型进行改进,解决水下航行器的避障问题。

权利要求 :

1.一种基于深度强化学习的变质量水下航行器避障方法,其特征在于,包括:根据变质量水下航行器的运动状态和执行机构动作构建基于深度强化学习网络的避障仿真模型;根据所述变质量水下航行器的运动状态构建状态空间,包括变质量水下航行器距水面的垂直距离、距水面中心的水平距离、距水面中心的正弦角和余弦角、距障碍物的距离,变质量水下航行器的姿态角、舵角、艉部推进器的推进力;根据变质量水下航行器的执行机构动作构建动作空间,包括控制变质量水下航行器的艉部推进器推力、艉部水平舵舵角、艉部垂直舵舵角以及重量大小;

基于深度强化学习网络的避障仿真模型包括当前演员网络、当前评论家网络、目标演员网络、目标评论家网络以及经验回放池;根据经验回放池中的经验数据通过当前演员网络和当前评论家网络对网络模型进行训练,以更新目标演员网络、目标评论家网络;还包括奖励函数,奖励函数包括变质量水下航行器上浮时的上浮奖励、变质量水下航行器到达指定区域时的位置奖励、时间惩罚项、变质量水下航行器触碰到地图边界或障碍时的惩罚项以及变质量水下航行器在指定步数内完成避障任务时的奖励项;对于航行器的上浮,定义上浮奖励为t时刻时航行器深度与t+1时刻时航行器深度的差值;针对航行器在水平面上到达指定区域的任务,定义位置奖励为t时刻航行器与水平面中心的距离函数;设置时间惩罚项,当时间步大于500步时,将返回任务结束标志并结束任务;当航行器触碰到地图边界或者障碍时,将返回任务结束标志并结束任务,给予惩罚项;若航行器在指定步数内完成任务,将返回任务结束标志并结束任务,给予奖励项;

将预先获取的历史避障任务完整轨迹作为专家数据存入经验回放池,根据变质量水下航行器初始运动状态和高斯噪声得到当前执行动作,所述当前执行动作为基于当前运动状态,利用当前演员网络及当前高斯噪声计算得到当前应采取的执行动作,根据当前执行动作得到新运动状态和当前执行动作的奖励值,并存入经验回放池;

根据经验回放池对基于深度强化学习网络的避障仿真模型进行训练,根据当前训练的执行动作累积奖励值和历史训练的累积奖励平均值更新高斯噪声;

以迭代训练完成后的基于深度强化学习网络的避障仿真模型得到变质量水下航行器避障任务行驶路径。

2.如权利要求1所述的一种基于深度强化学习的变质量水下航行器避障方法,其特征在于,根据评论家网络的均方差损失函数通过梯度反向传播更新当前评论家网络的参数,根据演员网络的均方差损失函数通过梯度反向传播更新当前评论家网络的参数,根据更新后的当前评论家网络和当前评论家网络的参数通过软更新方法更新目标演员网络和目标评论家网络。

3.如权利要求1所述的一种基于深度强化学习的变质量水下航行器避障方法,其特征在于,根据当前训练的执行动作累积奖励值和历史训练的累积奖励平均值更新高斯噪声包括:若当前训练的执行动作奖励值大于历史训练的奖励平均值,则降低高斯噪声,否则增大高斯噪声;设定高斯噪声上限和高斯噪声下限,采用clip函数确定高斯噪声值,即σm+1=clip(σ'm+1,0.5σ0,2σ0),其中σm+1为第m+1轮训练的高斯噪声,σ0为初始噪声,σ′m+1为中间变量。

4.一种基于深度强化学习的变质量水下航行器避障系统,其特征在于,包括:模型构建模块,被配置为根据变质量水下航行器的运动状态和执行机构动作构建基于深度强化学习网络的避障仿真模型;根据所述变质量水下航行器的运动状态构建状态空间,包括变质量水下航行器距水面的垂直距离、距水面中心的水平距离、距水面中心的正弦角和余弦角、距障碍物的距离,变质量水下航行器的姿态角、舵角、艉部推进器的推进力;根据变质量水下航行器的执行机构动作构建动作空间,包括控制变质量水下航行器的艉部推进器推力、艉部水平舵舵角、艉部垂直舵舵角以及重量大小;

基于深度强化学习网络的避障仿真模型包括当前演员网络、当前评论家网络、目标演员网络、目标评论家网络以及经验回放池;根据经验回放池中的经验数据通过当前演员网络和当前评论家网络对网络模型进行训练,以更新目标演员网络、目标评论家网络;还包括奖励函数,奖励函数包括变质量水下航行器上浮时的上浮奖励、变质量水下航行器到达指定区域时的位置奖励、时间惩罚项、变质量水下航行器触碰到地图边界或障碍时的惩罚项以及变质量水下航行器在指定步数内完成避障任务时的奖励项;对于航行器的上浮,定义上浮奖励为t时刻时航行器深度与t+1时刻时航行器深度的差值;针对航行器在水平面上到达指定区域的任务,定义位置奖励为t时刻航行器与水平面中心的距离函数;设置时间惩罚项,当时间步大于500步时,将返回任务结束标志并结束任务;当航行器触碰到地图边界或者障碍时,将返回任务结束标志并结束任务,给予惩罚项;若航行器在指定步数内完成任务,将返回任务结束标志并结束任务,给予奖励项;

经验获取模块,被配置为将预先获取的历史避障任务完整轨迹作为专家数据存入经验回放池,根据变质量水下航行器初始运动状态和高斯噪声得到当前执行动作,所述当前执行动作为基于当前运动状态,利用当前演员网络及当前高斯噪声计算得到当前应采取的执行动作,根据当前执行动作得到新运动状态和当前执行动作的奖励值,并存入经验回放池;

训练模块,被配置为根据经验回放池对基于深度强化学习网络的避障仿真模型进行训练,根据当前训练的执行动作累积奖励值和历史训练的累积奖励平均值更新高斯噪声;

避障规划模块,被配置为以迭代训练完成后的基于深度强化学习网络的避障仿真模型得到变质量水下航行器避障任务行驶路径。

5.一种电子设备,其特征在于,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1‑3任一项所述的方法。

6.一种计算机可读存储介质,其特征在于,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1‑3任一项所述的方法。

说明书 :

基于深度强化学习的变质量水下航行器避障方法及系统

技术领域

[0001] 本发明涉及水下航行器避障技术领域,特别是涉及一种基于深度强化学习的变质量水下航行器避障方法及系统。

背景技术

[0002] 本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
[0003] 近年来,随着自动控制和人工智能等技术的飞速发展,水下航行器越来越多的被使用在各类水下作业中,负责执行海底航行,勘探调查等多种任务,通过吸水排水控制自身
沉浮的变质量水下航行器的运动较普通的水下航行器更为灵活;然而,海底环境复杂,障碍
物较多,水下航行器与障碍物的碰撞会造成严重的后果,为了提高水下航行器工作的安全
性,增强水下航行器在复杂环境中的智能决策能力,对水下航行器避障算法的研究就显得
尤为重要。水下航行器的非线性动力学模型使得许多线性控制器,如PID控制器的性能下降
严重,即使使用非线性控制器,由于复杂的海底环境,例如海流、波浪带来的干扰,同样难以
获得比较精确的水下航行器的动力学模型。
[0004] 强化学习是机器学习的重要分支,可以通过最大化预期累积奖励使智能体从动态环境中学习到一组最佳策略,强化学习方法主要分为基于模型的方法和无模型的方法。前
者通常使用高斯过程或贝叶斯网络对这类问题进行建模,而无模型的方法则是一种数据驱
动的方法,通过估计价值函数或策略函数来获取最佳的策略。由于水下航行器模型的特殊
性,应选择无模型学习方法对其进行训练。
[0005] 无模型算法可分为三种类型:1)基于价值的方法;2)基于策略的方法;3)演员—评论家方法。基于价值的方法如经典的Q—learning算法通过估算动作—状态对的价值Q(s,
a)学习最佳策略,但其只适用于离散动作空间的特性使得应用范围较窄;基于策略的方法
可以通过网络参数 学习随机策略函数 解决了对连续动作的学习问题,但该算法
需要完整的状态序列,同时单独对策略函数进行迭代更新,不容易收敛;为了解决策略梯度
和价值预测算法的弊端,Konda和Tsitsiklis提出策略和价值相结合的演员—评论家方法,
具有在连续动作空间的良好收敛性,但该算法的良好表现必须基于大量的训练样本。
[0006] 为了解决上述问题,Silver等人开发了一种确定性策略梯度方法DDPG(Deep Deterministic Policy Gradient),该方法被广泛应用于多种任务场景下,可以直接学习
确定性策略μ(s),而不是随机的平稳策略分布π(a|s),但针对变质量水下航行器的避障任
务,该算法还是有其局限性。首先,DDPG算法为了增加学习的覆盖面,会对选择出的动作A增
加一定的噪声N,这有利于训练早期的探索,但在训练后期,演员网络有了比较好的性能后,
这些噪声反而使得演员网络性能下降,甚至导致其无法收敛;其次,DDPG算法并未使用专家
数据,早期训练依赖随机数据,导致其收敛速度较慢。
[0007] 综上,现有的水下航行器存在动作灵活性问题;在构建水下航行器动力学模型的方法中,基于DDPG强化学习控制算法中,探索噪声可能对后期的训练造成负面影响,DDPG是
典型的离线学习算法,其学习的策略是确定性策略,即确定性的演员网络,而探索部分可以
自定义探索噪声,传统方法中将确定性策略加入高斯噪声构成演员网络,虽然有利于智能
体探索更多的动作空间,从而选取到最佳的动作,但演员网络达到较好的性能后,这类噪声
反而会增加动作选择的不确定性,影响网络的性能;最后,DDPG算法在早期训练时经验较
少,经验回放池中存在着大量的随机数据,这会导致演员—评论家网络收敛速度大大降低,
甚至出现无法收敛的情况,存在训练早期随机性过强,导致的收敛速度过慢的问题。

发明内容

[0008] 为了解决上述问题,本发明提出了一种基于深度强化学习的变质量水下航行器避障方法及系统,通过对基于深度强化学习的DDPG网络模型进行改进,解决变质量水下航行
器的避障问题,在对网络模型正式训练前采用专家经验数据进行预训练,以加速训练的收
敛速度,提高收敛成功率,并且引入随训练过程而不断变化的高斯噪声,以探索更多动作空
间。
[0009] 为了实现上述目的,本发明采用如下技术方案:
[0010] 第一方面,本发明提供一种基于深度强化学习的变质量水下航行器避障方法,包括:
[0011] 根据变质量水下航行器的运动状态和执行机构动作构建基于深度强化学习网络的避障仿真模型;
[0012] 将预先获取的历史避障任务完整轨迹作为专家数据存入经验回放池,根据变质量水下航行器初始运动状态和高斯噪声得到当前执行动作,根据当前执行动作得到新运行状
态和当前执行动作的奖励值,并存入经验回放池;
[0013] 根据经验回放池对基于深度强化学习网络的避障仿真模型进行训练,根据当前训练的执行动作奖励值和历史训练的奖励平均值更新高斯噪声;
[0014] 以迭代训练完成后的基于深度强化学习网络的避障仿真模型得到变质量水下航行器避障任务行驶路径。
[0015] 第二方面,本发明提供一种基于深度强化学习的变质量水下航行器避障系统,包括:
[0016] 模型构建模块,被配置为根据变质量水下航行器的运动状态和执行机构动作构建基于深度强化学习网络的避障仿真模型;
[0017] 经验获取模块,被配置为将预先获取的历史避障任务完整轨迹作为专家数据存入经验回放池,根据变质量水下航行器初始运动状态和高斯噪声得到当前执行动作,根据当
前执行动作得到新运行状态和当前执行动作的奖励值,并存入经验回放池;
[0018] 训练模块,被配置为根据经验回放池对基于深度强化学习网络的避障仿真模型进行训练,根据当前训练的执行动作奖励值和历史训练的奖励平均值更新高斯噪声;
[0019] 避障规划模块,被配置为以迭代训练完成后的基于深度强化学习网络的避障仿真模型得到变质量水下航行器避障任务行驶路径。
[0020] 第三方面,本发明提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的
方法。
[0021] 第四方面,本发明提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
[0022] 与现有技术相比,本发明的有益效果为:
[0023] 为了解决变质量水下航行器的避障问题,本发明提出一种基于深度强化学习的变质量水下航行器避障方法,对基于深度强化学习的DDPG网络模型进行改进,针对现有DDPG
中探索噪声可能对后期训练造成负面影响的问题;本发明在每轮训练结束后,计算该轮智
能体得到的累计奖励和过去所有轮次中智能体得到的累计奖励平均值,若前者较大,则认
为演员网络的性能已经超过平均值,应减少噪声大小;反之则应增大噪声的大小,通过引入
随着神经网络训练而不断变化的高斯噪声,变质量水下航行器能在保证神经网络性能的前
提下探索更多动作。
[0024] 针对训练早期随机性过强,导致收敛速度过慢的问题;本发明在正式训练前采用专家经验数据进行预训练,以加速训练的收敛速度,提高收敛成功率。
[0025] 针对变质量水下航行器动作灵活性的问题;本发明的动作空间中除了控制艉部推进器、艉部水平舵以及艉部垂直舵以外,还加入水下航行器的质量,使得水下航行器可以通
过改变自身的重量来操控自身的沉浮,提升其运动的灵活性。
[0026] 本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0027] 构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0028] 图1为本发明实施例1提供的基于深度强化学习的变质量水下航行器避障方法流程图;
[0029] 图2为本发明实施例1提供的水下环境仿真示意图;
[0030] 图3为本发明实施例1提供的变质量水下航行器的运动学模型示意图;
[0031] 图4为本发明实施例1提供的深度强化学习算法的基本要素示意图;
[0032] 图5为本发明实施例1提供的深度强化学习算法的训练过程示意图;
[0033] 图6(a)为本发明实施例1提供的演员网络的网络结构示意图;
[0034] 图6(b)为本发明实施例1提供的评论家网络的网络结构示意图;
[0035] 图7(a)‑7(b)为本发明实施例1提供的变质量航行器避障上浮轨迹示意图;
[0036] 图8(a)‑8(b)为本发明实施例1提供的智能体训练时的奖励曲线图以及任务成功率曲线图。
具体实施方式:
[0037] 下面结合附图与实施例对本发明做进一步说明。
[0038] 应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常
理解的相同含义。
[0039] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式
也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,
意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设
备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过
程、方法、产品或设备固有的其它步骤或单元。
[0040] 在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0041] 实施例1
[0042] 如图1所示,本实施例提供一种基于深度强化学习的变质量水下航行器避障方法,包括:
[0043] S1:根据变质量水下航行器的运动状态和执行机构动作构建基于深度强化学习网络的避障仿真模型;
[0044] S2:将预先获取的历史避障任务完整轨迹作为专家数据存入经验回放池,根据变质量水下航行器初始运动状态和高斯噪声得到当前执行动作,根据当前执行动作得到新运
行状态和当前执行动作的奖励值,并存入经验回放池;
[0045] S3:根据经验回放池对基于深度强化学习网络的避障仿真模型进行训练,根据当前训练的执行动作奖励值和历史训练的奖励平均值更新高斯噪声;
[0046] S4:以迭代训练完成后的基于深度强化学习网络的避障仿真模型得到变质量水下航行器避障任务行驶路径。
[0047] 如图2所示,本实施例搭建了一个大小为50m*50m*50m的水下环境,其中,在坐标(15,15)、(15,35)、(35,15)、(35,35)处有半径为1m、高度为50m的圆柱状障碍物用来模拟水
下的管道系统,水下航行器需要在不碰撞障碍物的前提下到达水面上的圆柱状区域内,该
圆柱状区域的圆心为水面中心,半径为10m,深度为2m。
[0048] 本实施例在仿真中使用了一个长为2.38m,直径为0.32m,初始重量为167kg的变质量水下航行器,在此初始条件下,变质量水下航行器的浮力与重力抵消,处于悬浮状态,变
质量水下航行器可通过吸水达到初始状态1.5倍的重量,或通过排水达到初始状态0.5倍的
重量。
[0049] 如图3所示为本实施例构建的变质量水下航行器的运动学模型,本实施例采用国际水池会议(ITTC)推荐的体系,包括两种坐标系:一种是定系E‑ξηζ,固定于地球;另一个种
是动系G‑xyz,随艇一起运动;以上两种坐标系均为右手系,坐标轴由右手系决定;
[0050] 航行器重心处相对于定系的速度为 在G‑xyz坐标系上沿各个轴可分解为{u,v,w};同理,航行器的角速度 可分解为{p,q,r};航行器所受外力 可分解为{X,Y,Z};力
矩 可分解为{K,M,N};航行器的位置和姿态可在E‑ξηζ坐标系下确定,分别为位置向量{ξ,
η,ζ}以及姿态向量{ψ };根据上述建立的动力学模型,根据水下航行器在t时刻时的动力
学参数,通过四阶龙格库塔法近似计算出水下航行器在t+1时刻的运动状态。
[0051] 本实施例针对变质量水下航行器的避障任务,对基于深度强化学习的DDPG算法进行改进,如图4所示,深度强化学习算法的基本要素包括变质量水下航行器的状态空间s、动
作空间a以及与环境交互时的奖励函数r。
[0052] 具体地,S1‑1:变质量水下航行器的状态空间设计:
[0053] 本实施例针对避障任务选择变质量水下航行器的运动状态的15个观察量组成状态空间,即{obs1,obs2……,obs13,obs15};其中,obs1为航行器距水面的垂直距离;obs2为
航行器距水面中心的水平距离;obs3、obs4、obs5、obs6分别为航行器距水面中心的正弦角
和余弦角;obs7、obs8分别为航行器姿态角 θ;obs9、obs10分别为航行器的舵角;obs11为
航行器艉部推进器的推进力大小;obs12、obs13、obs14、obs15为航行器在上下左右四个方
向上距障碍物或地图边界的距离是否小于危险距离5m;
[0054] 为防止不同量级的观察量对神经网络训练的影响,本实施例对以上所有观察量进行归一化操作,归一化公式为:
[0055]
[0056] S1‑2:变质量水下航行器的动作空间设计:
[0057] 本实施例的变质量水下航行器的执行机构包括艉部推进器、艉部水平舵、艉部垂直舵以及控水阀;根据这些执行机构,选择4个执行动作构建水下航行器的动作空间,即
{act1,act2,act3,act4},其中,act1用于控制航行器艉部推进器推力,act2、act3用于控制
航行器艉部水平舵以及艉部垂直舵的舵角,act4用于控制航行器的重量大小;
[0058] 在动作空间的设计中,本实施例将水下航行器的质量加入到动作空间中。使得水下航行器可以通过改变自身的重量来操控自身的沉浮,提升其运动的灵活性。
[0059] S1‑3:本实施例的基于深度强化学习网络的避障仿真模型还包括奖励函数;由于变质量水下航行器的避障任务包括避障、上浮以及到达指定区域等多个目标,所以,相应的
奖励函数也由多个部分组成,包括航行器的上浮奖励、位置奖励、时间惩罚等,以此构建奖
励函数;
[0060] S1‑3‑1:对于航行器的上浮,定义上浮奖励为t时刻时航行器深度与t+1时刻时航行器深度的差值,即:
[0061] rfloat=clip(dt+1‑dt,‑2,2)      (2)
[0062] 其中,clip函数用于限制单步奖励的值,当单步奖励大于2或小于‑2时,将其奖励修正为2或‑2。
[0063] S1‑3‑2:针对航行器在水平面上到达指定区域的任务,定义位置奖励为t时刻航行器与水平面中心的距离函数,即:
[0064] rdistance=clip(3.5‑dcenter0.3,‑5,5)  (3)
[0065] 其中,dcenter为t时刻航行器与水平面中心的距离。
[0066] S1‑3‑3:为了使航行器尽快完成任务目标,本实施例设置时间惩罚项,当时间步大于500步时,将返回任务结束标志并结束任务,另外,越到任务后期时间惩罚项越大,即:
[0067] rtime=‑0.02*t     (4)
[0068] S1‑3‑4:当航行器触碰到地图边界或者障碍时,将返回任务结束标志并结束任务,同时给予一个较大的惩罚项,即:
[0069]
[0070] S1‑3‑5:若航行器在指定步数内完成任务,将返回任务结束标志并结束任务,同时给予一个较大的奖励项,即:
[0071] rsuccess=200航行器在指定步数内完成了任务     (6)
[0072] S1‑3‑6:综合以上各类奖励,变质量水下航行器的奖励函数为:
[0073] r=rfloat+rdistance+rtime+rmap+rsuccess     (7)
[0074] 其中,rfloat为变质量水下航行器上浮时的上浮奖励,rdistance为变质量水下航行器到达指定区域时的位置奖励,rtime为时间惩罚项,rmap为变质量水下航行器触碰到地图边界
或障碍时的惩罚项,rsuccess为变质量水下航行器在指定步数内完成避障任务时的奖励项。
[0075] 在本实施例中,基于深度强化学习网络的避障仿真模型包括当前演员网络、当前评论家网络、目标演员网络、目标评论家网络以及经验回放池;根据经验回放池中的经验数
据通过当前演员网络和当前评论家网络对网络模型进行训练,以更新目标演员网络、目标
评论家网络,如图5所示,具体包括:
[0076] S3‑1:随机初始化DDPG算法的当前演员网络θ、当前评论家网络w,演员网络及评论家网络的网络结构如图6(a)‑6(b)所示,其隐藏层均为128个神经元;
[0077] 分别赋值给目标演员网络θ′和目标评论家网络w′,即θ′=θ,w′=;当前演员网络的输出值为πθ(s),目标演员网络的输出值为π′θ′(s);当前评论家网络的输出值为Q(s,a,
w),目标评论家网络的输出值为Q′(s,a,w′)。
[0078] S3‑2:初始化训练有关参数;定义训练最大步数step_max=500000,回放经验池最大容载量memory_size=100000,进行批量梯度下降的样本数batch_size=128,预训练步
‑3
数step_pre=1000,目标网络软更新参数τ=5*10 ,奖励折损率γ=0.99。
[0079] S3‑3:神经网络的预训练;本实施例选取10条变质量水下航行器成功完成避障任务的完整轨迹作为专家经验数据,并存入经验回放池中,经验回放池中数据存放的形式为
五元数组{s,a,r,s′,is_end},其中,s′是智能体在状态s下采取动作a后到达的新状态;
[0080] 根据专家经验数据对网络模型进行预训练,将预训练步数设置为step_pre=1000,在预训练过程中,只根据专家经验数据进行学习,而不会与环境进行交互,且经验回
放池不会发生任何变化;
[0081] 预训练过程具体包括:
[0082] a)从经验回放池D中随机抽取batch_size=128个样本{sj,aj,rj,s′j,is_endj},其中,j=1,2……128,由此计算当前目标Q值yj:
[0083]
[0084] 其中,π′θ′(j′)通过目标演员网络计算得到,Q′(j′,′θ′(j′),w′)通过目标评论家网络计算得到。
[0085] b)根据评论家网络的均方差损失函数J(w),通过神经网络的梯度反向传播更新当前评论家网络的所有参数w,其中:
[0086]
[0087] 其中,Q(sj,aj,w)为当前评论家网络的输出值。
[0088] c)根据演员网络的均方差损失函数 通过神经网络的梯度反向传播更新当前评论家网络的所有参数w,其中:
[0089]
[0090] d)通过软更新方法更新目标评论家网络和目标演员网络:
[0091] w′=τw+(1‑τ)w     (11)
[0092] θ′=τθ+(1‑τ)θ     (12)
[0093] 本实施例在正式训练前先使用专家经验数据对演员—评论家网络模型进行预训练,经过预训练的演员—评论家网络模型的收敛速度大大加快,同时提高了收敛成功率。
[0094] S3‑4:经过1000步的预训练后,开始对网络模型进行正式训练,具体步骤如下:
[0095] S3‑4‑1:初始化变质量水下航行器的初始状态;本实施例将变质量水下航行器置于一个离目标区域较远的安全水域内,其艏向角ψ随机,质量恢复为初始质量167kg;
[0096] S3‑4‑2:基于当前运动状态s,通过当前演员网络θ计算得到当前应采取的执行动作a=θ();为了探索更多的动作空间,本实施例引入高斯噪声N(0,σ),即a=πθ(s)+N;
[0097] S3‑4‑3:变质量水下航行器执行动作a,得到新运动状态s′、与环境交互得到的奖励值r,以及任务是否结束的标志is_endj,并将{s,a,r,s′,is_end}存入经验回放池D中;
[0098] 在步骤S3‑4‑3中,当经验回放池D中的经验数大于其最大存储量时,随机丢弃其中的经验数据,直到经验回放池D中的经验数据等于其最大存储量为止,随后更新运动状态,
即s=′。
[0099] S3‑4‑4:采用与预训练的步骤类似的训练过程,依次执行a‑d这四个步骤来更新目标演员网络以及目标评论家网络,若s′是终止状态,则当前轮迭代完毕,转至S3‑4‑1,否则
跳转至S3‑4‑2;
[0100] 但是,与预训练不同是,预训练中随机采集的batch条经验均是专家经验,而正式训练中采集的经验则是变质量水下航行器与环境交互所产生的经验和专家经验的混合经
验。
[0101] 在步骤S3‑4‑2中,高斯噪声N的大小随训练过程而随时改变,具体改变方法如下:完成第m+1轮episode时,计算该轮中航行器所有动作得到的奖励和rtotal(m+1),以及之前m轮
episode中航行器的奖励平均值raverge(m);假设在初始状态时,σ=σ0,在第一以及第二轮训
练时,由于缺乏数据,噪声参数σ为初始值,即σ1=σ2=σ0;第m轮时(m>=2),σ=σm,则第m+1
轮时,高斯噪声的σm+1由以下公式计算:
[0102]
[0103] 其中,σ′m+1为未经过clip函数修正的m+1轮的高斯噪声,是一个中间变量;
[0104] 为了避免噪声过大或过小,本实施例设定噪声上限和噪声下限,采用clip函数限制噪声的大小,公式如下:
[0105] σm+1=clip(σ′m+1,0.5σ0,2σ0)     (14)
[0106] 在每轮训练结束后,比较该轮智能体得到的累计奖励和过去所有轮次中智能体得到的累计奖励平均值;若前者较大,则认为演员网络的性能已经超过了平均值,应减少噪声
大小;反之则应增大噪声的大小;通过引入随着神经网络训练而不断变化的高斯噪声,变质
量水下航行器能在保证神经网络性能的前提下探索更多动作。
[0107] S3‑4‑5:迭代进行上述步骤,直至到达设定的总步骤step_max为止;以迭代训练完成后的基于深度强化学习网络的避障仿真模型得到变质量水下航行器避障任务行驶路径。
[0108] 通过每个episode的奖励收敛情况及水下航行器完成环境任务的成功次数判断算法的控制性能,同时通过每100个episode中水下航行器完成任务的次数计算其成功率,动
态掌握神经网络的性能变化情况。
[0109] 本实施例通过记录仿真环境中水下航行器重心的实时坐标,并在环境中加入障碍物,得到的上浮轨迹如图7(a)‑7(b)所示;如图8(a)‑7(b)所示,通过成功避障上浮至目标区
域的轨迹表现出变质量水下航行器智能体经过训练后能自主地完成任务,且根据其训练过
程中各episode得到的任务环境奖励及其成功率,基于改进的结合专家数据的DDPG变质量
水下航行器自主避障上浮控制算法具有明显较快的收敛性及收敛后的稳定性。
[0110] 实施例2
[0111] 本实施例提供一种基于深度强化学习的变质量水下航行器避障系统,包括:
[0112] 模型构建模块,被配置为根据变质量水下航行器的运动状态和执行机构动作构建基于深度强化学习网络的避障仿真模型;
[0113] 经验获取模块,被配置为将预先获取的历史避障任务完整轨迹作为专家数据存入经验回放池,根据变质量水下航行器初始运动状态和高斯噪声得到当前执行动作,根据当
前执行动作得到新运行状态和当前执行动作的奖励值,并存入经验回放池;
[0114] 训练模块,被配置为根据经验回放池对基于深度强化学习网络的避障仿真模型进行训练,根据当前训练的执行动作奖励值和历史训练的奖励平均值更新高斯噪声;
[0115] 避障规划模块,被配置为以迭代训练完成后的基于深度强化学习网络的避障仿真模型得到变质量水下航行器避障任务行驶路径。
[0116] 此处需要说明的是,上述模块对应于实施例1中所述的步骤,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上
述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
[0117] 在更多实施例中,还提供:
[0118] 一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法。为了简洁,在此不
再赘述。
[0119] 应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程
逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者
该处理器也可以是任何常规的处理器等。
[0120] 存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
[0121] 一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法。
[0122] 实施例1中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读
存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于
存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里
不再详细描述。
[0123] 本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是
软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个
特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范
围。
[0124] 以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、
等同替换、改进等,均应包含在本发明的保护范围之内。
[0125] 上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不
需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。