技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于值函数输入扰动的多无人艇强化学习策略训练方法  >  正文

一种基于值函数输入扰动的多无人艇强化学习策略训练方法

  • 国知局
  • 2024-07-31 22:52:45

本发明属于多无人艇协同导航,具体涉及一种基于值函数输入扰动的多无人艇强化学习策略训练方法。

背景技术:

1、无人艇作为一种智能无人系统,已广泛应用于海上巡逻、海上资源探测、海上救援、海上水质监测等任务。相较于单无人艇,多无人艇因更强的载荷能力,更长的续航时间,更高的容错性被广泛应用于各种复杂的任务。协同导航是多无人艇系统协同完成多任务的关键技术,其有效性直接影响了多无人艇协同完成任务的能力。多无人艇协同导航是指多无人艇系统采取合适的导航策略,使其能够有效地利用有限的时间、空间和可用资源,以最优的方式顺利完成多个任务。

2、近年来,针对多无人艇协同导航问题进行了大量的研究,但是这些研究都依赖于精准的的无人艇模型以及环境的先验知识。由于无人艇是一个非常复杂的高阶非线性系统,无法准确地获得无人艇的动力学模型,且无人艇的运动易受洋流、风和海洋障碍等各种因素的影响,使得多无人艇协同导航更具有挑战性。

3、近几十年来,人工智能特别是深度强化学习的迅速发展,使研究人员将注意力转向多智能体领域,并尝试使用多智能体强化学习方法来解决多智能体领域的复杂问题。由于不需要精确的模型和较强的抗干扰性能,基于多智能体强化学习的多无人艇系统控制方法得到了越来越广泛的关注。但是,将多智能体强化学习应用到多无人艇协同导航上还有许多的问题没有解决。一方面,由于多无人艇系统的部分观测性、对环境探索不足以及采样效率低等问题,使得学习到的导航策略容易陷入局部最优。另一方面,为多无人艇协同导航设计一个合适的奖励函数是相当具有挑战性的,不适当的奖励函数会导致高度不稳定的学习过程,增加海上安全事件的风险。

技术实现思路

1、本发明所要解决的技术问题是针对上述现有技术的不足,提供一种基于值函数输入扰动的多无人艇强化学习策略训练方法,通过在值网络的输入上注入噪声,扰动无人艇对于动作-状态对价值的评估,进一步扰动无人艇的策略,促进了多无人艇系统对于环境的探索,打破局部最优,从而学习到一个更好的导航策略,提高了多无人艇系统导航成功率,缩短了任务完成时间,提出基于差分的奖励函数,正确的指导了多无人艇系统导航策略的学习。

2、为实现上述技术目的,本发明采取的技术方案为:

3、一种基于值函数输入扰动的多无人艇强化学习策略训练方法,包括:

4、步骤1、获取多无人艇系统在执行任务时的状态向量;

5、步骤2、构建无人艇多智能体强化学习模型,所述多智能体强化学习模型包括策略网络、目标策略网络、值网络、目标值网络、经验池、噪声注入模块;

6、步骤3、基于所述状态向量、多智能体强化学习模型,多无人艇系统与环境进行交互,并将交互过程中的数据存储至经验池中,直到经验池存满;

7、步骤4、当经验池存满后,从经验池中采样数据,结合高斯噪声对多智能体强化学习模型进行训练;

8、步骤5、采用训练好的模型指导多无人艇系统进行协同导航。

9、为优化上述技术方案,采取的具体措施还包括:

10、上述的步骤1获取的多无人艇系统在执行任务时的状态向量为s={o1,...,on},其中oi表示的是无人艇i的观测空间,(xi,yi)是无人艇i的位置,是无人艇i的航向角,是无人艇i的激荡速度,是无人艇i的摇摆速度,是无人艇i的角速度,是无人艇i与其余无人艇的相对位置,是无人艇i与任务点的相对位置。

11、上述的步骤2构建的无人艇多智能体强化学习模型,包括对应于每个无人艇的策略网络、目标策略网络、值网络以及目标值网络,均为四层全连接神经网络,

12、所述策略网络用于拟合强化学习中的策略函数,指导无人艇的行动;

13、所述值网络的用于拟合强化学习中的值函数,对无人艇的动作进行评估;

14、所述噪声注入模块用于基于高斯分布进行随机采样,产生高斯噪声。

15、上述的步骤3包括如下子步骤:

16、步骤31、仿真生成多无人艇的状态向量(o1,...,oi,...,on),其中oi表示的是无人艇i的局部观测,oi是在无人艇i的观测空间中采样得到的,oi包括无人艇i的出发位置,无人艇i与其余无人艇的相对位置,无人艇i与任务点的相对位置,无人艇i与障碍物的相对位置,无人艇i的激荡速度、摇摆速度、角速度;

17、步骤32、将无人艇i的局部观测oi输入到无人艇i的策略网络中,策略网络输出无人艇i要执行的动作ai,其中动作通过在多无人艇的动作空间a={a1,...,ai,...,an}中采样得到,其中ai表示的是无人艇i的动作空间,ai=(tiport,tistdb),tiport,tistdb分别表示作用在无人艇i尾部的左舷推进器以及右舷推进器上的推力;

18、步骤33、将多无人艇系统的动作(a1,...,ai,...,an)输入给仿真环境,仿真环境反馈给多无人艇系统下一个状态以及奖励,将(状态、动作、奖励、下一个状态)放入经验池中进行存储;

19、将新的状态输入到多智能体强化学习模型的策略网络中,得到新的动作,多无人艇系统执行新的动作,仿真环境反馈给多无人艇系统新的状态以及奖励,再将交互过程中的(状态、动作、奖励、下一个状态)放入经验池中进行存储;

20、采用上述方式进行多无人艇系统与环境的不断交互,直到回合结束或者多无人艇系统顺利完成多个任务;

21、步骤34、重复上述步骤31-33直到达到设定的与环境交互的回合数。

22、上述的步骤33包括如下子步骤:

23、步骤331、将多无人艇系统的动作(a1,...,ai,...,an)输入给仿真环境,仿真环境根据多无人艇系统的运动学模型更新多无人艇系统的状态,返回给多无人艇系统下一个状态(o'1,...,o'i,...,o'n),并根据奖励函数对多无人艇的动作进行评估,返回给多无人艇系统奖励rt,i;

24、步骤332、对于新的状态(o'1,...,o'i,...,o'n),其中o'i表示的是无人艇i的新的状态,

25、将o'i输入到无人艇i的策略网络中,得到无人艇i要执行的新的动作,无人艇i执行新动作;

26、返回步骤331以进行多无人艇系统与环境的不断交互,直到回合结束或者多无人艇系统顺利完成多个任务;

27、步骤333、将上述交互过程中的(o1,...,on,a1,...,an,rt,1,...,rt,n,o'1,...,o'n)放入经验池中进行存储。

28、上述的步骤331中,无人艇系统的运动学模型表示为

29、其中v是速度矢量,v=(vu,vv,vr)t,vu表示无人艇的激荡速度,vv表示无人艇的摇摆速度,vr表示无人艇的角速度,t表示转置;

30、h是位置矢量,(x,y)表示的是无人艇的位置,表示的是无人艇的航向角;

31、r(h)是旋转矩阵:

32、

33、无人艇的平面动力学方程为

34、其中f是控制力和力矩:

35、tx,ty表示x、y方向的控制力,tn表示控制力矩,tport和tstdb分别表示作用在无人艇尾部左舷推进器以及右舷推进器的推力,l表示无人艇梁的长度;

36、m是质量矩阵,c(v)是科里奥利力和向心矩阵,d(v)是阻尼矩阵;

37、将无人艇的平面运动学方程简化为:

38、速度动力学模型:

39、转向动力学模型:

40、其中表示激荡加速度、表示摇摆加速度、表示角加速度、vu表示激荡速度、vv表示摇摆速度、表示角速度、tx表示控制力,tn表示控制力矩,au、bu是跟无人艇相关的常数项系数,a是一个2乘2的系统矩阵,bc是一个2乘1的控制矩阵,bbias是一个包含偏差项的2乘1的矩阵。

41、上述的步骤331中,仿真环境根据多无人艇系统的奖励函数来反馈给多无人艇系统奖励(rt,1,...,rt,i,...,rt,n),对于多无人艇系统中任意无人艇i时刻t的奖励函数如下所示:

42、

43、

44、其中j表示任务的序号,j={0,1,2,...,m},i表示无人艇的序号,i={0,1,2,...,n},m、n为任务、无人艇的总数;

45、在时刻t,如果无人艇i与其余的无人艇发生碰撞,则否则,

46、在时刻t,如果无人艇i与障碍物发生碰撞,则否则,

47、表示时刻t,无人艇i与任务j之间的欧氏距离;

48、表示时刻t对于任务j与距离它最近的无人艇之间的距离,表示时刻t-1对于任务j与距离它最近的无人艇之间的距离,表示两个相邻时刻的距离差。

49、上述的步骤4包括如下子步骤:

50、步骤41、噪声注入模块基于均值为0,方差为10的高斯分布为每个无人艇采样一个高斯噪声向量表示的是为无人艇i采样的高斯噪声向量;

51、步骤42、当经验池存满之后,从经验池中采集批量数据

52、(o1,...,on,a1,...,an,rt,1,...,rt,n,o'1,...,o'n)

53、,将批量数据中的(o1,a1,...,on,an)以及噪声向量拼接起来,将拼接后的提供给无人艇i的值网络,即

54、步骤43、将(o'1,...,o'i,...,o'n)中的每个o'i,输入到对应无人艇的目标策略网络,得到(a'1,...,a'i,...,a'n),a'i表示的是无人艇i在状态o'i下采取的动作;将提供给无人艇i的目标值网络,得到无人艇i的目标q值,即

55、步骤44、基于最小化损失函数l(qi)来更新每个无人艇的值网络,对于无人艇i的值网络更新如下所示:

56、其中:

57、

58、l(qi)表示无人艇i的损失函数,eo,a,r,o'表示对采样的批量数据取期望,表示受到扰动后的策略,表示受到扰动之后的目标策略,y表示目标值,γ表示折扣因子,表示的是无人艇i集中q值,表示将无人艇j的观测o'j输入到无人艇j的策略网络中得到的动作a'j,rt,i表示时刻t无人艇i的奖励;

59、步骤45、对于无人艇i的策略网络的更新如下所示:

60、

61、其中表示对在策略下得到的期望累积回合奖励关于qi求梯度,eo,a,r,o'表示对采集的批量数据求期望;表示对函数关于qi求梯度,表示无人艇i受扰动的策略函数;表示对函数关于ai求梯度,表示无人艇i的动作值函数;

62、步骤46、采用软更新的方式对目标网络进行更新:

63、θ′i←τθi+(1-τ)θ′i

64、其中θi是更新前无人艇i网络的参数,θ′i是更新后无人艇i网络的参数,0<τ<1为软更新因子;

65、步骤47、重复上述步骤42-步骤46,直到达到最大训练回合数,完成对模型的训练。

66、本发明具有以下有益效果:

67、本发明一种基于值函数输入扰动的多无人艇强化学习策略训练方法,设计一种差分奖励函数,通过计算两个相邻时刻,多无人艇系统距离多任务的距离的差值,有效的反映了多无人艇系统的任务执行情况,正确的指导了多无人艇系统策略的学习,优化了多无人艇系统的轨迹,加快了多无人艇系统的学习速度。

68、本发明通过在每个无人艇值网络的输入上注入噪声,扰动了无人艇的对于动作-状态对价值的评估,进一步扰动无人艇的策略,促进了多无人艇系统对于环境的探索,打破局部最优,从而学习到一个更好的导航策略,使得多无人艇系统以最优的方式顺利完成多个任务。

69、本发明一种基于值函数输入扰动的多无人艇强化学习策略训练方法解决了复杂海洋环境下,多无人艇协同导航问题,不仅可以实现动静态导航任务,并且有效地提升了导航成功率,缩短了任务完成时间。

本文地址:https://www.jishuxx.com/zhuanli/20240730/195136.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。