首页> 中国专利> 一种多智能体深度强化学习方法、系统及应用

一种多智能体深度强化学习方法、系统及应用

摘要

本发明公开了一种基于分区经验与多线程交互的多智能体深度强化学习算法。首先,该算法使用分区缓存区的经验重放形式,通过划分奖励空间来区分正面经验、负面经验与中性经验,并在训练时使用分层随机的采样方式抽取这些经验数据。其次,算法运用多线程的交互方式促进了智能体与环境的试错过程,通过智能体的多个克隆体并行的学习并整合它们的学习经验来训练网络模型的参数。优点是:本发明提出的基于缓存区重放与多线程交互的多智能体深度强化学习算法,结合分区经验缓存区及多线程交互方式的优势,引入到多智能体的深度强化学习算法中;在收敛速度与训练效率上均优于现有的模型,在多智能体环境中具有更高的可用性,可用于解决多智能体的协同追踪目标问题。

著录项

  • 公开/公告号CN112801290A

    专利类型发明专利

  • 公开/公告日2021-05-14

    原文格式PDF

  • 申请/专利权人 中国人民解放军陆军工程大学;

    申请/专利号CN202110216405.9

  • 发明设计人 张婷婷;董会;张赛男;

    申请日2021-02-26

  • 分类号G06N3/08(20060101);

  • 代理机构32224 南京纵横知识产权代理有限公司;

  • 代理人何春廷

  • 地址 210014 江苏省南京市秦淮区后标营路88号

  • 入库时间 2023-06-19 10:58:46

说明书

技术领域

本发明涉及一种多智能体深度强化学习方法、系统及应用,属于多智能体技术领域。

背景技术

深度强化学习是一种融合了深度学习(Deep Learning,DL)与强化学习(Reinforcement Learning,RL)的高效策略搜索算法,它利用人工神经网络强大的特征表示能力,使强化学习能够在复杂的高维状态空间中提取数据特征并进行最优行为策略的搜索。目前,DRL的研究成果可应用于多智能体系统,以期实现多智能体间的相互协作、竞争对抗等复杂的作战任务。但是DRL难以适应动态多变的环境,在研究中面临着很多的问题:一是学习效率低:DRL的本质是试错学习过程,通过智能体与环境的不断交互产生学习经验并尽数地存入到缓存区中。由于经验质量的参差不齐,这将导致网络模型难以学习到有效的样本数据;二是训练时间长:随着智能体数量的增加,动作空间呈现指数增长的趋势,决策输出的维度会越来越大。并且,每个智能体的行为决策不仅需要考虑所处环境的状态,还要考虑其它智能体采取的决策对自身策略的影响,这会导致神经网络训练的速度较慢甚至会出现难以收敛的情况。

发明内容

本发明所要解决的技术问题是克服现有技术的缺陷,提供一种多智能体深度强化学习方法、系统及应用。

为解决上述技术问题,本发明提供一种多智能体深度强化学习方法,包括:

获取预先构建的智能体与外界环境交互式时进行动作回馈的奖励函数,根据奖励函数获取整个奖励空间,并依据奖励的属性将奖励空间划分为若干层缓存区;

为每个智能体构建多个克隆体,多个克隆体一一对应多个线程,通过线程获取对应克隆体每次与环境副本进行交互后的样本经验;

汇总所有线程的样本经验;

对于每个所述样本经验,关联它的奖励的属性,并根据奖励的属性将所述样本经验放入对应的缓存区中;

通过分层随机抽样的采样方式从所有缓存区中抽取经验样本,训练多智能体深度强化学习神经网路。

进一步的,通过线程获取对应克隆体每次与环境副本进行交互后的样本经验,具体过程包括:

获取线程中克隆体的环境副本、该线程的神经网络以及该神经网络的初始参数,获取克隆体利用初始参数的神经网络与环境副本交互后的样本经验;根据样本经验更新神经网络的参数,重复样本经验获取过程,直到交互次数的总数到达预先设定的次数。

进一步的,所述缓存区用于存放固定数量的样本经验,当达到预先设定的固定数量后,若有新的样本经验输入时,删除最旧的经验。

进一步的,所述样本经验包括智能体当前状态s、行为a、智能体下一状态s′和通过执行行为a实现从当前状态s转移到下一状态s′得到的奖励值r。

进一步的,所述分层随机抽样中,

每层缓存区的抽样的权重依据每个缓存区内经验的数量占所有缓存区经验的总数的比重进行确定。

进一步的,将训练后的所述多智能体深度强化学习神经网路的参数覆盖所有线程的神经网络的参数。

一种多智能体深度强化学习系统,包括:

划分模块,用于获取预先构建的智能体与外界环境交互式时进行动作回馈的奖励函数,根据奖励函数获取整个奖励空间,并依据奖励的属性将奖励空间划分为若干层缓存区;

克隆模块,用于为每个智能体构建多个克隆体,多个克隆体一一对应多个线程,通过线程获取对应克隆体每次与环境副本进行交互后的样本经验;

汇总模块,用于汇总所有线程的样本经验;

关联模块,用于对于每个所述样本经验,关联它的奖励的属性,并根据奖励的属性将所述样本经验放入对应的缓存区中;

抽取模块,用于通过分层随机抽样的采样方式从放入所述样本经验的所有缓存区中抽取经验样本;

训练模块,用于通过分层随机抽样的采样方式从所有缓存区中抽取经验样本,训练多智能体深度强化学习神经网路。

进一步的,所述克隆模块包括线程处理模块,线程处理模块包括:

获取模块,获取线程中克隆体的环境副本、该线程的神经网络以及该神经网络的初始参数,获取克隆体利用初始参数的神经网络与环境副本交互后的样本经验;

更新模块,用于根据样本经验更新神经网络的参数,重复样本经验获取过程,直到交互次数的总数到达预先设定的次数。

进一步的,所述训练模块包括覆盖模块,用于将训练后的多智能体深度强化学习神经网路的参数覆盖所有线程的神经网络的参数。

一种基于缓存区重放与多线程交互的多智能体深度强化学习方法的应用,应用于多智能体的协同追踪目标。

本发明所达到的有益效果:

本发明提出的基于缓存区重放与多线程交互的多智能体深度强化学习算法,结合分区经验缓存区及多线程交互方式的优势,引入到多智能体的深度强化学习算法中;在收敛速度与训练效率上均优于现有的模型,在多智能体环境中具有更高的可用性,可用于解决多智能体的协同追踪目标问题。

附图说明

图1是缓存区重放的结构图;

图2是分区经验缓存区的结构图;

图3是多线程交互方式的基本框架;

图4是多智能体协同追踪目标的示意图;

图5是集中式信息交互、全信息交互及欠信息交互方式示意图;

图6是面向集中式信息交互的多智能体DRL的奖励值函数曲线图;

图7是面向全信息交互的多智能体DRL的奖励值函数曲线图;

图8是面向欠信息交互的多智能体DRL的奖励值函数曲线图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明公开了一种多智能体深度强化学习方法,包括如下过程:

1.分区缓存区经验重放形式

在一般的多智能体深度强化学习中,智能体通过执行某一行为a实现从一个状态转移s到下一状态s′,并得到奖励值r。而后,将这一状态转移信息e保存于经验重放的缓存区中,该转移信息也被称为训练样本的经验,结构如图1所示。其中,缓存区重放仅存储固定数量的最新经验数据,并且经验重放是一个队列,遵循先进先出原则,即当有新的经验输入时,需删除旧的经验。

本发明基于这种经验缓存区构建了一种分区缓存区的经验重放形式,其核心思想是将经验缓存区划分为K个池,并根据每个池内经验的数量评价每个池的权重。为了创建分区的经验缓存区,首先根据奖励函数R(s,a)获得整个奖励空间G,并依据奖励的属性将奖励空间划分为K层,即:

G={R(s,a)}→G=G

其中,a={a

为每个智能体构建相应的克隆体,多个克隆体一一对应多个线程,并使它们的初始状态与克隆的对象相一致;

将所有克隆体根据其状态转移函数与奖励函数得到状态转移信息e=,将这一状态转移信息作为神经网络训练的样本经验,其中,s为智能体当前状态,a为行为,s′为智能体下一状态,r为通过执行行为a实现从当前状态s转移到下一状态s′得到的奖励值。

对于任意的样本经验e

D

用于训练的样本数据是从这K层缓存区重放中随机抽取组合而成的,它们具有确定的权重{ρ

x

其中,X为所需的训练样本数。通常情况下,K值等于3,即共有三层经验池{D

2智能体的多线程的交互方式

本发明将多线程的交互方式应用于智能体与环境的试错过程中。通过构建多个并行、相互独立的线程加快智能体的试错学习过程,大幅度缩短模型训练所需要的时间。

多线程交互方式的基本框架如图3所示,其核心思想是通过智能体的多个克隆体并行的学习并整合它们所学习的经验于一个共享的神经网络模型中。首先,公共的神经网络结构基于AC架构包含了评论家网络ω(s)和行为者网络π(o),对应的参数记为θ

对于每个线程j中评论家网络的参数

则关于每个线程j的行为者网络参数

公式中,策略π

Q(s,a)=r+γV(s′) (6)

其中,r是环境返回的即时奖励,γ是折扣因子。当线程中的梯度更新累计到T步后,更新全局网络中的参数θ

其中:X是训练样本数,y

其中,π是策略网络,o是观测值。

3基于分区经验与多线程交互的深度强化学习算法

在多智能体深度强化学习中,每个智能体抽取自身的经验数据用于训练各自的网络模型。而神经网络通过最小化损失函数

y=r+γω(s,a

若不对经验数据进行区分,那么每次训练所使用的经验数据其奖励值r很大程度上会相等。本发明将使用分区缓存区的经验重放形式避免这一情况,它能够使每次抽取经验的奖励值r不尽相同,合理地保证评论家网络ω训练的有效性,由此来提高神经网络的收敛速度。

此外,智能体与环境的实时交互需要耗费大量的内存与计算代价,现代,多数硬件设备已经具备了并行化处理复杂计算问题的能力。本发明充分利用这一硬件优势,将多线程机制应用于多智能体的交互学习中。在实际运行中,与单线程的深度强化学习相比,包含J条线程的算法能够成倍的增加智能体探索环境的速度,以此大幅度地缩短了神经网络训练所需要的时间。

相应的本发明还提供一种多智能体深度强化学习系统,包括:

划分模块,用于获取预先构建的智能体与外界环境交互式时进行动作回馈的奖励函数,根据奖励函数获取整个奖励空间,并依据奖励的属性将奖励空间划分为若干层缓存区;

克隆模块,用于为每个智能体构建多个克隆体,多个克隆体一一对应多个线程,每个克隆体的初始状态与其克隆的对象相一致,所述多个线程为多个并行、相互独立的线程,其中,

每个线程的处理过程包括:

获取该线程中克隆体的环境副本、该线程的神经网络以及该神经网络的初始参数,克隆体利用初始参数的神经网络与环境副本进行交互得到样本经验,该线程的交互次数加1,

根据样本经验更新神经网络的参数,利用更新后的神经网络与环境副本进行交互,得到新的样本经验,该线程的交互次数再加1,

以此类推,一直到交互次数的总数到达预先设定的次数为止;

汇总模块,用于汇总所有线程的样本经验;

关联模块,用于对于每个所述样本经验,关联它的奖励的属性,并根据奖励的属性将所述样本经验放入对应的缓存区中;

抽取模块,用于通过分层随机抽样的采样方式从放入所述样本经验的所有缓存区中抽取经验样本;

训练模块,用于将抽取到的经验样本作为多智能体深度强化学习算法的输入,训练神经网络的损失函数,确定多智能体深度强化学习神经网络模型的参数。

所述关联模块包括缓存区重放模块,用于控制缓存区存放固定数量的经验数据,当达到预先设定的固定数量后,若有新的经验输入时,删除最旧的经验。

所述抽取模块包括权重确定模块,用于依据每个缓存区内经验的数量占所有缓存区经验的总数的比重确定每层缓冲区的抽取权重。

所述训练模块包括覆盖模块,用于将多智能体深度强化学习神经网络模型的参数覆盖所有线程的神经网络的参数。

相应的本发明还提供一种基于缓存区重放与多线程交互的多智能体深度强化学习方法的应用,应用于多智能体的协同追踪目标。

本发明结合分区经验缓存区及多线程交互方式的优势,引入到多智能体的深度强化学习算法中,构造了一种基于分区经验与多线程交互的多智能体深度强化学习算法。首先,设置J条线程,即将某个特定的智能体i与环境的初始状态s

基于分区缓存区重放与多线程交互的多智能体深度强化学习算法PBR-MPI)的优点:

本发明所设计的基于分区缓存区重放与多线程交互的多智能体深度强化学习算法具体用于解决多智能体的协同追踪目标问题(Cooperative Target Tracking ofMulti-Agent)。如图4所示,其假定在一定范围的区域内,多个智能体自主协同追捕任务目标。已知被追踪的目标按照事先预定的轨迹移动,而所有智能体具备自主决策行为的能力,能够根据环境的状态信息决策自身的行为。任务要求智能体集群捕获目标所用的时间尽可能的少,且追捕期间必须保证智能体不与障碍物或者其它智能体发生碰撞。在本发明的仿真实验中,该过程在硬件环境为英特尔至强(E52628v3*2,GeForce GTX 1080TI*5,64G内存),操作系统为ubuntu16.04 LTS,仿真工具为PyCharm 2020.1.1x64进行模拟测试。

首先,在测试中,智能体决策行为的目的是为了追捕任务目标。当其执行某一行为后,如果靠近目标,则理应得到合适的正面奖励。但若远离目标,则必须接受处罚(负面奖励)。奖励值的大小取决于智能体i与目标间的相对距离与前一时刻相对距离之差的绝对值Δd

其中,(x

其次,测试环境中存在着若干的障碍物,如果智能体触碰到这些障碍物或与其它智能体发生碰撞,则同样需要接受惩罚。最后,智能体的活动范围是确定的,不允许智能体脱离活动区域,一旦其脱离区域的边界则需要给予很大的惩罚。最终,关于本发明中奖励函数的设定如表1所示:

表1奖励函数的设定表

在上述的测试环境下,评判不同多智能体DRL算法的优劣程度主要涉及两个方面:一是奖励值随训练次数的增加而变化的曲线图,若奖励值越早的趋向于某一特定区间,则说明算法的收敛速度越快。同时,在相同的训练次数内,若奖励值越大,则算法的训练效率越高;二是当模型训练完成后,算法在测试环境下的实际表现。如果搭载特定算法的智能体能够以较短的时间及最少的碰撞追捕到任务目标,则表明算法的性能越优异。

常用的多智能体信息交互方式有集中式信息交互、全信息交互及欠信息交互三种参见图5,其中(a)为集中式信息交互方式;(b)为全信息交互方式;(c)为欠信息交互方式。本发明分别在这三种场景中进行PBR-MPI算法的仿真,以验证提出的PBR-MPI算法的有效性。并另外选取MADDPG、PES-MADDPG的多智能体DRL算法进行对比实验,测试不同的算法在相同测试环境下的性能。其次,另外设置一组实验对完成训练后的三种DRL算法进行协同追踪目标任务,用以评价PBR-MPI算法的整体性能。

为了更加有效的对比不同算法的性能,本发明所涉及到的参数变量尽可能地采用相同的设置。首先,算法中的评论家网络、行为者网络均采用含两层隐藏层的全连接神经网络,每层隐藏层的神经元个数设置为64。其次,网络中均采用梯度下降法优化损失函数,学习率取值为0.001,折扣因子γ取为0.95。训练时每执行20轮作为一个周期T更新一次全局神经网络,而每一轮的终止条件为智能体捕获到目标或训练的步长已达到10000步。并且,在欠信息交互的DRL场景中,智能体所感知的观测信息个数前后可能不一致,但神经网络的输入层通常是固定的。本发明使用欠补足余择优的输入机制克服这个问题,即统一设置输入层的个数,当智能体的观测个数小于该数值,进行额外的补足,当大于该值时,舍弃一部分观测值。在本文所提出的PBR-MPI多智能体算法中,缓存区个数K设置为3,并使用5个线程来加速网络的训练。

此外,在多智能体的追踪任务中智能体个数的选择至关重要。不同的智能体个数会对实验结果产生极大的影响,这主要体现在两个方面:一方面,随着智能体个数的增加完成目标任务的成功率越高。因为智能体的数目越多则它们的执行能力与作战广度越大,且此时对多智能体DRL算法的收敛效果不会产生太大的影响;另一方面,当智能体的个数超过一定的限度时,会给神经网络模型带来难以收敛的情况。由于智能体数目的不断增多,环境状态的空间维度会越来越大,则部分智能体可能无法做出有效的行为决策。本发明综合考虑这两个方面的因素,根据多智能体协同追踪目标问题的测试场景选择智能体的数目为5个,此时可以充分利用智能体数量上的优势,同时对PBR-MPI、MADDPG及PES-MADDPG三种算法的收敛效果影响较小。

本发明通过各个算法在训练过程中的不同阶段平均奖励值变化的曲线,训练完成后分别记录这三种模型达到最大平均奖励值的训练轮数及最大平均奖励值,来评价算法之间的性能。

在图6中,展示了PBR-MPI、MADDPG、PES-MADDPG三种多智能体DRL算法在面向集中式信息交互场景中的奖励值函数曲线。从图中可以得出,PBR-MPI达到最大平均奖励值的训练轮数为6000,最大平均奖励值为385;PES-MADDPG达到最大平均奖励值的训练轮数为7500,最大平均奖励值为300;而MADDPG达到最大平均奖励值的训练轮数为8000,最大平均奖励值为260。最后通过计算可以得到,PBR-MPI的收敛速度比PES-MADDPG快20.0%,比MADDPG快25.0%;PBR-MPI的训练效率比PES-MADDPG高28.3%,比MADDPG高48.1%。

图7为PBR-MPI、MADDPG、PES-MADDPG三种多智能体DRL算法,面向全信息交互场景的奖励值函数曲线图。由图可知,PBR-MPI达到最大平均奖励值的训练轮数为5500,最大平均奖励值为420;PES-MADDPG达到最大平均奖励值的训练轮数为6700,最大平均奖励值为340;而MADDPG达到最大平均奖励值的训练轮数为7500,最大平均奖励值为300。因此,PBR-MPI的收敛速度比PES-MADDPG快17.9%,比MADDPG快26.7%;PBR-MPI的训练效率比PES-MADDPG高23.5%,比MADDPG高40.0%。

而图8是关于PBR-MPI、MADDPG与PES-MADDPG三种多智能体DRL算法面向欠信息交互场景的奖励值函数曲线图。PBR-MPI达到最大平均奖励值的训练轮数为6300,最大平均奖励值为360;PES-MADDPG达到最大平均奖励值的训练轮数为7600,最大平均奖励值为290;MADDPG达到最大平均奖励值的训练轮数为8000,最大平均奖励值为250。通过计算,可以得到PBR-MPI的收敛速度比PES-MADDPG快17.1%,比MADDPG快21.3%;PBR-MPI的训练效率比PES-MADDPG高24.1%,比MADDPG高44.0%。

此外,为了进一步地评估多智能体深度强化学习算法PBR-MPI、MADDPG及PES-MADDPG在测试环境中的实际表现,本发明将完成训练后的模型装载到对应的智能体中,进行协同追踪的目标任务。表2为各个算法在1000次追踪任务中所展示的测试结果,涉及到的指标包括平均碰撞次数、实验失败率、追捕成功率及平均耗费时间。其中每个实验进行的最大时长为5分钟,碰撞次数记录的是智能体与障碍物发生的碰撞次数,实验失败意味着智能体脱离了活动区域或与其它智能体发生了碰撞,追捕成功即智能体成功地完成追踪任务,平均耗费时间为多智能体捕抓到任务目标所耗费的平均时间(单位为秒)。最后,对每个指标进行测评,得到每一项的性能评估值。

由表2中的数据可以得出,PBR-MPI算法相比于MADDPG及PES-MADDPG算法表现出更优的性能。在三种信息交互的测试场景中,PBR-MPI算法的平均碰撞次数最少,实验的失败率最小,并且完成追捕所耗费的时间也相对较短。在集中式信息交互场景中,PBR-MPI算法的性能评估值比MADDPG与PES-MADDPG分别提高了76.1%、21.2%。而在全信息交互场景中,PBR-MPI算法的性能评估值比其它两种多智能体DRL算法提高了77.2%、23.6%。最后,在欠信息交互中,PBR-MPI算法的性能评估值相比于MADDPG与PES-MADDPG分别提升了与85.9%、23.1%。

综上,从图6、图7、图8中的奖励值函数曲线图和通过计算所得到的收敛速度与训练效率增长百分比可以近似得出,本发明所提出的PBR-MPI算法在训练多智能体网络模型的收敛速度上平均提高了21%,在训练效率上平均提升了34%,这有效地证明了新算法的实用性与优越性。同时,根据表2的数据可以得到PBR-MPI算法在综合性能的评估中比其它的多智能深度强化学习算法改善了50%左右,进一步验证了本发明的算法在保证训练效果的前提下,能够取得更优的性能表现。

表2 PBR-MPI、MADDPG与PES-MADDPG算法在不测试场景中的性能表现

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号