一种编队包围的多智能体强化学习方法
文献发布时间:2023-06-19 11:26:00
技术领域
本发明涉及一种编队包围的多智能体强化学习方法。
背景技术
编队包围,又为协作包围,即多无人系统以一定的队形环绕着目标的控制技术,当前被广泛应用于协同巡逻,目标导航,资源定位和自主救援。目前,绝大多数编队包围设计方法都是基于传统的系统模型,例如(陈杨杨;卫平;基于相对位置的分布式编队球形包围追踪未知目标的方法,中国专利,授权,2017-05-03,ZL201710303014.4.)。与此同时,编队包围一旦加入避碰/避障,传统的控制器设计就变得非常困难,究其原因是控制律容易使得无人系统陷入局部平衡点,无法继续完成对目标的编队包围。
强化学习旨在让智能体探索并学习某特定的未知环境,通过奖励函数设置及值函数更新等方法来引导智能体针对特定状态学会决策并做出相应的最优动作,从而获得最大的奖励。这种方法对比以往的控制方法来说,不需要具体且精确地模型,即只要将环境与智能体设定好,便可以通过训练得到理想的结果。强化学习方法在编队包围方面取得一定的进步,但是包围的还只限于静态的圆包围,例如(V.R.Konda and J.N.Tsitsiklis,“Actor-critic algorithms,”in Advances in neural information processing systems,pp.1008–1014,2000.)。实际中无论是水下无人机器人跟踪协作采集海底生物群体,还是无人机协作包围目标,可能是非圆包围(如椭圆),而且要求无人系统环绕目标运动非静止。当前尚缺少同时能实现避碰和参数化简单的包围轨线的编队包围算法。
发明内容
技术问题:本发明的目的是提供一种编队包围的多智能体强化学习方法,该方法简单可靠,适应于障碍环境中的编队包围任务。
技术方案:本发明是一种编队包围多智能体强化学习方法,特别适用避碰要求和简单闭的包围轨线。为了训练出期望的强化学习编队包围算法,先要设定多智能体强化学习环境中的动作空间、状态空间和奖励值函数。接下来就可以通过多智能体强化学习环境提供的智能体的状态、动作和奖励值训练出强化学习编队包围算法。核心思想如下:首先,对智能体在强化学习环境的状态值进行初始化。然后设计一个输入为智能体状态值,输出为动作值的演员神经网络,将初始化的状态值输入该神经网络得出动作值,此时加入些许噪声得到最终的动作值,再将该动作以及状态值输入到强化学习环境中得出下一时刻的状态值及该状态动作下的奖励值。再设计一个以动作值,状态值以及奖励值为输入,动作价值函数为输出的评论家神经网络,将动作值,状态值以及奖励值输入该网络得出动作价值函数。得到的动作价值函数结合奖励值再分别构造演员神经网络与评论家神经网络的损失函数,利用反向传播的计算更新神经网络的权重,再更新的神经网络不断进行以上步骤的重复及训练过程,最终可以得到一个近似收敛到最优值的结果。由此,便完成了这种编队包围多智能体强化学习方法的训练学习过程。
具体的讲:
本发明是一种编队包围的多智能体强化学习方法,不要系统的模型,包围轨线可以是一般的简单闭曲线并且可以实现避碰,特别适用避碰要求和简单闭的包围轨线,该方法包括如下步骤:
a)确定强化学习环境中每个智能体的动作空间、状态空间和奖励函数。
b)设计每个智能体的演员网络和评判家网络结构;
c)由每个智能体的当前状态通过演员网络确定其动作,进而与环境交互得到该动作的奖励值和智能体下一步的状态;
d)由所有智能体的动作、当前和下一步的状态通过评判家网络确定动作-状态价值函数,进而设计损失函数;
e)根据反向传播算法重复步骤c)和d)更新演员和评判家网络中的权值直至期望要求。
其中所述步骤a)包括如下情况:
a1)由智能体的动态确定其在强化学习环境中的状态和动作;
a2)设定目标的动态和障碍物的位置,分别计算智能体到目标的距离和极角,智能体到邻居间的相对距离和相对极角以及智能体到外界障碍物的相对距离;
a3)由任务确定强化学习环境中的奖励函数。
其中所述步骤b)包括如下情况:
b1)设计每个智能体的演员网络全连接层的层数,每层网络神经元的个数以及运用的激励函数。
b2)设计每个智能体的评判家网络全连接层的层数,每层网络神经元的个数以及运用的激励函数。
其中所述步骤c)包括如下情况:
c1)将智能体当前的状态输入演员神经网络确定每个智能体的动作;
c2)将动作输入强化学习环境得到该动作的奖励值和智能体下一步的状态。
其中所述步骤d)包括如下情况:
d1)将所有智能体的动作、当前和下一步的状态输入评判家网络确定动作-状态价值函数;
d2)由动作-状态价值函数和奖励函数设计评论家网络的损失函数。
d3)由动作-状态价值函数和奖励函数设计演员网络的损失函数。
其中所述步骤e)包括如下情况:
e1)根据反向传播算法更新演员网络中的权值直至期望要求;
e2)根据反向传播算法更新评判家网络中的权值直至期望要求。
有益效果:本方法简单有效,不依赖系统的模型,适应于障碍环境中的编队包围任务。
附图说明
图1为编队包围的多智能体强化学习环境示意图;
图2为相对坐标系下椭圆轨迹的智能体位置与角度信息示意图;
图3为演员神经网络的结构示意图;
图4为评论家神经网络的结构示意图;
图5为设计流程图。
以上的图中:其中p
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
图5是本发明的设计流程图,由步骤P1-P5构成,各步骤叙述如下:
1)步骤P1
图1所示的编队包围的多智能体强化学习环境,强化学习环境具体实施步骤如下:
第一步:状态空间s:第i个智能体在惯性坐标系的位置信息
动作空间u:每个智能体受到x和y方向下的两个力f
第二步:通过外设(如摄像头)设定障碍物的位置p
Δφ
其中φ
第三步:设计智能体的奖励函数。
每个智能体的总奖励函数如下:
r
其中k
(1)包围奖励函数:
r
其中ρ
(2)编队奖励函数:
r
其中
(2)角速度奖励函数:
r
其中ω
(3)避碰奖励函数:
其中∈为最小安全距离,
2)步骤P2
步骤P2分别设计每个智能体的演员网络和评判家网络结构。设计按下列步骤实现:
第一步:设计如图3所示的演员神经网络,该网络由三层全连接层构成。第一层的神经元个数为128,全连接层后面接上线性整流函数作为激励函数;第二层的神经元个数为64,全连接层后面同样接上线性整流函数作为激励函数;最后一层的神经元个数为动作值的维度数,全连接层后面接上双曲正切函数作为激励函数。每个智能体都需有一个演员神经网络,输入为相应智能体的状态值,输出为相应智能体的动作值,其中每个智能体只用到自身观测的信息。
第二步:设计如图4所示的评论家网络,该网络由四层全连接层构成。第一层的神经元个数为256,全连接层后面接上线性整流函数作为激励函数;第二层的神经元个数为128,但输入是由第一层全连接层得到的结果与所有智能体的动作值构成,全连接层后面接线性整流函数作为激励函数;第三层的神经元个数为64,全连接层后面接上线性整流函数作为激励函数;最后一层的神经元个数为1,但并未接任何激励函数,因为此动作价值函数需有负数(表示该动作产生了负反馈)。同样的,每个智能体也存在一个评论家神经网络,输入为所有智能体的状态值,输出为评估动作好坏的动作-状态价值函数,由于用到所有智能体的信息。
3)步骤P3
步骤P3将每个智能体的当前状态输入到对应的演员网络得到该智能体的动作,与环境交互得到对应的奖励值和下一步的状态。设计按下列步骤实现:
第一步:将智能体的状态值输入到P2中设计的演员神经网络,得出各智能体的动作值。
第二步:对第一步中得到的动作值加入适当噪声(这里用普通的高斯分布),作用是让智能体可以探索更广的空间。然后将该动作值与状态值带入强化学习环境中交互得出下一时刻的状态及该动作状态下的奖励值。
4)步骤P4
步骤P4将所有智能体的动作、当前和P3中得到的下一步的状态输入评判家网络确定动作-状态价值函数,由得到的动作-状态价值函数和P1中设计的奖励函数分别设计评论家网络和演员网络的损失函数。
第一步:将所有智能体当前状态值和P3中得到的所有智能体的动作值、下一步的状态值以及奖励值输入到P2中设计的评论家神经网络得到该状态动作下的动作-状态价值函数。
第二步:根据得到的动作-状态价值函数以及P1中设计的奖励函数设计评论家网络的损失函数。这里为了使网络的更新稳定,这里对演员和评论家网络都加入了相应的目标网络,目标网络即结构相同,但是更新方式不同。且由更新方式不同可分为硬更新(每过指定数量的训练幕数,目标网络参数更新成与相应网络相同的参数,其他时候不更新)和软更新如下:
即每步都更新,但更新更加缓慢。其中θ
为了保证训练过程中独立和分布式采样,还需要建立一个经验回放的缓存D=(x
首先通过目标演员网络及评论家网络得到现实的动作-状态价值函数:
其中r
其中S为在经验池中选中的样本数,这里的Q则为目标的动作-状态价值函数。
第三步:根据得到的动作-状态价值函数以及P1中设计的奖励函数设计演员网络的损失函数。根据目标的动作-状态价值函数得出更新演员网络用的梯度:
5)步骤P5
步骤P5根据反向传播算法利用P4中得到的损失函数分别更新评判家网络以及演员网络中的权值直至期望要求。
第一步:根据反向传播算法利用P4中得到的损失函数更新评判家网络中的权值直至期望要求。通过对P4第一步中得到的评判家网络的损失函数运用反向传播算法(建立在梯度下降法的基础上)来更新评判家网络中的权值,而相应的评论家网络的目标网络用软更新方法进行更新。将更新权重后的神经网络不断进行以上步骤的重复及训练过程,最终便可以得到一个近似收敛到最优值的结果。
第二步:同样地根据反向传播算法利用P4中得到的损失函数更新演员网络中的权值直至期望要求。通过对P4第二步中得到的演员网络的损失函数运用反向传播算法来更新演员网络中的权值,而相应的演员网络的目标网络用软更新方法进行更新。将更新权重后的神经网络不断进行以上步骤的重复及训练过程,最终便可以得到一个近似收敛到最优值的结果。由此,便完成了这种编队包围多智能体强化学习方法的训练学习过程。
- 一种编队包围的多智能体强化学习方法
- 一种智能体深度强化学习方法及计算机可读介质