CN116226662B - 一种多智能体协同强化学习方法、终端及存储介质 - Google Patents
一种多智能体协同强化学习方法、终端及存储介质 Download PDFInfo
- Publication number
- CN116226662B CN116226662B CN202310012741.0A CN202310012741A CN116226662B CN 116226662 B CN116226662 B CN 116226662B CN 202310012741 A CN202310012741 A CN 202310012741A CN 116226662 B CN116226662 B CN 116226662B
- Authority
- CN
- China
- Prior art keywords
- agent
- actor
- agents
- worker
- intelligent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000002787 reinforcement Effects 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000012549 training Methods 0.000 claims abstract description 84
- 238000004088 simulation Methods 0.000 claims abstract description 27
- 230000007613 environmental effect Effects 0.000 claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 77
- 230000003993 interaction Effects 0.000 claims description 54
- 230000009471 action Effects 0.000 claims description 39
- 238000005070 sampling Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 16
- 239000003795 chemical substances by application Substances 0.000 description 259
- 230000006870 function Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 6
- 230000000306 recurrent effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000009916 joint effect Effects 0.000 description 4
- 208000027418 Wounds and injury Diseases 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 208000014674 injury Diseases 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 206010010071 Coma Diseases 0.000 description 2
- 206010073261 Ovarian theca cell tumour Diseases 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 235000003642 hunger Nutrition 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000037351 starvation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 208000001644 thecoma Diseases 0.000 description 2
- 206010035148 Plague Diseases 0.000 description 1
- 241000607479 Yersinia pestis Species 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000021824 exploration behavior Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种多智能体协同强化学习方法、终端及存储介质,方法包括:获取环境参数,构造模拟环境,并根据环境参数以及智能体数目确定学习者智能体;根据任务需求构造对应数量的工作者智能体,并根据任务需求构造对应数量的行动者智能体;其中,每个工作者智能体用于与多个行动者智能体进行交互,每个行动者智能体分别与一个独立的模拟环境交互;获取样本数据,根据样本数据对学习者智能体进行训练,得到训练后的模型参数;通过学习者智能体定期将训练后的模型参数更新到共享内存中,并通过工作者智能体定期从共享内存中更新决策网络的参数,得到强化学习后的策略。本发明提高了多智能体的强化学习过程中的样本利用率及样本数量。
Description
技术领域
本发明涉及神经网络技术领域,尤其涉及的是一种多智能体协同强化学习方法、终端及存储介质。
背景技术
强化学习是一种在线的学习方式。不同于一般的监督学习方法从事先处理好的离线数据样本中进行模型训练,强化学习的训练样本是由智能体与环境的实时交互获得,这种方式使得训练样本的数量及样本多样性都受到了限制。强化学习的训练十分依赖经验样本,样本数量的大小及多样性影响着智能体模型训练的效果及性能。基于以上的原因,诸多面向复杂环境的强化学习算法需要数千万甚至数十亿的经验样本去训练。
多智能体强化学习场景与环境的交互程度进一步复杂化。从局部视角看待,每个智能体依旧通过不断的试错改善自身的策略。而从全局视角看待,该场景下的多个智能体会同时与环境交互,由此产生联合动作,环境不因单个智能体的动作而作出反应,而是基于智能体的联合动作返回给智能体回报,同时进行相应的状态转移。当问题从单智能体扩增至多智能体时,强化学习训练对样本的需求量进一步扩大。样本数据匮乏会导致多智能体模型迭代速度降低及迭代的不稳定性加剧。
由于多智能体博弈对抗环境通常存在着非完全信息的问题,许多多智能体协同算法通过引入循环神经网络缓解非完全信息环境带来的部分可观测信息性问题。例如,单调值函数分解方法就在每个智能体的结构中引入循环神经网络解决非完全信息下的决策问题。但是,循环神经网络的训练需要序列化的数据,这使得多智能体协同算法在采集数据经验时必须收集一条完整的轨迹作为经验样本,即需要收集智能体从一局游戏开始直至一局游戏结束的完整经验轨迹,并存储到经验回放池中。模型需要等待智能体与唯一的环境完成数据采集工作后才能进行策略更新,使得模型的更新在大段时间轮空,整个训练过程进度缓慢,消耗了大量的训练成本。
因此,现有技术还有待改进。
发明内容
本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种多智能体协同强化学习方法、终端及存储介质,以解决多智能体的强化学习过程中的样本利用率低及样本数量匮乏的问题。
本发明解决技术问题所采用的技术方案如下:
第一方面,本发明提供一种多智能体协同强化学习方法,包括:
获取环境参数,构造模拟环境,并根据所述环境参数以及智能体数目确定学习者智能体;
根据任务需求构造对应数量的工作者智能体,并根据所述任务需求构造对应数量的行动者智能体;其中,每个所述工作者智能体用于与多个所述行动者智能体进行交互,每个所述行动者智能体分别与一个独立的模拟环境交互;
获取样本数据,根据所述样本数据对所述学习者智能体进行训练,得到训练后的模型参数;
通过所述学习者智能体定期将所述训练后的模型参数更新到共享内存中,并通过所述工作者智能体定期从所述共享内存中更新决策网络的参数,得到强化学习后的策略。
在一种实现方式中,获取环境参数,构造模拟环境,并根据所述环境参数以及智能体数目确定学习者智能体,之前包括:
基于行动者智能体与工作者智能体的分布式训练算法进行训练,得到样本数据集。
在一种实现方式中,所述基于行动者智能体与工作者智能体的分布式训练算法进行训练,包括:
构造所述模拟环境、所述工作者智能体以及对应的多个所述行动者智能体;
构造多维隐藏变量,根据每个所述行动者智能体传输的观测信息在所述工作者智能体中做出决策,并将决策分别传输给对应的行动者智能体,利用训练数据进行训练。
在一种实现方式中,所述构造多维隐藏变量,包括:
将隐藏状态空间由单维拓展为多维,得到所述多维隐藏变量;
其中,每维分别对应智能体数目、环境数目及时间步个数,维护M个智能体在N个环境下进行长度为T的序列决策时的所有隐藏状态空间。
在一种实现方式中,所述根据每个所述行动者智能体传输的观测信息在所述工作者智能体中做出决策,并将决策分别传输给对应的行动者智能体,包括:
在每个时间步将新的环境状态经由所述行动者智能体传递给所述工作者智能体;
通过所述工作者智能体将所述新的环境状态送入主网络模型进行决策,并将输出的动作信息放回对应的观测信息及动作管道,传给对应的行动者智能体;
将各行动者智能体采集到的整条轨迹通过经验管道传到经验回放中;
从更新的经验回放池中随机采样经验样本,对所述工作者智能体进行策略的迭代更新,直至策略收敛。
在一种实现方式中,所述获取样本数据,根据所述样本数据对所述学习者智能体进行训练,得到训练后的模型参数,包括:
启动所述工作者智能体以及对应的多个行动者智能体,将所述工作者智能体的信息传递至对应的多个行动者智能体,并通过所述工作者智能体的策略网络指导每个所述行动者智能体维护一个独立的模拟环境,并与所述模拟环境进行交互,采集得到所述样本数据;
根据所述样本数据对所述学习者智能体进行训练,得到所述训练后的模型参数。
在一种实现方式中,所述启动所述工作者智能体以及对应的多个行动者智能体,将所述工作者智能体的信息传递至对应的多个行动者智能体,并通过所述工作者智能体的策略网络指导每个所述行动者智能体维护一个独立的模拟环境,并与所述模拟环境进行交互,包括:
通过所述工作者智能体部署多个所述行动者智能体,根据所述环境参数控制每个所述行动者智能体构造对应的模拟环境;
在每个所述行动者智能体得到环境的新状态时,将每个所述行动者智能体的观测信息传输至信息交互管道,并从所述信息交互管道中获取所述工作者智能体的策略决策的动作,控制每个所述行动者智能体与所述模拟环境进行交互;
通过每个所述行动者智能体存储与环境交互的每步信息,在轨迹结束时,将整局的经验传送到样本队列中,供学习者智能体使用。
在一种实现方式中,所述根据所述样本数据对所述学习者智能体进行训练,得到所述训练后的模型参数,包括:
通过所述学习者智能体维护经验回放池、共享内存池以及样本队列;
将多个环境交互产生的样本数据经由所述样本队列传输至所述经验回放池中;
通过所述学习者智能体训练及更新模型参数,并将更新后的模型参数同步至所述共享内存池。
第二方面,本发明还提供一种终端,包括:处理器以及存储器,所述存储器存储有多智能体协同强化学习程序,所述多智能体协同强化学习程序被所述处理器执行时用于实现如第一方面所述的多智能体协同强化学习方法的操作。
第三方面,本发明还提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有多智能体协同强化学习程序,所述多智能体协同强化学习程序被处理器执行时用于实现如第一方面所述的多智能体协同强化学习方法的操作。
本发明采用上述技术方案具有以下效果:
本发明将分布式强化学习与多智能体协同强化学习方法相结合,设计了面向多智能体的行动者-工作者分布式通信算法,通过部署多个交互环境,提高样本的采集速度和模型的训练速度,并在此基础上提出行动者-工作者-学习者分布式异步通信算法,将环境交互与模型迭代过程解耦,提高了多智能体的强化学习过程中的样本利用率及样本数量,进一步提升了样本收集速度、策略迭代速度及智能体的整体性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明的一种实现方式中多智能体协同强化学习方法的流程图。
图2是本发明的一种实现方式中强化学习交互示意图。
图3是本发明的一种实现方式中多智能体强化学习交互示意图。
图4是现有同策略学习与异策略学习示意图。
图5是本发明的一种实现方式中行动者-工作者分布式通信算法示意图。
图6是本发明的一种实现方式中多维隐藏状态示意图。
图7是本发明的一种实现方式中行动者-工作者分布式通信算法流程图。
图8是本发明的一种实现方式中行动者-工作者-学习者分布式异步通信算法示意图。
图9是本发明的一种实现方式中行动者算法示意图。
图10是本发明的一种实现方式中工作者算法示意图。
图11是本发明的一种实现方式中学习者算法示意图。
图12是本发明的一种实现方式中行动者-工作者-学习者分布式异步通信算法流程图。
图13是本发明的一种实现方式中实验平台的示意图。
图14是本发明的一种实现方式中四个实验场景示意图。
图15是本发明的一种实现方式中不同场景下的样本收集速度示意图。
图16是本发明的一种实现方式中不同方法模型的迭代流程示意图。
图17是本发明的一种实现方式中终端的功能原理图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
示例性方法
如图1所示,本发明实施例提供一种多智能体协同强化学习方法,包括以下步骤:
步骤S100,获取环境参数,构造模拟环境,并根据所述环境参数以及智能体数目确定学习者智能体。
在本实施例中采用多智能体协同强化学习方法,提高模型的样本利用率及样本数量,进一步提升了样本收集速度、策略迭代速度及智能体的整体性能;强化学习是一种在线的学习方式。不同于一般的监督学习方法从事先处理好的离线数据样本中进行模型训练,强化学习的训练样本是由智能体与环境的实时交互获得,这种方式使得训练样本的数量及样本多样性都受到了限制,其与环境的交互方式如图2所示。
强化学习通常将马尔科夫决策过程(MDP)作为数学框架。马尔科夫决策过程包含5个要素:
1)环境中的有效状态集合S;
2)智能体可采取的动作集合A;
3)状态转移概率表示从当前状态s采取动作a之后转移到新状态s′的概率;
4)奖励函数表示智能体采取某一动作a,从状态s转移到新状态s′获得的奖励;
5)折扣因子γ,用于计算累计奖励,表示对未来奖励值打一个折扣,通常0≤γ≤1。
强化学习的目标是最大化累计奖励,即让智能体学会使累计奖励最大化的最优策略。策略(Policy)通常用π表示,相当于智能体的大脑,定义了智能体在环境中的行为。策略函数如公式(1-1)所示,为动作集在给定状态S的一个分布,表示在状态s下采取动作a的概率,是动作a的概率密度函数。
π(a|s)=P(At=a|St=s)(1-1)
奖励在强化学习中起着至关重要的作用,累计奖励又称作为回报。在给定策略π时,t时刻的回报为:状态-动作值函数Qπ(st,at)如公式(1-2)所示。状态-动作值函数用于评估智能体遵循策略函数π时在状态st下采取动作at获得的期望回报值。
Qπ(st,at)=E[Ut∣St=st,At=at] (1-2)
将动作A作为随机变量,对状态-动作值函数Qπ(st,at)求期望得到状态值函数Vπ(st),如公式(1-3)所示:
Vπ(st)=EA[Qπ(st,A)] (1-3)
Vπ(st)只与策略π和状态st有关,表示在策略下π时,智能体所处状态st的好坏程度。动作A的概率密度函数为π(·|s),根据期望的定义,可以将上式的期望表示为离散动作和连续动作两种形式,如公式(1-4)、(1-5)所示:
Vπ(st)=EA[Qπ(st,A)]=∫π(a∣st)·Qπ(st,a)da(1-5)
在强化学习中,主要有两种方式让智能体逐渐趋于目标。一是学习出状态-动作值函数Qπ(st,at),根据状态-动作值函数选择具有最大回报值的动作作为下一个动作,按照Q(s,a)=Q(s,a)+α(r+γmaxQ(s′,a′)-Q(s,a)更新Q值,这类方式统称为价值学习;二是学习一个好的策略函数π(a|s)。由策略函数得出采取各动作的概率,再根据概率进行抽样得到最该执行的动作,这类方式统称为策略学习。在深度强化学习中,使用神经网络拟合策略函数或价值函数,将策略或价值函数参数化,再对网络进行优化以调整智能体的行为。
基于两个值函数和策略的定义,发展出来了一系列的强化学习算法。基于值的算法使用一个值的估计Q(s,a;θ)来逼近真实的Q函数。基于Q值的采用MSE来定义目标函数:
之后使用梯度下降函数进行神经网络的更新训练。
深度强化学习中的策略学习方法使用深度神经网络将策略参数化为π(a|s;θ),即π(a|s;θ)≈π(a|s)。网络将观测值作为输入,输出采取各种动作的几率,从而确定某一状态下的最佳行为。根据公式Vπ(st)=EA[Qπ(st,A)]可以得到近似的状态值函数,如公式(1-7)所示:
给定状态s时,策略网络越好,状态值函数值越大,即累积奖励值越大。因此将目标函数定义为J(θ)=ES[V(S;θ)]。策略学习的目标就是使J(θ)最大化。
策略梯度法是这类方法中的基础算法,其核心思想是以使得奖励最大化的方式来更新模型参数。首先在t时刻观测到状态st,从策略网络π(·|st;θt)随机抽样得到动作at,计算动作价值函数qt≈Qπ(st,at);对策略网络进行求导得到梯度dθ,t,对于连续动作需采用蒙特卡洛近似计算策略梯度,如公式(1-8)所示:
之后得到策略梯度蒙特卡洛近似g(at,θt)=qt·dθ,t;最后利用梯度上升更新策略网络的参数,参数的更新公式如公式(1-9)所示,β为学习率:
θt+1=θt+β·g(at,θt)(1-9)
强化学习的训练又十分依赖经验样本,样本数量的大小及多样性影响着智能体模型训练的效果及性能。基于以上的原因,诸多面向复杂环境的强化学习算法需要数千万甚至数十亿的经验样本去训练。
多智能体强化学习场景与环境的交互方式如图3所示,交互程度进一步复杂化。从局部视角看待,每个智能体依旧通过不断的试错改善自身的策略。而从全局视角看待,该场景下的多个智能体会同时与环境交互,由此产生联合动作,环境不因单个智能体的动作而作出反应,而是基于智能体的联合动作返回给智能体回报,同时进行相应的状态转移。
当问题从单智能体扩增至多智能体时,强化学习训练对样本的需求量进一步扩大。样本数据匮乏会导致多智能体模型迭代速度降低及迭代的不稳定性加剧。针对这一问题,本实施例中将分布式强化学习与多智能体协同强化学习方法相结合,设计了面向多智能体的行动者-工作者分布式通信算法,通过部署多个交互环境,提高样本的采集速度和模型的训练速度,并在此基础上提出行动者-工作者-学习者分布式异步通信算法,将环境交互与模型迭代过程解耦,进一步提升了样本收集速度、策略迭代速度及智能体的整体性能。
在强化学习领域,样本利用率低及样本数量匮乏一直是困扰许多研究人员的问题。随着强化学习在各个领域的应用和发展,强化学习方法需要处理的数据变得越来越大、越来越复杂。训练大规模场景及平台往往需要非常久的训练耗时,严重消耗了训练成本。针对这一问题,研究人员在单智能体强化学习的基础上开发出分布式强化学习方向。单智能体分布式强化学习的通用手段是同时开启多个独立进程与环境交互,扩大交互的范围。在具体的技术实现上,可以按照训练框架是否中心化将其分为中心化的分布式强化学习及去中心化的分布式强化学习。中心化的分布式强化学习通常部署多个环境用于交互,一个主网络用于模型更新,这类方法也是当前分布式强化学习的主流方向。
可以大体上将其分为同策略的方法以及异策略的方法,如图4所示。若智能体训练时所采样的经验样本来自当前的目标策略,则将这种方式称为同策略学习。如果强化学习中额外采用一个具有探索性的行为策略与环境交互、收集经验,将经验样本存放至经验回放池中供目标策略进行采样和迭代更新,则称这种方式为异策略学习。
以上所提及的分布式强化学习方法均属于单智能体分布式强化学习。多智能体的分布式强化学习相比单智能体增添了更多挑战,环境本身复杂性的增高使得模型计算更加困难,多智能体环境内的智能体数量增多也使得多智能体模型训练对数据的需求进一步扩大。因为庞大的数据样本才能对环境进行较为全面的刻画,为每个智能体提供有效的学习方向,让智能体对于不稳定的环境有着更深刻的理解进而作出正确的决策。
而从另外一个角度考虑,由于多智能体博弈对抗环境通常存在着非完全信息的问题,许多多智能体协同算法通过引入循环神经网络缓解非完全信息环境带来的部分可观测性问题。例如,单调值函数分解方法就在每个智能体的结构中引入循环神经网络解决非完全信息下的决策问题。但是,循环神经网络的训练需要序列化的数据,这使得多智能体协同算法在采集数据经验时必须收集一条完整的轨迹作为经验样本,即需要收集智能体从一局游戏开始直至一局游戏结束的完整经验轨迹,并存储到经验回放池中。模型需要等待智能体与唯一的环境完成数据采集工作后才能进行策略更新,使得模型的更新在大段时间轮空,整个训练过程进度缓慢,消耗了大量的训练成本。基于以上原因,本实施例中聚焦于实现分布式多智能体协同强化学习方法来改善当前算法所面临的样本数据少及数据实时性差的问题。
本实施例中首先针对数据生成效率低、样本数量匮乏这一问题,提出了面向多智能体的行动者-工作者分布式训练算法。该算法通过与多个环境进行异步通信完成多智能体的数据交互,以较高的效率获取大规模的数据样本量,缓解大规模训练带来成本问题。
在本实施例的一种实现方式中,步骤S100之前包括以下步骤:
步骤S010,基于行动者智能体与工作者智能体的分布式训练算法进行训练,得到样本数据集。
在本实施例中,基于行动者-工作者的多智能体分布式算法训练框架如图5所示。该框架包含一个工作者和多个行动者,工作者维护着算法主网络。每个行动者则是各自维护一个环境,通过多进程中的管道(Pipe)与工作者进行状态和动作的异步通信。
在本实施例的一种实现方式中,步骤S010包括以下步骤:
步骤S011,构造所述模拟环境、所述工作者智能体以及对应的多个所述行动者智能体;
步骤S012,构造多维隐藏变量,根据每个所述行动者智能体传输的观测信息在所述工作者智能体中做出决策,并将决策分别传输给对应的行动者智能体,利用训练数据进行训练。
在本实施例中,每个行动者和工作者之间存在一个观测-动作管道及经验管道。环境会在每个时间步将新的状态经由行动者的观测-动作管道传递给工作者,工作者将状态送入自身的主网络模型进行决策,并将输出的动作信息放回对应的观测-动作管道,传给相应行动者,使其维护的环境进行下一状态,完成之后的交互。同时,在每个行动者在完成一局的数据采集后,该行动者会将采集到的整条轨迹(Trajectory)通过经验管道传到经验回放(Replay Pool)中,此时工作者就从更新的经验回放池中随机采样经验样本,进行策略的迭代更新,直至策略收敛。
在本实施例的一种实现方式中,步骤S012包括以下步骤:
步骤S012a,将隐藏状态空间由单维拓展为多维,得到所述多维隐藏变量;其中,每维分别对应智能体数目、环境数目及时间步个数,维护M个智能体在N个环境下进行长度为T的序列决策时的所有隐藏状态空间;
步骤S012b,在每个时间步将新的环境状态经由所述行动者智能体传递给所述工作者智能体;
步骤S012c,通过所述工作者智能体将所述新的环境状态送入主网络模型进行决策,并将输出的动作信息放回对应的观测信息及动作管道,传给对应的行动者智能体;
步骤S012d,将各行动者智能体采集到的整条轨迹通过经验管道传到经验回放中;
步骤S012e,从更新的经验回放池中随机采样经验样本,对所述工作者智能体进行策略的迭代更新,直至策略收敛。
本实施例在主网络模型引入门控循环单元网络来缓解多智能体博弈中的非完全信息问题。在一般单智能体循环网络中,每个智能体需要维护一个隐藏状态保存历史信息,该历史信息能够辅助网络作出更为准确的序列性决策。然而,当采用环境-主网络多对一的分布式训练架构时,多个环境下的多个智能体之间的历史信息需要进行明确的划分,否则会导致不同环境下的不同智能体对历史信息的误用,从而使得算法性能下降。
本实施例对多智能体分布式强化学习算法中的隐藏状态单元进行了如图6所示的设计,通过将隐藏状态空间由单维拓展为多维,每维分别对应着智能体数目、环境数目及时间步个数,从而维护了M个智能体在N个环境下进行长度为T的序列决策时的所有隐藏状态空间。
在进行以上修正后,基于行动者-工作者的异步通信分布式多智能体协同强化学习算法即可通过部署多个环境,提高样本的采集速度和采集规模。多个行动者的异步交互也进一步降低了样本间的相关性。同时,在该框架下,因为所有的策略更新仅在工作者中迭代完成,每个行动者中仅维护一个单独的环境而不包含模型网络参数,有效降低了大规模模型训练时所占用的计算资源。总体流程图如图7所示,包括以下步骤:
步骤S01a,获取环境参数,构造模拟环境;
步骤S01b,根据环境参数以及智能体数目构建Worker(工作者);
步骤S01c,根据任务所需构造相应数量的Actor(行动者),分别与一个独立的模拟环境交互;
步骤S01d,构造多维隐藏变量,Worker根据每个Actor传输的观测做出决策,并将决策分别传输给Actor,从而进入下一步交互;
步骤S01e,收集数据用于训练Worker。
针对多智能体强化学习对训练样本需求量大的问题,本实施例中提出了基于行动者-工作者的分布式通信算法。该方法通过单网络对多环境的训练框架,扩大了样本的采集范围,提升样本的采集速度及模型的迭代速度。其中,每个次网络包含行动者θ′及评论家w′,主网络包含行动者θ及评论家w,它们具有相同的网络结构。次网络在与环境交互后计算累积该网络下的行动者梯度和评论家梯度:
主网络接收次网络累积的梯度,分别以学习率α和β对行动者θ和评论家w进行梯度更新:
θ←θ-αdθ#(3-3)
w←w-βdw#(3-4)
每隔一段时间,由主网络以参数传递的方式将最新的模型参数同步给每个次网络,指导之后的环境交互。
为了进一步扩大分布式规模,同时引入模型共享的特点,本实施例中在行动者-工作者的基础上引入工作者-学习者层,在工作者-学习者层实现主网络和次网络的模型共享,将行动者-工作者结构扩展为行动者-工作者-学习者结构。此外,在设计工作者-学习者层的模型共享方式时,避免使用次网络向主网络传递梯度的方式,取而代之的是采用由次网络向主网络传递经验样本的方式,这种方式可以将数据采集及模型更新进行解耦。这种解耦方式可以很好地连接上节提出的基于行动者-工作者的异步通信架构,因此本实施例中将基于行动者-工作者的异步通信架构作为底层结构,引入解耦的工作者-学习者结构作为模型共享层。
如图1所示,本发明实施例提供一种多智能体协同强化学习方法,包括以下步骤:
步骤S200,根据任务需求构造对应数量的工作者智能体,并根据所述任务需求构造对应数量的行动者智能体;其中,每个所述工作者智能体用于与多个所述行动者智能体进行交互,每个所述行动者智能体分别与一个独立的模拟环境交互;
步骤S300,获取样本数据,根据所述样本数据对所述学习者智能体进行训练,得到训练后的模型参数。
本实施例在上述解耦架构下,工作者虽然有策略网络,但在训练时只负责决策及样本收集,并不进行梯度的计算和传递,从而避免了梯度冲突问题。在多个行动者通过交互收集到整局的经验样本后,工作者将样本送入多环境共享的经验回放池,由学习者按需从经验回放池中取出经验进行策略的更新。因为行动者维护的多个环境异步交互将数据采集的速度大幅提升,经验回放池的样本能够不间断地更新,使得学习者不需要等待梯度的计算,也无需等待数据的采集,学习者只需不断地取出样本经验进行迭代。这种数据采集和模型迭代互不干扰、异步工作的架构实现了高频率的迭代更新,大幅提高了资源的利用率,是一种高效的训练方法。
在本实施例的一种实现方式中,步骤S300包括以下步骤:
步骤S310,启动所述工作者智能体以及对应的多个行动者智能体,将所述工作者智能体的信息传递至对应的多个行动者智能体,并通过所述工作者智能体的策略网络指导每个所述行动者智能体维护一个独立的模拟环境,并与所述模拟环境进行交互,采集得到所述样本数据;
步骤S320,根据所述样本数据对所述学习者智能体进行训练,得到所述训练后的模型参数。
本实施例中,为了推进训练进一步优化,在模型共享方面,本实施例利用计算机中的共享内存技术将学习者的主网络模型参数定期更新给工作者的次网络,而非参数传递方式。共享内存技术的使用使得本实施例方法在同步模型时避免了数据传输的不稳定性,在提高通信效率的同时降低了通信成本。
基于以上,在行动者-工作者架构上引入了模型共享层的行动者-工作者-学习者整体架构如图8所示,三层结构由下到上分别对应行动者、工作者和学习者。学习者、工作者、行动者三者由上至下,相互配合,完成了模型共享、息传递和样本采集功能。工作者作为中间的过渡层,维护了多个行动者及一个定期与学习者同步的神经网络。工作者在训练开始时会同时开启多个行动者,并与每个行动者进行信息传递。每个行动者维护一个独立的环境,它们在工作者策略网络的指导下与环境进行交互,完成样本采集的工作。
在本实施例的一种实现方式中,步骤S310包括以下步骤:
步骤S311,通过所述工作者智能体部署多个所述行动者智能体,根据所述环境参数控制每个所述行动者智能体构造对应的模拟环境;
步骤S312,在每个所述行动者智能体得到环境的新状态时,将每个所述行动者智能体的观测信息传输至信息交互管道,并从所述信息交互管道中获取所述工作者智能体的策略决策的动作,控制每个所述行动者智能体与所述模拟环境进行交互;
步骤S313,通过每个所述行动者智能体存储与环境交互的每步信息,在轨迹结束时,将整局的经验传送到样本队列中,供学习者智能体使用。
本实施例中,行动者的算法如图9中的算法1所示。行动者根据算法设置的环境参数构造环境,在得到环境的新状态时,将观测信息等送入观测-动作管道(即信息交互管道),并从观测-动作管道中获取工作者策略决策的动作,与环境交互。行动者会存储智能体与环境交互的每步信息,在轨迹结束时,将整局的经验传送到样本队列中,供学习者使用。值得一提的是,为了验证分布式强化学习的有效性,本实施例在算法中将环境交互次数作为统一变量。每个行动者的环境交互次数由总的交互次数对环境数目取平均得到。当行动者完成对应的环境交互次数时,就会关闭环境,停止训练。
在开启训练时,解耦的工作者和学习者异步地进行工作。工作者的算法如图10中的算法2所示。工作者会部署多个行动者,从观测-动作管道中获取观测值,利用定期从共享内存池中同步的策略网络完成决策,再将动作值放入管道传回至行动者。当工作者无法从观测-动作管道中获取新的观测值时,则循环结束。
在本实施例的一种实现方式中,步骤S320包括以下步骤:
步骤S321,通过所述学习者智能体维护经验回放池、共享内存池以及样本队列;
步骤S322,将多个环境交互产生的样本数据经由所述样本队列传输至所述经验回放池中;
步骤S323,通过所述学习者智能体训练及更新模型参数,并将更新后的模型参数同步至所述共享内存池。
在本实施例中,学习者的算法如图11中的算法3所示,学习者维护着经验回放池,共享内存池及样本队列。在开启多个工作者后,便开始进行模型的循环迭代训练。多个环境交互产生的大量样本会经由样本队列送入共享的经验回放池中。学习者会在经验池非空的状态下不间断地模型的训练及更新,并将最新的模型参数同步至共享内存池,让工作者以最新的策略模型去和环境交互得到新的经验样本。当样本队列为空时,意味着没有环境在进行交互,训练就会停止。
基于行动者-工作者-学习者的多智能体分布式强化学习算法由以上三个模块组成。这一架构可以灵活地配置多个行动者和工作者,具有良好的可扩展性。上层的解耦框架将数据采集与模型训练模块分离,增大了数据的吞吐量,提高了模型的迭代效率和GPU的利用率。大规模的环境部署给样本采集速度带来了极大的提升,进一步扩大分布式系统的优势。多个模型和多个环境的异步更新,在策略方面增大了智能体的探索,缓解了强化学习中探索与利用问题。同时减弱了强化学习训练样本的相关性,增加了样本的多样性,从而提高了算法的鲁棒性,其训练过程也更加稳定。
整体的流程图如图12所示,包括以下步骤:
步骤S02a,获取环境参数,构造模拟环境;
步骤S02b,根据环境参数以及智能体数目构建Learner(学习者);
步骤S02c,根据任务所需构造相应数量的Worker(工作者),其中每个Worker负责与多个Actor(行动者)进行交互;
步骤S02d,根据任务所需构造相应数量的Actor,分别与一个独立的模拟环境交互;
步骤S02e,收集数据用于训练Learner;
步骤S02f,Learner定期将最近训练的模型参数更新到共享内存中;
步骤S02g,Worker定期从共享内存中更新决策网络的参数,从而做出更好的决策。
本实施例采用《星际争霸II》(StarCraft II)游戏环境作为实验平台验证基于行动者-工作者-学习者的分布式多智能体协同强化学习方法的有效性。《星际争霸II》是一款由暴雪娱乐公司开发的科幻即时战略游戏。游戏背景围绕人族、虫族和神族三个物种展开,每个种族通过收集资源、建造建筑、组建军队相互竞争、打败敌方军队。作为一款风靡全球的电子游戏,《星际争霸II》拥有自身的职业联赛和大量玩家及粉丝。
《星际争霸II》涉及多人实时战略博弈,拥有多样化的地图和机制且易于评估,因此受到了多智能体强化学习领域研究人员的关注。许多先进的强化学习算法将星际这一游戏作为研究载体,使用SMAC平台对多智能体协同算法进行测试与评估。SMAC(StarCraftMulti-Agent Challenge)是基于《星际争霸II》游戏的多智能体强化学习研究平台。SMAC的开发人员通过机器学习API在强化学习智能体和星际的游戏引擎之间建立连接,使用《星际争霸II》的微场景设计了协作型的多智能体强化学习环境,主要关注智能体的微观操作和分散任务。在SMAC平台上,每个智能体控制一个独立的军事单位,并不涉及宏观策略。SMAC平台旨在评估多智能体模型通过协作解决复杂任务的能力,诸多研究人员已经将SMAC平台看作是多智能体协同强化学习领域的一大基准平台。
SMAC平台拥有可自定义的游戏难度,本实施例实验采用的是等级为7的“非常困难”模式。SMAC平台上的每个场景都是两支军队之间的对抗。每支军队的初始位置、数量和单位类型因场景而异。可以将场景按照对战两方阵型是否相同划分为对称战斗场景及非对称战斗场景,也可以按照对战双方的单位类型划分为同构、异构战斗场景。
如图13所示,同构的每支军队只由单一的单位类型组成,如3m场景下的两只队伍就是由三名Marines组成,8m场景下的两只队伍包含了八名Marines,这两个场景都是同构对称场景。而在异构对称场景中,两边队伍都有不止一个类型的军事单位,如2s3z场景下两边队伍均包含了两名Stalkers和三名Zealots,相较于同构对称场景更难解决。更具挑战性的场景则是非对称场景,这种场景下敌方的单位数量会多于己方。5m_vs_6m就是使用五名Marines对战六名Marine的不对称场景。
如图14所示,本实施例选取了3m、8m、2s3z、5m_vs_6m四个场景作为实验环境。其中,3m同构对称场景、8m同构对称场景及2s3z异构对称场景常被用作多智能体强化学习协同算法的实验场景。在此基础上额外添加了同构非对称场景5m_vs_6m作为补充,表1介绍了四个场景的相关属性信息。
表1场景属性信息
本实施例采用控制变量法,将所有场景的观测、状态、动作及奖励统一设置为平台的预设值,具体设置如下:
1、智能体的局部观测:每个智能体因视野受限仅能接收到非完全的观测信息,其视野范围是半径为9的区域,当其他军事单位进入到某一智能体的视野范围内时,智能体就可以获得视野范围内军事单位的相关属性。观测值以特征向量表示,并且进行了标准化。其中,每个智能体的局部观测向量包含视野内军事单位的相对距离,相对位置坐标,生命值,防御值、单位类型等信息。除此之外,智能体的局部观测也包含了视野内队友的最后行动及周围的地形特征。
2、环境全局状态:全局状态向量了包含地图上所有单位的信息,供集中训练时使用。状态向量包括所有智能体的相对坐标,以及观察到的单位特征。此外,全局状态还储存了医疗直升机的能源、单位的冷却时间及所有智能体的最后行动。状态值同样以特征向量表示且进行了标准化。
3、智能体的动作设置:智能体的动作空间是离散的,包括四个方向(东、西、南、北)的移动、攻击及停止。智能体仅能在射程范围内对敌人进行攻击。根据场景的不同,智能体可以采取的最大动作数也不同。
4、奖励设置:奖励信号与军事单位所受到的生命值伤害相关。游戏中的智能体被期望在战斗中最大化对敌方单位的伤害,同时最小化受到的伤害。因此,伤害敌人、取得游戏胜利会获得积极奖励,伤害队友、取得游戏胜利将会得到消极惩罚。当任何一方军队的所有单位都死亡或达到时间限制时游戏结束,强化学习的总体目标是在每个战斗场景中获得最高的胜率。
四个实验环境下智能体的具体特征信息如表2所示。
表2各场景下智能体的特征信息
本实施例实验所使用的开发环境信息如表3所示:
表3开发环境信息
在实验中选取目前在星际平台的多个场景上达到最优的多智能体协同强化学习算法作为基线算法,在同样的场景设置下,从样本采集速度和性能两方面验证本实施例提出的分布式多智能体协同强化学习算法的先进性。基线算法及本实施例所提出的分布式多智能体协同强化学习算法具体如下:
1、Qmix:原始的Qmix算法,该算法目前在SMAC平台上的多个场景下达到性能最优。
2、AW-Qmix:基于行动者-工作者架构的分布式Qmix算法。
3、AWL-Qmix:基于行动者-工作者-学习者架构的分布式Qmix算法。
本实施例提出的分布式通信算法通过开启多个行动者与环境交互加速样本的采集。基于行动者-工作者的分布式多智能体协同强化学习算法AW-Qmix采用多环境-单网络的框架优化样本的采集速度,基于行动者-工作者-学习者的分布式多智能体协同强化学习算法AWL-Qmix则在此基础上增加了解耦的工作者-学习者结构,进一步扩大了多智能体分布式的优势。
本实施例使用Qmix、AW-Qmix及AWL-Qmix在四个场景下进行训练,为每个方法在同一场景下设置了相同样本收集数量,并记录样本收集的时间,通过计算得到样本的平均收集速度,即每秒收集到的样本数量。如图15所示,可以显式地看出分布式多智能体协同强化学习方法在所有场景下的样本收集速度都取得了极大的提升。
而从表4中的数值可以更加具体地看出,AW-Qmix相较于Qmix方法,样本收集速度在四个场景上分别提升了近1.8、1.6、1.7及2.1倍,而AWL-Qmix则是相较于原始多智能体算法分别提升了近6.6、6.5、7.6及6.4倍。提升倍数的差异可能取决于任务的难易程度及环境的部署数量。但是可以确定的是,当资源足够时,分布式多智能体算法能够通过部署更多的环境获取非常高的样本收集速度,这对多智能体强化学习领域有着重要的意义。
表4样本收集速度对比
实验数据证明了本实施例所提出的算法在样本收集速度上的优越性,但优势不止如此。如图16所示,图16中展示了Qmix、AW-Qmix及AWL-Qmix算法的模型迭代流程。
可以看出,Qmix方法因仅维护了单个环境,使得该方法下多智能体模型的更新需要等到智能体与环境交互完毕后才能够进行,因此训练的速度受到了大幅的限制。而AW-Qmix算法通过开启多个环境并采用异步通信的方式使得模型的更新速度有了小幅度的提升,不同环境的样本异步存储,也使得训练样本更加多样化。与前两个方法相比,AWL-Qmix算法则完全将模型更新与环境交互解耦,模型可以基于大规模更新的样本反复训练。这种解耦框架不仅减少了训练智能体的时间成本,扩大了样本的丰富性,还使得多智能体策略在更短的时间内收敛,更早地获得优异的性能。对此,本实施例进行了进一步的算法性能比较。
本实施例选取了四个场景作为算法性能对比的实验环境,并在上文三个方法的基础上引入反事实多智能体策略梯度算法Coma作为实验的横向对比方法。原始的多智能体协同算法Qmix与Coma对于每个环境仅能开启一个行动者进行交互,分布式多智能体协同算法则是开启多个环境,本实施例在实验中为AW-Qmix方法部署了四个行动者,为AWL-Qmix方法部署了四个工作者,其中每个工作者包含了三个行动者。本实施例根据难易程度为不同的场景设置了不同的环境交互次数。但是对于不同方法采取的是相同的交互次数以此来确保实验的科学性及严谨性。
具体地说,本实施例为3m场景设置了4×104局环境交互,AW-Qmix的每个行动者进行1×104局环境交互,AWL-Qmix的每个行动者则进行了3.33×103局环境交互。可以看出,在该场景下的相同时间步内,AW-Qmix智能体及AWL-Qmix智能体较早地收敛到了最优值,此时Qmix方法仍在波动,并未达到稳定的奖励值。Coma算法虽然较早地趋向收敛,但达到的奖励值较低,性能上处于劣势。由此可以得出,在3m这类简单的多智能体场景下,分布式的多智能体协同强化学习方法相较于普通多智能体协同方法更加稳定也更易收敛,其中AWL-Qmix方法的优势更为明显。
8m场景相较于3m场景增大了智能体的数目,本实施例为其设置了10×104局环境交互,AW-Qmix的每个行动者进行2.5×104局环境交互,AWL-Qmix的每个行动者则进行了8.3×103局环境交互。随着智能体数目的增大,AW-Qmix算法的收敛受到了阻碍,但AWL-Qmix方法仍保持着较优的性能及稳定性。可能存在的原因是当多环境下的同构多智能体数目增多时,环境变得更加复杂,不同环境的经验样本有一定概率包含着冲突信息。AW-Qmix采用了单模型的决策网络结构,且在每个环境收集完样本后进行采样和更新。
当该模型遇到冲突样本时,样本带来的信息可能使得模型朝着不同方向收敛,导致模型需要经过较多的探索才能找到正确的收敛方向。而AWL-Qmix采用的多模型网络及模型共享技术能够让多个决策网络及时更新,各决策网络更新方向一致,从而降低了交互样本间存在冲突的可能性。另外,AWL-Qmix算法借助解耦架构能够在短时间内进行模型的多次迭代,也在一定程度上缓解了样本差异度大带来的冲突问题。因此,这一实验结果也再次证明了解耦架构的有效性。
在异构对称场景2s3z上,本实施例采用了与8m场景相同的环境交互次数。可以看出分布式的AW-Qmix及AWL-Qmix算法在收敛速度及最终性能上略优于单环境的Qmix算法,较大程度地优于Coma算法,这也表明本实施例所提出的分布式方法在异构场景上取得了一定的效果。
非对称的5m_vs_6m场景是本次选取的四个星际场景中对智能体最具挑战性、最为困难的场景,它需要智能体从劣势的状态中学习并击败敌方。本实施例在实验上为此场景的四种方法分别设置了5×105次、5×105次、1.25×105次、及4.17×104次交互次数。可以看出,Coma算法在这种困难场景上难以击败敌方,而AWL-Qmix方法相比于其他三种方法在奖励和胜率曲线上都取得了较大的优势。
本实施例通过上述技术方案达到以下技术效果:
本实施例将分布式强化学习与多智能体协同强化学习方法相结合,设计了面向多智能体的行动者-工作者分布式通信算法,通过部署多个交互环境,提高样本的采集速度和模型的训练速度,并在此基础上提出行动者-工作者-学习者分布式异步通信算法,将环境交互与模型迭代过程解耦,提高了多智能体的强化学习过程中的样本利用率及样本数量,进一步提升了样本收集速度、策略迭代速度及智能体的整体性能。
示例性设备
基于上述实施例,本发明还提供一种终端,包括:通过系统总线连接的处理器、存储器、接口、显示屏以及通讯模块;其中,所述处理器用于提供计算和控制能力;所述存储器包括存储介质以及内存储器;所述存储介质存储有操作系统和计算机程序;所述内存储器为所述存储介质中的操作系统和计算机程序的运行提供环境;所述接口用于连接外部设备,例如,移动终端以及计算机等设备;所述显示屏用于显示相应的信息;所述通讯模块用于与云端服务器或移动终端进行通讯。
所述计算机程序被所述处理器执行时用以实现一种多智能体协同强化学习方法的操作。
本领域技术人员可以理解的是,图17中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种终端,其中,包括:处理器和存储器,所述存储器存储有多智能体协同强化学习程序,所述多智能体协同强化学习程序被所述处理器执行时用于实现如上所述的多智能体协同强化学习方法的操作。
在一个实施例中,提供了一种存储介质,其中,所述存储介质存储有多智能体协同强化学习程序,所述多智能体协同强化学习程序被所述处理器执行时用于实现如上所述的多智能体协同强化学习方法的操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。
综上,本发明提供了一种多智能体协同强化学习方法、终端及存储介质,方法包括:获取环境参数,构造模拟环境,并根据环境参数以及智能体数目确定学习者智能体;根据任务需求构造对应数量的工作者智能体,并根据任务需求构造对应数量的行动者智能体;其中,每个工作者智能体用于与多个行动者智能体进行交互,每个行动者智能体分别与一个独立的模拟环境交互;获取样本数据,根据样本数据对学习者智能体进行训练,得到训练后的模型参数;通过学习者智能体定期将训练后的模型参数更新到共享内存中,并通过工作者智能体定期从共享内存中更新决策网络的参数,得到强化学习后的策略。本发明提高了多智能体的强化学习过程中的样本利用率及样本数量。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (7)
1.一种多智能体协同强化学习方法,其特征在于,包括:
获取环境参数,构造模拟环境,并根据所述环境参数以及智能体数目确定学习者智能体;
根据任务需求构造对应数量的工作者智能体,并根据所述任务需求构造对应数量的行动者智能体;其中,每个所述工作者智能体用于与多个所述行动者智能体进行交互,每个所述行动者智能体分别与一个独立的模拟环境交互;
获取样本数据,根据所述样本数据对所述学习者智能体进行训练,得到训练后的模型参数;通过所述学习者智能体定期将所述训练后的模型参数更新到共享内存中,并通过所述工作者智能体定期从所述共享内存中更新决策网络的参数,得到强化学习后的策略;
所述获取样本数据,根据所述样本数据对所述学习者智能体进行训练,得到训练后的模型参数,包括:
启动所述工作者智能体以及对应的多个行动者智能体,将所述工作者智能体的信息传递至对应的多个行动者智能体,并通过所述工作者智能体的策略网络指导每个所述行动者智能体维护一个独立的模拟环境,并与所述模拟环境进行交互,采集得到所述样本数据;
根据所述样本数据对所述学习者智能体进行训练,得到所述训练后的模型参数;
所述启动所述工作者智能体以及对应的多个行动者智能体,将所述工作者智能体的信息传递至对应的多个行动者智能体,并通过所述工作者智能体的策略网络指导每个所述行动者智能体维护一个独立的模拟环境,并与所述模拟环境进行交互,包括:
通过所述工作者智能体部署多个所述行动者智能体,根据所述环境参数控制每个所述行动者智能体构造对应的模拟环境;
在每个所述行动者智能体得到环境的新状态时,将每个所述行动者智能体的观测信息传输至信息交互管道,并从所述信息交互管道中获取所述工作者智能体的策略决策的动作,控制每个所述行动者智能体与所述模拟环境进行交互;
通过每个所述行动者智能体存储与环境交互的每步信息,在轨迹结束时,将整局的经验传送到样本队列中,供学习者智能体使用;
所述根据所述样本数据对所述学习者智能体进行训练,得到所述训练后的模型参数,包括:通过所述学习者智能体维护经验回放池、共享内存池以及样本队列;
将多个环境交互产生的样本数据经由所述样本队列传输至所述经验回放池中;
通过所述学习者智能体训练及更新模型参数,并将更新后的模型参数同步至所述共享内存池。
2.根据权利要求1所述的多智能体协同强化学习方法,其特征在于,获取环境参数,构造模拟环境,并根据所述环境参数以及智能体数目确定学习者智能体,之前包括:
基于行动者智能体与工作者智能体的分布式训练算法进行训练,得到样本数据集。
3.根据权利要求2所述的多智能体协同强化学习方法,其特征在于,所述基于行动者智能体与工作者智能体的分布式训练算法进行训练,包括:
构造所述模拟环境、所述工作者智能体以及对应的多个所述行动者智能体;
构造多维隐藏变量,根据每个所述行动者智能体传输的观测信息在所述工作者智能体中做出决策,并将决策分别传输给对应的行动者智能体,利用训练数据进行训练。
4.根据权利要求3所述的多智能体协同强化学习方法,其特征在于,所述构造多维隐藏变量,包括:
将隐藏状态空间由单维拓展为多维,得到所述多维隐藏变量;
其中,每维分别对应智能体数目、环境数目及时间步个数,维护M个智能体在N个环境下进行长度为T的序列决策时的所有隐藏状态空间。
5.根据权利要求3所述的多智能体协同强化学习方法,其特征在于,所述根据每个所述行动者智能体传输的观测信息在所述工作者智能体中做出决策,并将决策分别传输给对应的行动者智能体,包括:
在每个时间步将新的环境状态经由所述行动者智能体传递给所述工作者智能体;
通过所述工作者智能体将所述新的环境状态送入主网络模型进行决策,并将输出的动作信息放回对应的观测信息及动作管道,传给对应的行动者智能体;
将各行动者智能体采集到的整条轨迹通过经验管道传到经验回放中;
从更新的经验回放池中随机采样经验样本,对所述工作者智能体进行策略的迭代更新,直至策略收敛。
6.一种终端,其特征在于,包括:处理器以及存储器,所述存储器存储有多智能体协同强化学习程序,所述多智能体协同强化学习程序被所述处理器执行时用于实现如权利要求1-5中任意一项所述的多智能体协同强化学习方法的操作。
7.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质存储有多智能体协同强化学习程序,所述多智能体协同强化学习程序被处理器执行时用于实现如权利要求1-5中任意一项所述的多智能体协同强化学习方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310012741.0A CN116226662B (zh) | 2023-01-05 | 2023-01-05 | 一种多智能体协同强化学习方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310012741.0A CN116226662B (zh) | 2023-01-05 | 2023-01-05 | 一种多智能体协同强化学习方法、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116226662A CN116226662A (zh) | 2023-06-06 |
CN116226662B true CN116226662B (zh) | 2024-02-09 |
Family
ID=86590268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310012741.0A Active CN116226662B (zh) | 2023-01-05 | 2023-01-05 | 一种多智能体协同强化学习方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116226662B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775220B (zh) * | 2023-06-30 | 2024-04-12 | 南京希音电子商务有限公司 | 基于异步进程的分布式仿真优化方法、系统、设备及介质 |
CN116757095B (zh) * | 2023-08-14 | 2023-11-07 | 国网浙江省电力有限公司宁波供电公司 | 一种基于云边端协同的电力系统运行方法、装置及介质 |
CN117332814A (zh) * | 2023-12-01 | 2024-01-02 | 中国科学院自动化研究所 | 一种基于模块化网络的合作智能体模型、学习方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110443447A (zh) * | 2019-07-01 | 2019-11-12 | 中国电力科学研究院有限公司 | 一种基于深度强化学习调整电力系统潮流的方法及系统 |
CN112615379A (zh) * | 2020-12-10 | 2021-04-06 | 浙江大学 | 基于分布式多智能体强化学习的电网多断面功率自动控制方法 |
CN113313209A (zh) * | 2021-06-28 | 2021-08-27 | 浙江大学 | 一种高样本效率的多智能体强化学习训练方法 |
CN113886953A (zh) * | 2021-09-27 | 2022-01-04 | 中国人民解放军军事科学院国防科技创新研究院 | 基于分布式强化学习的无人机智能仿真训练方法及装置 |
CN114861826A (zh) * | 2022-05-31 | 2022-08-05 | 中国科学技术大学 | 基于分布式设计的大规模强化学习训练框架系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11586974B2 (en) * | 2018-09-14 | 2023-02-21 | Honda Motor Co., Ltd. | System and method for multi-agent reinforcement learning in a multi-agent environment |
-
2023
- 2023-01-05 CN CN202310012741.0A patent/CN116226662B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110443447A (zh) * | 2019-07-01 | 2019-11-12 | 中国电力科学研究院有限公司 | 一种基于深度强化学习调整电力系统潮流的方法及系统 |
CN112615379A (zh) * | 2020-12-10 | 2021-04-06 | 浙江大学 | 基于分布式多智能体强化学习的电网多断面功率自动控制方法 |
CN113313209A (zh) * | 2021-06-28 | 2021-08-27 | 浙江大学 | 一种高样本效率的多智能体强化学习训练方法 |
CN113886953A (zh) * | 2021-09-27 | 2022-01-04 | 中国人民解放军军事科学院国防科技创新研究院 | 基于分布式强化学习的无人机智能仿真训练方法及装置 |
CN114861826A (zh) * | 2022-05-31 | 2022-08-05 | 中国科学技术大学 | 基于分布式设计的大规模强化学习训练框架系统 |
Non-Patent Citations (1)
Title |
---|
多智能体深度强化学习的若干关键科学问题;孙长银;穆朝絮;;自动化学报(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116226662A (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116226662B (zh) | 一种多智能体协同强化学习方法、终端及存储介质 | |
CN110991545B (zh) | 一种面向多智能体对抗的强化学习训练优化方法及装置 | |
Petrenko et al. | Sample factory: Egocentric 3d control from pixels at 100000 fps with asynchronous reinforcement learning | |
US20230029460A1 (en) | Method, apparatus, and device for scheduling virtual objects in virtual environment | |
Loiacono et al. | The 2009 simulated car racing championship | |
CN112215350B (zh) | 一种基于强化学习的智能体控制方法及装置 | |
CN111282267B (zh) | 信息处理方法、装置、介质及电子设备 | |
CN108888958A (zh) | 虚拟场景中的虚拟对象控制方法、装置、设备及存储介质 | |
US10049325B2 (en) | Information processing to provide entertaining agent for a game character | |
CN112870721B (zh) | 一种游戏互动方法、装置、设备及存储介质 | |
CN114741886B (zh) | 一种基于贡献度评价的无人机集群多任务训练方法及系统 | |
CN113221444B (zh) | 一种面向空中智能博弈的行为模仿训练方法 | |
Wang et al. | Multi-agent sensitivity enhanced iterative best response: A real-time game theoretic planner for drone racing in 3D environments | |
CN111450534B (zh) | 一种标签预测模型的训练方法、标签预测的方法及装置 | |
CN115300910B (zh) | 基于多智能体强化学习的去混淆游戏策略模型生成方法 | |
Tang et al. | A review of computational intelligence for StarCraft AI | |
CN115933717A (zh) | 基于深度强化学习的无人机智能空战机动决策训练系统及方法 | |
CN114404975A (zh) | 决策模型的训练方法、装置、设备、存储介质及程序产品 | |
CN116700079A (zh) | 基于ac-nfsp的无人机对抗占位机动控制方法 | |
Liu et al. | Game of drones: Intelligent online decision making of Multi-UAV confrontation | |
US20210121780A1 (en) | Method and system of generating data and training a model, server, and terminal device | |
CN113741186A (zh) | 一种基于近端策略优化的双机空战决策方法 | |
CN116227622A (zh) | 基于深度强化学习的多智能体地标覆盖方法及系统 | |
CN116943222A (zh) | 智能模型的生成方法、装置、设备及存储介质 | |
Suarez et al. | Neural MMO v1. 3: A massively multiagent game environment for training and evaluating neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |