一种基于状态动态感知的多智能体合作学习方法技术

技术编号:21548869 阅读:26 留言:0更新日期:2019-07-06 22:01
本发明专利技术公开了一种基于状态动态感知的多智能体合作学习方法,通过自主训练获得协调完成任务目标的多智能体控制系统,步骤如下:对各个智能体分别进行状态编码;对每个智能体构建一个动态感知层对其状态集合进行处理,将动态长度的状态集合映射成固定长度的特征;每个智能体的特征输入到各自带有通信单元的Q值网络,从网络输出中选取具有最大Q值的动作作为决策动作;各智能体将动作执行于环境,从环境中获取反馈奖励后,对所有智能体的动态感知层参数和Q值网络参数进行更新;使用上述框架训练多智能体,获得多智能体合作控制系统。本发明专利技术适用于要求动态数量游戏角色合作完成任务的游戏系统中,可作为游戏中多智能体的人工智能系统。

A Multi-Agent Cooperative Learning Method Based on Dynamic State Perception

【技术实现步骤摘要】
一种基于状态动态感知的多智能体合作学习方法
本专利技术涉及多智能体强化学习
,具体涉及一种基于状态动态感知的多智能体合作学习方法。
技术介绍
多智能体系统是由多个可计算的智能体组成的集合,通过协调具有自主能力的智能体,协同地完成一系列系统动作从而达到预定目标。多智能体系统广泛存在于现实生产生活中,如仓库机器人、工业组装机器人、网络自动化与智能化及分布式智能决策等。特别是在游戏中,多个游戏角色进行合作完成任务目标的情况非常普遍,游戏角色的人工智能系统也极大地影响游戏产品的质量。多智能体强化学习方法在游戏产品中的应用,一方面可以减少人工对人工智能代码的编写,提高游戏的开发效率;另一方面多智能体强化学习具有自学习的特点,能够根据游戏任务目标不断学习提高自身能力,具有较强的鲁棒性。针对多智能体强化学习在游戏中的应用,目前提出的方法主要研究有以下三个方面。第一点是学习框架的研究,即采用集中式的多智能体学习框架,和采用分布式的多智能体学习框架。前者框架简单,但计算量大且集中,后者则通过分布式的计算方式提高计算效率。第二点是信度分配问题,即研究多智能体合作时的各智能体对整体目标的贡献度。第三点是多智能体间的通讯,主要是在分布式多智能体中,各智能体感知信息受限,如何通过学习有效的通信协议,以提高多智能体间的合作能力从而提高整体对目标的贡献。上述的研究对多智能体强化学习在游戏中的应用起到了极大的推动作用。但游戏中的多智能体具有数量变化快的特点。在多智能体参与任务过程中,由于血量和道具等的使用,可以使智能体脱离任务或参与到新任务中;由于智能体的感知域有限,单个智能体空间的变化,也会使其它智能体的感知状态发生变化。在应用多智能体强化学习时,需要对这种动态变化处理成固定的特征,提高算法的稳定性。但过往的技术有的对智能体的数量进行截断,导致丢失部分信息;有的通过人工对动态变化状态进行提取,增加了人工成本投入且扩展性不强;有的则针对各种数量的情况单独训练模型,增加了计算的成本。
技术实现思路
本专利技术的目的是为了解决现有技术中的上述缺陷,提供了一种基于状态动态感知的多智能体合作学习方法,通过设计一个状态动态感知层,将智能体的动态长度状态映射成固定程度的特征,解决多智能体系统中出现的动态长度状态的问题;并且通过带有GRU通信层的Q网络,使动态数量的多智能体能够进行合作学习,通过训练达到完成任务目标的效果。本专利技术的目的可以通过采取如下技术方案达到:一种基于状态动态感知的多智能体合作学习方法,所述的多智能体合作学习方法包括以下步骤:S1、对各个智能体分别进行状态编码,使每一个智能体形成具有动态长度的状态集合;S2、对每个智能体,构建一个动态感知层对其状态集合进行处理,将动态长度的状态集合映射成为固定长度的特征;S3、每个智能体的特征输入到各自带有通信单元的Q值网络,从Q值网络输出中选取具有最大Q值的动作作为决策动作;S4、各智能体将动作执行于环境,从环境中获取反馈奖励后,对所有智能体的动态感知层参数和Q值网络参数进行更新;S5、使用上述框架训练多智能体,从而获得具有完成既定任务目标的多智能体合作控制系统。进一步地,所述的状态编码是对系统中单一实体的状态进行离散化或one-hot编码操作,形成其状态向量,包含有n个智能体的系统中,在某一个时间步t,对于智能体i,所述的状态集合由当前选择的智能体状态环境状态及其它智能体状态三部分组成,即各部分含义如下:1)智能体状态向量由智能体i在时间步t的状态经过状态编码后形成的状态向量;2)环境状态由该智能体i在时间步t感知到的m个环境实体经过状态编码后,将状态向量拼接组成矩阵此处环境实体指在系统中无法控制的实体,指智能体i在时间步t感知范围内的第k个环境实体的状态向量;3)其它智能体状态由该智能体i感知到的l个其它智能体经过状态编码后,将状态向量拼接组成矩阵此处其它智能体指在系统中受控制的实体,指智能体i在时间步t感知范围内的第k个其它智能体的状态向量。进一步地,所述的环境状态的长度m和所述的其它智能体状态的长度l随着智能体i时空的变化发生变化。进一步地,所述的步骤S2中为每一个智能体构建一个动态感知层,所有智能体动态感知层的参数共享,所述的动态感知层包括k个感知核,每个感知核包含映射单元和注意力单元,对于智能体i,在时间步t,每个感知核对状态集合的处理过程分解为以下步骤:S21、使用映射单元的权值矩阵与输入的状态进行以下计算:其中,Wφe和Wφo是映射单元中分别处理和的可学习权值矩阵;S22、使用注意力单元的权值矩阵与输入的状态进行以下计算:其中,Wαe和Wαo是注意力单元中分别处理和的可学习权值矩阵,得到的输出权值和其维度分别与和相同;S23、结合映射单元和注意力单元的输出结果,计算该感知核处理的最终结果:状态集合经过每个感知核后都会输出一个和一个再将所有感知核的两个输出分别进行拼接,从而得到两个k维的向量,分别为环境状态的映射向量以及其它智能体状态的映射向量是智能体自身的映射向量,Wg是对进行映射的可学习权值矩阵,最后将这三个向量进行拼接操作,得到智能体i后续网络的输入特征向量进一步地,每个智能体的Q值网络参数共享,并且所述的Q值网络由三层构成,其中,第一、三层为全连接层,第二层是双向GRU组成的通信层,在时间步t,各智能体的输入特征向量在经过第一层全连接层处理后,按编号顺序依次经过双向GRU进行信息交换后,再各自经过第三层的全连接层,输出所有动作的Q值,从中选取Q值最大的动作作为最后的决策动作。进一步地,所述的步骤S4中,对于智能体i,在某个时间步t接收到状态集合后,得到决策动作并执行于环境,等待所有智能体将选择的动作执行到环境中后,智能体i将获得奖励rti和下一时间步的状态集合将同一时间步的所有智能体的四元组存储在较小的经验缓冲区中;在每一个时间步中,从经验缓冲区中采样预设批大小个时间步的数据,对动态感知层参数和Q值网络参数采用梯度下降法进行更新,整个系统的损失函数为:其中,E[]为期望,γ为衰减因子,Qi(s,a;θ)为智能体i的动态感知层和Q值网络构成的函数,θi表示智能体i的所有可学习参数。进一步地,所述的步骤S5中,在环境中设置一定数量的智能体并设定任务目标后,基于步骤S1-S4建立的学习框架,在与环境的交互中采集数据并对多智能体进行训练,直至达到预定的训练步数或者一定窗口时间内的测试结果差别小于预定阈值,完成多智能体的学习过程。本专利技术相对于现有技术具有如下的优点及效果:本专利技术通过设计一个状态动态感知层,将智能体的动态长度状态映射成固定程度的特征,解决多智能体系统中出现的动态长度状态的问题;并且通过带有GRU通信层的Q网络,使动态数量的多智能体能够进行合作学习,通过训练达到完成任务目标的效果。附图说明图1是本专利技术基于状态动态感知的多智能体合作学习方法的模型框架图;图2是本专利技术中动态感知层中单个感知核的处理流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前本文档来自技高网
...

【技术保护点】
1.一种基于状态动态感知的多智能体合作学习方法,其特征在于,所述的多智能体合作学习方法包括以下步骤:S1、对各个智能体分别进行状态编码,使每一个智能体形成具有动态长度的状态集合;S2、对每个智能体,构建一个动态感知层对其状态集合进行处理,将动态长度的状态集合映射成为固定长度的特征;S3、每个智能体的特征输入到各自带有通信单元的Q值网络,从Q值网络输出中选取具有最大Q值的动作作为决策动作;S4、各智能体将动作执行于环境,从环境中获取反馈奖励后,对所有智能体的动态感知层参数和Q值网络参数进行更新;S5、使用上述框架训练多智能体,从而获得具有完成既定任务目标的多智能体合作控制系统。

【技术特征摘要】
1.一种基于状态动态感知的多智能体合作学习方法,其特征在于,所述的多智能体合作学习方法包括以下步骤:S1、对各个智能体分别进行状态编码,使每一个智能体形成具有动态长度的状态集合;S2、对每个智能体,构建一个动态感知层对其状态集合进行处理,将动态长度的状态集合映射成为固定长度的特征;S3、每个智能体的特征输入到各自带有通信单元的Q值网络,从Q值网络输出中选取具有最大Q值的动作作为决策动作;S4、各智能体将动作执行于环境,从环境中获取反馈奖励后,对所有智能体的动态感知层参数和Q值网络参数进行更新;S5、使用上述框架训练多智能体,从而获得具有完成既定任务目标的多智能体合作控制系统。2.根据权利要求1所述的一种基于状态动态感知的多智能体合作学习方法,其特征在于,所述的状态编码是对系统中单一实体的状态进行离散化或one-hot编码操作,形成其状态向量,包含有n个智能体的系统中,在某一个时间步t,对于智能体i,所述的状态集合由当前选择的智能体状态环境状态及其它智能体状态三部分组成,即各部分含义如下:1)智能体状态向量由智能体i在时间步t的状态经过状态编码后形成的状态向量;2)环境状态由该智能体i在时间步t感知到的m个环境实体经过状态编码后,将状态向量拼接组成矩阵此处环境实体指在系统中无法控制的实体,指智能体i在时间步t感知范围内的第k个环境实体的状态向量;3)其它智能体状态由该智能体i感知到的l个其它智能体经过状态编码后,将状态向量拼接组成矩阵此处其它智能体指在系统中受控制的实体,指智能体i在时间步t感知范围内的第k个其它智能体的状态向量。3.根据权利要求2所述的一种基于状态动态感知的多智能体合作学习方法,其特征在于,所述的环境状态的长度m和所述的其它智能体状态的长度l随着智能体i时空的变化发生变化。4.根据权利要求2所述的一种基于状态动态感知的多智能体合作学习方法,其特征在于,所述的步骤S2中为每一个智能体构建一个动态感知层,所有智能体动态感知层的参数共享,所述的动态感知层包括k个感知核,每个感知核包含映射单元和注意力单元,对于智能体i,在时间步t,每个感知核对状态集合的处理过程分解为以下步骤:S21、使用映射单元的权值矩阵与输入的状态进行以...

【专利技术属性】
技术研发人员:王桂鸿史景伦邓丽张宇
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1