一种移动多智能体协同目标搜索方法

文档序号:1252968 发布日期:2020-08-21 浏览:3次 >En<

阅读说明:本技术 一种移动多智能体协同目标搜索方法 (Mobile multi-agent cooperative target searching method ) 是由 陈志� 狄小娟 岳文静 祝驭航 于 2020-04-30 设计创作,主要内容包括:本发明公开了一种移动多智能体协同目标搜索方法,结合AC算法“集中学习,分散执行”的思想对传统DDPG算法进行改进,对Critic的输入进行了拓展,将传统DDPG算法状态行为观测信息多对一的模式改变为一对一;接着对每个智能体采用改进的DDPG算法进行训练,每个智能体在集中学习的过程中Critic输入不仅包含自身的状态行为观测信息,而且也要包括其他智能体的策略以及行为观测信息;最后在所有智能体训练完毕的情况下,每个Actor在不考虑其它智能体的情况下独立执行协同搜索任务,本发明解决了在执行搜索任务时每个智能体状态不断改变引起的环境不稳定、搜索时间长且执行效率低下的问题。(The invention discloses a mobile multi-agent cooperative target searching method, which improves the traditional DDPG algorithm by combining the thought of &#39;centralized learning and decentralized execution&#39; of an AC algorithm, expands the input of Critic and changes the multi-to-one mode of state behavior observation information of the traditional DDPG algorithm into one-to-one mode; secondly, training each agent by adopting an improved DDPG algorithm, wherein the Critic input of each agent in the centralized learning process not only contains the state behavior observation information of each agent, but also contains the strategies and behavior observation information of other agents; and finally, under the condition that all the agents are trained, each Actor independently executes the collaborative search task under the condition that other agents are not considered.)

一种移动多智能体协同目标搜索方法

技术领域

本发明涉及一种移动多智能体协同目标搜索方法,主要利用改进传统DDPG算法设计出更适用于复杂环境的移动多智能体协同控制策略,属于强化学习、多智能体系统和深度学习交叉技术应用领域。

背景技术

在利用智能体进行搜索的这个课题上,早期的多数研究主要是针对静态环境下单智能体的搜索,而不考虑动态环境中多智能体的协同搜索。传统的方法通常是采用随机搜索和规则搜索等。但使用随机搜索需要对环境进行提前了解,然而在现实生活中我们往往并不了解搜索区域的实际信息,所以该方法在大多数情况下也并不可行。而使用规则搜索模式进行搜索,搜索轨迹固定,此时若目标位置是随时变换的,也会大大降低搜索效率。不过随着应用场景的复杂化,目前对多智能体协同搜索的研究已经引起了人们更多的关注。显然,仅仅考虑一些简单的情况是远远不够的,而研究如何使多智能体系统具备更高的自主学习能力,从而适应不同的场景变化,才是当今社会关注的热点问题之一。

多智能体系统实际上是一种复杂的分布式的计算系统,应用范围涉及多个领域,比如机器人系统和分布决策等。而多智能体强化学习又是多智能体系统研究的重点,它通过把强化学习的技术运用到多智能体中,使得多智能体可以解决更多更为复杂的任务。不过,强化学习在多智能体目标搜索中的运用还不多,且考虑到实际环境的复杂性使得强化学习在行为策略的选择上要比一般机器人更为困难。所以结合一些传统的移动多智能体强化学习算法并对其进行优化让智能体具备更高的自主协调能力,从而实现移动智能体对环境更强的适应性,对完成多智能体协同目标搜索任务具有深刻的意义。

发明内容

发明目的:本发明的目的在于弥补实际环境中针对动态环境下多智能体协同搜索问题现有技术的不足,提出了一种移动多智能体协同目标搜索方法。该方法将传统的DDPG算法、AC算法以及DQN算法相结合,解决了传统的强化学习方法如AC算法,DQN等方法在多智能体情况下环境不稳定以及训练效率低下的问题,又避免了所有智能体只能依靠一个中央Critic来获取预测的Q值,但是要训练两个网络导致训练时间过长,(无法适应随机环境)难以在预期时间内完成任务。能够在考虑其他智能体的行为策略的同时,成功地优化多智能体的协同搜索策略,具有良好的实时性和鲁棒性,本发明解决了在执行搜索任务时每个智能体状态不断改变引起的环境不稳定、搜索时间长且执行效率低下的问题。

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

一种移动多智能体协同目标搜索方法,包括以下步骤:

步骤1)给定目标操作域O并将其均匀地划分成相同大小的m×n个栅格区域,每一块栅格的坐标使用其所在区域的中心坐标来表示,设置N个智能体在这m×n个栅格中开始进行搜索,目标数量为S;

步骤2)获取随机的噪声函数Ψ,用θ={θ1,...,θN}表示N个智能体策略的参数,且令所有智能体的策略集合为π={π1,...,πN},动作集合为a=(a1,...,aN),环境状态向量集合为s=(s1,...,sN);则根据各个智能体的Actor网络的输出,有ai=πi(si,θi);

步骤3)通过计算每个智能体的确定性策略来更新各个智能体的Actor网络及其目标网络,具体步骤如下:

步骤3.1)设置智能体i的目标收益(找到目标个数)为J(θi)=E[Ri],则其策略梯度公式为:

所述Ri表示智能体i的目标收益数量总和,θi、ai、πi、si分别表示智能体i的策略参数、动作、策略以及观测到的状态信息,pπ表示状态分布,表示第i个智能体集中式的状态-动作函数,也就是智能体i的Critic网络对Actor网络的实时动作反馈函数;

步骤3.2)接收初始状态s,随机选择执行动作a,根据步骤3.1)中的策略梯度公式进行计算判断当前选择的动作a是否为Critic当前评估最优策略,如果是则将其设置为确定性策略,用(简称μi)来表示,如果不是则重新选择动作再代入步骤3.1)中的策略梯度公式进行计算直到可以获取到确定性策略

步骤4)结合DQN中TD与目标网络思想更新各个智能体的Critic网络及其目标网络,具体步骤如下:

步骤4.1)执行确定性策略动作获取新的目标收益函数策略梯度更新公式:

所述D={s,s′,a1...aN,r1...rN}是一个经验重放缓冲池,包含着所有智能体的历史经验,其中,s′=(s1′,...,sN′)表示采取动作a之前更新的状态向量,ri表示智能体i采取动作ai后获得的即时目标奖励值,表示采用确定性策略情况下第i个智能体集中式的状态-动作值函数;

步骤4.2)在经验缓冲池D进行采样获取表示第i个智能体集中式的状态-动作值对应经验池函数,其用到的参数是从经验池中取出的,故是采取当前最新动作之前的,属于延迟参数,所述γ是折扣因子,决定了未来奖励的重要程度,为具有延迟更新的参数θ′i的目标策略集合,ai'、μi'、si'分别表示智能体i延迟更新的动作、策略以及观测信息;

步骤4.3)通过最小化损失函数来更新步骤4.1)中的目标收益函数策略梯度得到全局最优策略,更新规则为:

所述r={r1,...,rN}表示所有智能体采取动作a后获得的即时目标奖励集合;

步骤5)获取到全局最优策略之后,各智能体独立执行搜索任务。具体搜索规则如下:

步骤5.1)在更智能体进行独立搜索的过程中,时刻计算各个智能体目标收益值总和值,所述J(μi)表示智能体i采取确定性策略μi时所获取到的最佳收益值;

步骤5.2)将步骤5.1)中计算获取得到的目标收益值总和与目标数量S进行比较,若该值大于或者等于S,则表示搜索成功,否则表示搜索失败,返回步骤4)重复往下进行直到搜索成功为止。

优选的,步骤3.2)中确定性策略其实是当时实际采取的动作ai加上了噪声函数Ψ而得到的。

优选的,步骤4.2)中采样获取的Q'其实是多次采样获取的平均值。

优选的,步骤4.2)中折扣因子γ取值为0.8。

本发明相比现有技术,具有以下有益效果:

(1)本发明通过对实际采取的动作添加一定的噪声函数,考虑了实际的光线和背景噪声的干扰,具有良好的实时性和鲁棒性,提高了改进算法的稳定性。

(2)本发明在经验池中进行多次取样求取平均值,并采取最小化损失函数的方法来更新Actor网络,有效避免了经验样本可能过于滞后引起的损失函数差值过大,难以稳定收敛的问题,从而保证获取到的全局最优策略的准确性。

(3)本发明结合AC算法采用集中学习,分散执行的框架。在智能体在训练的过程中,除了要考虑自身所观测到的信息,还要考虑别的智能体的动作和状态等信息。而在训练完毕后各自独立执行。解决了传统的强化学习方法如AC算法,DQN等方法在多智能体情况下环境不稳定以及训练效率低下的问题,又避免了智能体训练时间过长,无法适应随机环境。能够在考虑其他智能体的行为策略的同时,成功地优化多智能体的协同搜索策略。

附图说明

图1是一种移动多智能体协同目标搜索方法流程。

图2是改进DDPG算法集中学习,分散执行思想的框架设计图。

图3是多智能体协同搜索目标仿真模型图。

图4是区域O内智能体的分布图。

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

一种移动多智能体协同目标搜索方法,如图1所示,首先结合AC算法“集中学习,分散执行”的思想对传统DDPG算法进行改进,对Critic的输入进行了拓展,将传统DDPG算法状态行为观测信息多对一的模式改变为一对一;接着对每个智能体采用改进的DDPG算法进行训练,每个智能体在集中学习的过程中Critic输入不仅包含自身的状态行为观测信息,而且也要包括其他智能体的策略以及行为观测信息;最后在所有智能体训练完毕的情况下,每个Actor在不考虑其它智能体的情况下独立执行协同搜索任务,具体包括以下步骤:

步骤1)给定目标操作域O并将其均匀地划分成相同大小的m×n个栅格区域,每一块栅格的坐标使用其所在区域的中心坐标来表示,设置N个智能体在这m×n个栅格中开始进行搜索,目标数量为S;

步骤2)获取随机的噪声函数Ψ,用θ={θ1,...,θN}表示N个智能体策略的参数,且令所有智能体的策略集合为π={π1,...,πN},动作集合为a=(a1,...,aN),环境状态向量集合为s=(s1,...,sN);则根据各个智能体的Actor网络的输出,有ai=πi(sii);

步骤3)通过计算每个智能体的确定性策略来更新各个智能体的Actor网络及其目标网络,具体步骤如下:

步骤3.1)设置智能体i的目标收益(找到目标个数)为J(θi)=E[Ri],则其策略梯度公式为:

所述Ri表示智能体i的目标收益数量总和,θi、ai、πi、si分别表示智能体i的策略参数、动作、策略以及观测到的状态信息,pπ表示状态分布,表示第i个智能体集中式的状态-动作函数,也就是智能体i的Critic网络对Actor网络的实时动作反馈函数;

步骤3.2)接收初始状态s,随机选择执行动作a,根据步骤3.1)中的策略梯度公式进行计算判断当前选择的动作a是否为Critic当前评估最优策略,如果是则将其设置为确定性策略,用(简称μi)来表示,如果不是则重新选择动作再代入步骤3.1)中的策略梯度公式进行计算直到可以获取到确定性策略确定性策略其实是当时实际采取的动作ai加上了噪声函数Ψ而得到的。

步骤4)结合DQN中TD与目标网络思想更新各个智能体的Critic网络及其目标网络,具体步骤如下:

步骤4.1)执行确定性策略动作获取新的目标收益函数策略梯度更新公式:

所述D={s,s′,a1...aN,r1...rN}是一个经验重放缓冲池,包含着所有智能体的历史经验,其中,s′=(s1′,...,sN′)表示采取动作a之前更新的状态向量,ri表示智能体i采取动作ai后获得的即时目标奖励值,表示采用确定性策略情况下第i个智能体集中式的状态-动作值函数;

步骤4.2)在经验缓冲池D进行采样获取表示第i个智能体集中式的状态-动作值对应经验池函数,其用到的参数是从经验池中取出的,故是采取当前最新动作之前的,属于延迟参数,采样获取的Q'其实是多次采样获取的平均值,所述γ是折扣因子,决定了未来奖励的重要程度,折扣因子γ取值为0.8,为具有延迟更新的参数θ′i的目标策略集合,ai'、μi'、si'分别表示智能体i延迟更新的动作、策略以及观测信息;

步骤4.3)通过最小化损失函数来更新步骤4.1)中的目标收益函数策略梯度得到全局最优策略,更新规则为:

所述r={r1,...,rN}表示所有智能体采取动作a后获得的即时目标奖励集合;

步骤5)获取到全局最优策略之后,各智能体独立执行搜索任务。具体搜索规则如下:

步骤5.1)在更智能体进行独立搜索的过程中,时刻计算各个智能体目标收益值总和值,所述J(μi)表示智能体i采取确定性策略μi时所获取到的最佳收益值;

步骤5.2)将步骤5.1)中计算获取得到的目标收益值总和与目标数量S进行比较,若该值大于或者等于S,则表示搜索成功,否则表示搜索失败,返回步骤4)重复往下进行直到搜索成功为止。

仿真

现根据地图将区域O分为8*8个栅格区域,且每一块栅格的坐标使用其所在区域的中心坐标来表示,继而派出8个智能体在这些栅格中开始进行目标搜索(初始分布情况见附图4)目标通常是呈现一定规律进行移动的,其数量为15。同时添加当前环境的噪声函数Ψ,并且用θ={θ1,...,θ8}表示这8个智能体策略相应的参数,同时令所有智能体策略的集合为π={π1,...,π8},动作集合为a=(a1,...,a8),环境状态向量集合为s=(s1,...,s8)。

对这8个智能体在该区域采用改进的DDPG算法进行训练来分别更新其Actor与Critic网络即对应的目标网络(训练模型见附图2)。

首先为这8个智能体每个智能体进行Actor与Critic网络一对一模式的划分(见附图3),Actor接收当前的初始状态s,采取策略π得到一个动作a,继而根据Actor当前的目标函数,一对一的Critic对Actor根据相应的环境状态和动作选择进行评分。如果达到当前最高分则将当前Actor所采取的行为和噪声函数Ψ的和作为确定性策略(简称μi),否则重新制定策略π继续执行知道获取到确定性策略

接下来结合DQN中TD与目标网络思想更新Critic及其目标网络,主要是通过执行确定性策略动作获取新的目标策略梯度更新公式:

D是一个关于智能体之前时刻的状态动作以及奖励的一个经验池,包含着所有智能体的历史经验。表示采用确定性策略情况下第i个智能体集中式的状态-动作值函数,也就是目标预测网络也就是智能体i的Critic网络对Actor网络的实时动作反馈函数。之后在D进行采样获取其对应的延迟集中式的状态-动作值函数该函数所包含参数都是从经验池中取出的,故也都具有延迟性,其中ri表示智能体i获得的即时奖励,γ是折扣因子,决定了未来奖励的重要程度,为目标策略具有延迟更新的参数θ′i的目标策略集合,s′表示滞后更新的状态向量,ai',μi',si'分别表示智能体i滞后更新的动作,策略以及观测信息。最后通过最小化损失函数来更新上面的梯度得到全局最优策略,从而获取到各个智能体对应的目标检测数量统计公式J(μi)。

获取到全局最优策略之后,各智能体独立执行搜索任务。每个智能体进行独立搜索的过程中,需要时刻计算各个智能体目标收益值总和值,同时将该目标收益值总和值与目标数量15进行比较,若该值大于或者等于15,则表示搜索成功,否则表示搜索失败,则需要重新在经验池中继续进行多次采样求取平均值从而获取新的Q'值再重复之后的操作直到搜索成功为止。

本发明解决了传统的强化学习方法如Q-learning,Policy Gradient等方法在多智能体情况下环境不稳定以及梯度方向方差过大的问题,又避免了所有智能体只能依靠一个中央Critic来获取预测的Q值,但是要训练两个网络导致训练时间较长,效率低下,能够在考虑其他智能体的行为策略的同时,成功地优化多智能体的协同搜索策略,具有较好的实时性和鲁棒性。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:业务办理方法、装置、电子设备和介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!