当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于PPO的多智能体深度强化学习训练方法技术

技术编号:37980200 阅读:7 留言:0更新日期:2023-06-30 09:55
本发明专利技术提出了一种基于PPO的多智能体深度强化学习训练方法,包括:设计智能体的决策动作空间;设计智能体的回报函数;设计多智能体决策网络模型;通过推演线程进行推演,使用经过初始化的多智能体决策网络模型,与智能体所处的环境进行交互,生成回放数据;通过学习进程,使用所述回放数据更新多智能体决策网络模型,完成基于PPO的多智能体深度强化学习训练。本发明专利技术通过对决策空间的特殊处理及动作网络中多头设计,解决了决策空间复杂性问题;对每个智能体的状态处理及动作生成方法的设计,是一种多智能体决策的有效解决方案;使用多进程和多线程结合的训练运行方法,有效提高训练效率。率。率。

【技术实现步骤摘要】
一种基于PPO的多智能体深度强化学习训练方法


[0001]本专利技术涉及一种多智能体深度强化学习训练方法,特别是一种基于PPO的多智能体深度强化学习训练方法。

技术介绍

[0002]人工智能领域中的Partially Observable Markov Decision Processes(POMDP)问题是强化学习领域的重要问题,它的特点是智能体无法确切知道所处环境状态(部分可知),需要通过交互等方式获得观察,并通过观察进行决策。随着深度学习的发展,深度强化学习在一些较为简单的环境(如Atari游戏)中已经获得了几近完美的表现,其中主要包括值函数算法DQN、策略梯度算法Reinforce,以及两者结合的算法DDPG(Deep Deterministic Policy Gradient,深度确定性的策略梯度算法)、A3C(Asynchronous Advantage Actor

critic,异步优势演员

评论家算法)、SAC(Soft Actor

Critic,软演员

评论家算法)、PPO(Proximal Policy Optimization,近端策略优化算法)等。然而,多智能体强化学习一直是强化学习领域的难题。它的难点在于如何对各个智能体进行统筹,根据智能体之间的关系(竞争、合作、独立等),为不同智能体训练出合理的策略。同时,多智能体环境常常伴随着庞大的状态空间和复杂的动作空间,进一步提升了训练的难度。
[0003]解决多智能体问题的两种基本思想是中心化和去中心化:中心化思想,即将所有智能体的状态进行拼接,当成一个整体的单智能体问题解决,进行统一的决策,输出联合最优的策略;去中心化思想,则是对每个智能体分别进行独立的策略生成,并根据各自获得的奖赏信号进行独立的优化。但前者有可扩展性较差的问题,即每个额外的智能体都会给动作空间造成指数级增加;后者又存在非平稳性的缺陷,即每个智能体都会在学习过程中改变自己的策略,且在部分观察状态中的奖赏信号存在误导性。
[0004]综合这两种思想,Centralized Training with De centralized Execution(CTDE)是一个目前被提出并广泛使用的算法范式。该范式下提出了一些值分解算法,将全局的状态值和全局奖赏分解到各个智能体上,如VDN/QMIX在解决离散决策空间的问题上有不错的表现。而基于Actor

Critic框架,也提出了MADDPG(Multi

Agent Deep Deterministic Policy Gradient,多智能体深度确定性的策略梯度算法)和MAPPO(Multi

Agent Proximal Policy Optimization,多智能体近端策略优化算法)算法,它们分别将DDPG和PPO扩展到了多智能体问题上,并获得了不错的效果。
[0005]智能体在游戏环境中的模拟决策是人工智能领域中的一个重要的应用验证场景。
[0006]DeepMind对星际争霸游戏环境中的智能体AI的训练也获得了成功。它使用了A3C的算法,每次中心化的选取一个整体动作和执行的智能体。针对复杂的动作空间,它为每个动作域分别设计网络进行相应输出;针对庞大的状态空间,它对不同类型的状态分别设计编码器进行相应处理。但它局限在于每个时刻只能生成一个动作。

技术实现思路

[0007]专利技术目的:本专利技术所要解决的技术问题是针对现有技术的不足,提供一种基于PPO的多智能体深度强化学习训练方法。
[0008]为了解决上述技术问题,本专利技术公开了一种基于PPO的多智能体深度强化学习训练方法,包括以下步骤:
[0009]步骤1:设计智能体的决策动作空间;
[0010]步骤2:设计智能体的回报函数;
[0011]步骤3:设计多智能体决策网络模型;
[0012]步骤4:通过推演线程进行推演,使用经过初始化的多智能体决策网络模型,与智能体所处的环境进行交互,生成回放数据;
[0013]步骤5:通过学习进程,使用所述回放数据更新多智能体决策网络模型,完成基于PPO的多智能体深度强化学习训练;最终根据所述强化学习训练的结果,反馈给智能体进行决策。
[0014]有益效果:
[0015]本专利技术通过对决策空间的特殊处理,以及动作网络中多头的设计,解决了决策空间复杂性的问题。
[0016]本专利技术对每个智能体的状态处理及动作生成方法的设计,是一种多智能体决策的有效解决方案。
[0017]同时本专利技术使用了多进程和多线程结合的训练运行方法,可以有效提高训练效率。
附图说明
[0018]下面结合附图和具体实施方式对本专利技术做更进一步的具体说明,本专利技术的上述和/或其他方面的优点将会变得更加清楚。
[0019]图1是本专利技术的基于PPO的多智能体深度强化学习训练方法流程图。
[0020]图2是本专利技术状态编码网络的示意图。
[0021]图3是本专利技术智能体决策网络的示意图。
[0022]图4是本专利技术训练结果曲线的示意图。
具体实施方式
[0023]本专利技术一种基于PPO的多智能体深度强化学习训练方法,如图1所示,包括以下步骤:
[0024]步骤1:设计智能体的决策动作空间,包括:
[0025]步骤1.1:对原始动作空间进行处理:将动作序列作为宏动作加入原始动作空间,成为新的决策动作空间;对原始动作空间中,执行前需满足特定条件的动作,用能够直接执行的动作序列进行替换;所述原始动作空间为所述智能体执行的所有动作的集合;原始动作空间为环境默认提供的、能够直接通过环境接口发送并处理的动作集合。
[0026]步骤1.2:设计生成智能体动作掩膜的函数,所述函数的输入为智能体决策时的状态,通过预设方法处理后,输出所有智能体的动作掩膜。
[0027]所述的预设方法分为两部分,即包括:
[0028]根据环境推演规则,对每个智能体在当前状态下不合法的动作进行掩膜;
[0029]根据现有知识进行推理,对每个智能体在当前状态下不适合执行的动作进行掩膜。
[0030]步骤2:设计智能体的回报函数,包括:
[0031]步骤2.1:设计全局回报函数,结局成功即达到预设目标的奖励为1,结局失败即未达到预设目标的奖励为

1,中立结局奖励为0;
[0032]步骤2.2:设计局部回报函数,分为两部分:
[0033]对于行为类型的奖赏,即根据预设目标,对每个智能体在当前状态下鼓励执行的行为进行奖励,不鼓励执行的行为进行惩罚;
[0034]对于行为执行后导致状态变化奖赏,即根据预设方法比较智能体执行动作后的新旧状态,生成对应的奖励或惩罚。
[0035]步骤3:设计多智能体决策网络模型,包括:
[0036]步骤3.1:构建状态编码本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于PPO的多智能体深度强化学习训练方法,其特征在于,包括以下步骤:步骤1:设计智能体的决策动作空间;步骤2:设计智能体的回报函数;步骤3:设计多智能体决策网络模型;步骤4:通过推演线程进行推演,使用经过初始化的多智能体决策网络模型,与智能体所处的环境进行交互,生成回放数据;步骤5:通过学习进程,使用所述回放数据更新多智能体决策网络模型,完成基于PPO的多智能体深度强化学习训练;最终根据所述强化学习训练的结果,反馈给智能体进行决策。2.如权利要求1所述的一种基于PPO的多智能体深度强化学习训练方法,其特征在于,步骤1中所述的设计智能体的决策动作空间,包括:步骤1.1:对原始动作空间进行处理:将动作序列作为宏动作加入原始动作空间,成为新的决策动作空间;对原始动作空间中,执行前需满足特定条件的动作,用能够直接执行的动作序列进行替换;所述原始动作空间为所述智能体执行的所有动作的集合;步骤1.2:设计生成智能体动作掩膜的函数,所述函数的输入为智能体决策时的状态,通过预设方法处理后,输出所有智能体的动作掩膜。3.如权利要求2所述的一种基于PPO的多智能体深度强化学习训练方法,其特征在于,步骤1.2中所述的预设方法分为两部分,即包括:根据环境推演规则,对每个智能体在当前状态下不合法的动作进行掩膜;根据现有知识进行推理,对每个智能体在当前状态下不适合执行的动作进行掩膜。4.如权利要求3所述的一种基于PPO的多智能体深度强化学习训练方法,其特征在于,步骤2中所述的设计智能体的回报函数,包括:步骤2.1:设计全局回报函数,结局成功即达到预设目标的奖励为1,结局失败即未达到预设目标的奖励为

1,中立结局奖励为0;步骤2.2:设计局部回报函数,分为两部分:对于行为类型的奖赏,即根据预设目标,对每个智能体在当前状态下鼓励执行的行为进行奖励,不鼓励执行的行为进行惩罚;对于行为执行后导致状态变化奖赏,即根据预设方法比较智能体执行动作后的新旧状态,生成对应的奖励或惩罚。5.如权利要求4所述的一种基于PPO的多智能体深度强化学习训练方法,其特征在于,步骤3中所述的设计多智能体决策网络模型,包括:步骤3.1:构建状态编码网络,输入当前时刻智能体的状态,生成每个智能体的状态编码和当前状态下的全局编码;所述状态编码网络中的智能体编码模块包括预处理模块和编码网络,预处理模块将智能体的状态信息预处理为向量,编码网络将所述向量处理为编码;使用预处理向量代替智能体的原始状态存储于多智能体决策网络模型的推演轨迹中;步骤3.2:构建状态价值计算网络,输入智能体当前状态下的全局编码,输出当前状态价值;步骤3.3:构建单个智能体的决策网络,对每个智能体的决策动作空间中的每个动作域分别通过对应的决策网络生成动作对数概率,最后通过softmax后生成的概率随机采样输出动作;同时,每个动作域对应的决策网络输出自回归向量,作为下一个动作域决策网络的
输入;步骤3.4:设计多个智能体同时生成动作的方法,对每个当前存在合法动作选择的智能体进行遍历,将步骤3.1中生成的全局编码与状态编码拼接,作为步骤3.3中所述单个智能体的决策网络的输入,生成所述单个智能体的动作;同时,每个智能体的决策网络输出自回归向量,作为下一个智能体的决策网络的输入。6.如权利要求5所述的一种基于PPO的多智能体深度强化学习训练方法,其特征在于,步骤4中所述的推演,采用多进程和多线程的模式,即每个推演进程包含一个以上推演线程,每个推演线程分别独立进行推演。7.如权利要求6所述的一种基于PPO的多智能体深度强化学习训练方法,其特征在于,步骤4中所述的推演,包括:步骤4.1:每轮推演开始前,所有推演线程通过共享字典,获取当前最新的多智能体决策网络模型的参数;步骤4.2:根据预设的更新频率和推演线...

【专利技术属性】
技术研发人员:路通沈彦杰
申请(专利权)人:南京大学
类型:发明
国别省市:

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

1