CN115186807A - 利用乐观映射提升值分解多智能体强化学习算法性能的方法 - Google Patents

利用乐观映射提升值分解多智能体强化学习算法性能的方法 Download PDF

Info

Publication number
CN115186807A
CN115186807A CN202210555406.0A CN202210555406A CN115186807A CN 115186807 A CN115186807 A CN 115186807A CN 202210555406 A CN202210555406 A CN 202210555406A CN 115186807 A CN115186807 A CN 115186807A
Authority
CN
China
Prior art keywords
agent
value
action
local
network
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.)
Pending
Application number
CN202210555406.0A
Other languages
English (en)
Inventor
张玉鹏
胡裕靖
高阳
解宇
张咏琛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Wanwei Aisi Network Intelligent Industry Innovation Center Co ltd
Nanjing University
Netease Hangzhou Network Co Ltd
Original Assignee
Jiangsu Wanwei Aisi Network Intelligent Industry Innovation Center Co ltd
Nanjing University
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Wanwei Aisi Network Intelligent Industry Innovation Center Co ltd, Nanjing University, Netease Hangzhou Network Co Ltd filed Critical Jiangsu Wanwei Aisi Network Intelligent Industry Innovation Center Co ltd
Priority to CN202210555406.0A priority Critical patent/CN115186807A/zh
Publication of CN115186807A publication Critical patent/CN115186807A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (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)

Abstract

本发明提出了利用乐观映射提升值分解多智能体强化学习算法性能的方法,属于人工智能领域。针对现有技术中会出现的过度泛化等问题,本发明在现有值分解多智能体强化学习算法的基础上,引入了基于乐观映射的独立学习方法,并分别利用这两种学习方法对智能体的局部动作值函数进行相应地学习,融合这两种学习方式学到的局部动作值函数,进而得到智能体决策时所使用的策略,能够在一定程度上缓解值分解算法中智能体分布式决策时可能产生的相对过度泛化问题,促进多个智能体之间的相互协作,并提升值分解多智能体强化学习算法的性能。

Description

利用乐观映射提升值分解多智能体强化学习算法性能的方法
技术领域
本发明涉及人工智能的技术领域,特别涉及利用乐观映射提升值分解多智能体强化学习算法性能的方法,融合多智能体强化学习中的值分解方法和基于乐观映射的独立学习方法。
背景技术
近年来合作型多智能体强化学习得到了广泛的研究和发展,并且已经在很多复杂的任务中取得了巨大的成功,如电子游戏、机器人群体以及感知网络等。在这些任务中,智能体通常需要利用一个共享的团体奖赏来学会与其他智能体进行合作。为了更好地解决这些合作型任务,值分解多智能体强化学习算法利用集中式训练分布式执行的框架以及个体-整体-最大化的准则帮助智能体高效地学习最优联合策略。同时值分解多智能体强化学习算法已经在一系列复杂的星际争霸II微观操作任务上取得了目前最好的效果。
然而这些值分解多智能体强化学习算法仍然会受到相对过度问题的困扰。在一个合作型任务中,当其他智能体均匀随机地选择各自的动作时,如果某个智能体选择最优联合动作中自己的局部动作所获得的平均收益小于它选择其他动作所获得的平均收益,而导致该智能体最终选择非最优联合动作中的局部动作作为自己的执行动作,那么就产生了相对过度泛化问题。在强化学习中,相对过度泛化问题往往发生于智能体基于自己的局部动作值函数进行决策的算法中。本质上来说,值分解算法中各个智能体学习的仍然是各自的局部动作值函数,由于在学习过程中缺乏显示的协作机制以及值分解算法本身的表征能力有限,它们仍然可能会受到相对过度泛化问题的影响,低估了最优联合动作对应的局部动作值函数的值,从而导致智能体无法学到有效的合作策略。最新的研究工作对线性值分解进行了理论分析,从其结果中可以看出,若经验池中其他智能体的动作选择是均匀随机分布的时候,线性值分解的方法很容易受到相对过度泛化问题的困扰而无法学习到最优策略。同样,在WQMIX的工作中,通过实验给出了QMIX和QPLEX在某些环境设定下也会受到相对过度泛化问题的影响。
发明内容
发明目的:提出利用乐观映射提升值分解多智能体强化学习算法性能的方法,解决值分解算法中智能体分布式决策时可能产生的相对过度泛化问题,促进多个智能体之间的相互协作。同时,在现有值分解多智能体强化学习算法的基础上,引入基于乐观映射的独立学习方法,并分别利用这两种学习方法对智能体的局部动作值函数进行相应地学习,融合这两种学习方式学到的局部动作值函数,进而得到智能体决策时所使用的策略,以提升值分解多智能体强化学习算法的性能,更好更快地解决给定的合作型任务。
技术方案:第一方面,提出了利用乐观映射提升值分解多智能体强化学习算法性能的方法,该方法具体包括以下步骤:
步骤1、将待解决的合作型多智能体任务,建模为一个非集中式部分可观察的马尔科夫决策过程,并为任务构建一个环境对象;
步骤2、选择一种现有的值分解多智能体强化学习算法,并初始化它的神经网络;
步骤3、为每个智能体构建并初始化用于独立学习的神经网络;
步骤4、构建并初始化用于存取序列样本的经验池;
步骤5、利用融合值分解和独立学习神经网络输出结果的∈-贪婪策略与环境对象进行交互,采集序列样本并存入经验池中;
步骤6、从经验池中随机采样得到用于神经网络训练的批量数据;
步骤7、基于值分解多智能体强化学习算法,利用批量数据对其神经网络进行训练;
步骤8、基于乐观映射,利用批量数据对用于独立学习的神经网络进行训练;
步骤9、训练完成后,将融合值分解和独立学习神经网络输出结果的贪婪策略作为最优策略,对合作型多智能体任务进行求解。
在第一方面的一些可实现方式中,步骤1中的任务模型---非集中式部分可观察的马尔科夫决策过程,具体的表示为一个八元组<S,U,P,R,Z,O,N,γ>的形式:
在每个时间步t,环境处于一个确定的状态st∈S,然而由于环境的部分可观察性,每个智能体i∈N≡{1,…,n}只能通过观察函数O(s,i):S×N→Z获得自己的局部观察
Figure BDA0003652125940000021
并构建出自己的动作-观察历史
Figure BDA0003652125940000022
则联合动作-观察历史可以记为
Figure BDA0003652125940000023
然后智能体利用自己的策略
Figure BDA0003652125940000024
选择出执行的动作
Figure BDA0003652125940000025
并作用于环境,环境在接收到所有智能体的联合动作
Figure BDA0003652125940000026
后,会依据状态转移函数P(s|s,u):S×Un×S→[0,1]转移到下一个状态st+1∈S,并利用奖赏函数
Figure BDA0003652125940000027
反馈给所有的智能体同一个共享的团队奖赏rt;在完全合作的多智能体任务中,所有智能体试图学习一个联合策略π≡(π1,…,πn)来最大化团队奖赏折扣回报的期望值
Figure BDA0003652125940000028
其中γ∈[0,1)是折扣因子。
其中,在步骤1中为任务构建的环境对象,需要能够与智能体完成上述的交互过程。
在第一方面的一些可实现方式中,步骤2中:
可选择的现有值分解多智能体强化学习算法包括但不限于VDN、QMIX、QTRAN、QPLEX、WQMIX以及Qatten等。根据选定的值分解多智能体强化学习算法,构建并初始化其相应的神经网络;整体上,值分解多智能体强化学习算法会为每个智能体构建一个智能体网络层,用于学习每个智能体的局部动作值函数,同时所有智能体网络的输出会经过一个混合网络层,用于将所有智能体的局部动作值函数整合为联合动作值函数;
进一步的,智能体i∈N的智能体网络层
Figure BDA0003652125940000031
可分为两部分,一部分为信息处理层
Figure BDA0003652125940000032
另一部分为局部动作值函数输出层
Figure BDA0003652125940000033
信息处理层输入智能体i当前时刻t的局部
Figure BDA0003652125940000034
智能体i上一时刻t-1选择的动作
Figure BDA0003652125940000035
以及智能体i上一时刻t-1得到的局部动作-观察历史
Figure BDA0003652125940000036
输出智能体i当前时刻t的局部动作-观察历史
Figure BDA0003652125940000037
局部动作值函数输出层则以智能体i当前时刻t的局部动作-观察历史
Figure BDA0003652125940000038
作为输入,输出智能体i各个动作所对应的局部动作值函数的值
Figure BDA0003652125940000039
混合网络层fmix以当前时刻t下各个智能体所选动作
Figure BDA00036521259400000310
所对应的局部动作值函数的值
Figure BDA00036521259400000311
以及相关涉及信息infot作为输入,输出当前时刻t下联合动作-观察历史
Figure BDA00036521259400000312
和联合动作
Figure BDA00036521259400000313
对应的联合动作值函数的值
Figure BDA00036521259400000314
智能体i∈N的智能体网络层参数用θi表示,每个智能体网络层都有着对应的结构相同的目标网络,其参数用
Figure BDA00036521259400000315
表示;混合网络层的参数用θmix表示,它同样有着结构相同的目标网络,用参数
Figure BDA00036521259400000316
表示;所有智能体网络层和混合网络层的参数用θ表示,对应的目标网络的参数用
Figure BDA00036521259400000317
表示。
在第一方面的一些可实现方式中,步骤3中:
对每个智能体i∈N都构建一个用于独立学习的神经网络
Figure BDA00036521259400000318
这个神经网络包含两部分:独立学习的信息处理层
Figure BDA00036521259400000319
以及独立学习的决策输出层
Figure BDA00036521259400000320
独立学习的信息处理层以智能体i当前时刻t的局部观察
Figure BDA00036521259400000321
智能体i上一时刻t-1选择的动作
Figure BDA00036521259400000322
以及上一时刻t-1智能体i独立学习的信息处理层输出的局部动作-观察历史
Figure BDA00036521259400000323
作为输入,输出用于独立学习的局部动作-观察历史
Figure BDA00036521259400000324
独立学习的决策输出层以时刻t智能体i用于独立学习的局部动作-观察历史
Figure BDA00036521259400000325
作为输入,输出智能体i用于独立学习的各个动作所对应的局部动作值函数的值
Figure BDA0003652125940000041
智能体i∈N用于独立学习的神经网络的参数用
Figure BDA0003652125940000042
表示,对应的结构相同的目标网络的参数用
Figure BDA0003652125940000043
表示。
在第一方面的一些可实现方式中,步骤4中:
经验池D用于存取每个智能体的局部观察
Figure BDA0003652125940000044
状态s、每个智能体选择的动作
Figure BDA0003652125940000045
获得的奖赏r以及是否终止的标志tf多种不同类别的样本数据;经验池使用序列
Figure BDA0003652125940000046
作为存取的基本单位;每条序列的最大长度人为设置为T,经验池最多可以存储Bn条序列;当经验池存满时,使用先进先出的原则将最先存入的序列删除,然后存入新的序列。初始化时将经验池中的数据全部都置为0。
在第一方面的一些可实现方式中,步骤5中:
在与环境进行交互采样的过程中,每个智能体从环境中获取到自己的局部观察,并将该局部观察分别输入到值分解多智能体强化学习算法中的智能体网络层和用于独立学习的神经网络,得到对应的两个局部动作值函数的值;对于智能体i∈N,基于这两个局部动作值函数的值,得到其在局部动作-观察历史τi下的最优动作
Figure BDA0003652125940000047
Figure BDA0003652125940000048
其中κ∈[0,1]是调节两个局部动作值函数利用程度的参数,设定κ从1开始随着训练过程的进行而逐渐递减;
在得到最优动作
Figure BDA0003652125940000049
后,智能体i使用∈-贪婪策略
Figure BDA00036521259400000410
选择采样时的动作,它以∈的概率从动作空间内的所有动作中均匀随机地选择执行的动作,以1-∈的概率选择最优动作
Figure BDA00036521259400000411
即:
Figure BDA00036521259400000412
其中|U|表示动作空间的大小,∈∈[0,1]表示探索率参数,随着训练过程的进行而逐渐递减;在所有智能体都依据∈-贪婪策略选择执行的动作后,将它们选择的动作传递给环境,然后环境依据它的状态转移函数转移到下一个状态,并给所有智能体返回一个团队奖赏,如此不断地进行交互,直到环境到达终止状态或达到最大序列长度T,则完成一条序列的采样;再次开始采样时,需要重置环境对象。
在第一方面的一些可实现方式中,步骤6中:
以序列为基本单位利用均匀分布从经验池D中进行随机采样,得到BatchSize条序列数据,用于对神经网络进行训练。
在第一方面的一些可实现方式中,步骤7中:
值分解多智能体强化学习算法在训练的过程中首先会计算出联合动作值函数的损失函数
Figure BDA0003652125940000051
Figure BDA0003652125940000052
其中Q(τ,u;θ)是数据经过智能体网络层和混合网络层得到的当前时刻联合动作-观察历史τ和联合动作u下的联合动作值函数的值,
Figure BDA0003652125940000053
则是数据经过智能体网络层的目标网络和混合网络的目标网络得到的下一时刻联合动作-观察历史τ和联合动作u下的联合动作值函数的值;基于上述损失函数
Figure BDA0003652125940000054
利用优化器对所有智能体网络层和混合网络层的参数θ进行更新;智能体网络层目标网络和混合网络层目标网络的所有参数
Figure BDA0003652125940000055
每间隔一定的时间U从相应的原网络参数θ进行复制更新。
在第一方面的一些可实现方式中,步骤8中:
在对每个智能体i∈N用于独立学习的神经网络进行训练时,首先基于乐观映射,计算其输出的局部动作值函数的损失函数
Figure BDA0003652125940000056
Figure BDA0003652125940000057
Figure BDA0003652125940000058
其中β<1用于控制乐观映射时乐观程度的参数,由人为给出它的具体值;指示函数
Figure BDA0003652125940000059
的取值为:当
Figure BDA00036521259400000510
时,该指示函数的值为1,反之则为0;
Figure BDA00036521259400000511
是数据经过智能体i用于独立学习的神经网络得到的当前时刻智能体i局部动作观察-历史
Figure BDA00036521259400000512
和局部ui下的局部动作值函数的值,
Figure BDA00036521259400000513
则是数据经过智能体i用于独立学习的神经网络的目标网络得到的下一时刻智能体i局部动作-观察历史
Figure BDA00036521259400000514
和局部动作
Figure BDA00036521259400000515
下的局部动作值函数的值;基于损失函数
Figure BDA00036521259400000516
利用优化器对用于独立学习的神经网络的参数
Figure BDA00036521259400000517
进行更新;每个智能体i∈N用于独立学习的神经网络的目标网络参数
Figure BDA0003652125940000061
每间隔一定的时间U都从其相应的原网络参数
Figure BDA0003652125940000062
进行复制更新。
在第一方面的一些可实现方式中,步骤9中:
重复步骤5、6、7和8,直到达到最大的训练次数MT,完成训练过程;在训练完成后,重置环境对象,并使用融合值分解和独立学习神经网络输出结果的贪婪策略与环境进行交互;基于值分解多智能体强化学习中智能体网络层的输出和用于独立学习的神经网络的输出,可以得到智能体i∈N在局部动作-观察历史τi下的最优动作
Figure BDA0003652125940000063
Figure BDA0003652125940000064
其中κe是参数κ最终的值,由人为设定;贪婪策略即为在任意的局部动作-观察历史τi下,智能体i都选择最优动作
Figure BDA0003652125940000065
与环境进行交互,从而完成对合作型多智能体任务的求解。
有益效果:本发明提出了利用乐观映射提升值分解多智能体强化学习算法性能的方法,为了解决值分解算法中智能体分布式决策时可能产生的相对过度泛化问题,促进多个智能体之间的相互协作,在现有值分解多智能体强化学习算法的基础上,引入了基于乐观映射的独立学习方法,分别利用这两种学习方法对智能体的局部动作值函数进行相应地学习,并融合这两种学习方式学到的局部动作值函数,进而得到智能体决策时所使用的策略,以提升值分解多智能体强化学习算法的性能,并更好更快地解决给定的合作型任务。
附图说明
图1是利用乐观映射提升值分解多智能体强化学习算法性能的方法的流程图。
图2是值分解多智能体强化学习算法的神经网络结构、输入数据前向传播以及损失函数梯度反向传播的可视化图。
图3是用于独立学习的神经网络结构、输入数据前向传播以及损失函数梯度反向传播的可视化图。
图4是融合值分解和独立学习神经网络输出结果得到∈-贪婪策略从环境中采样以及得到贪婪策略对任务进行求解的示意图。
具体实施方式
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
实施例一
在一个实施例中,提出利用乐观映射提升值分解多智能体强化学习算法性能的方法,该方法具体包括以下步骤:
步骤1、将待解决的合作型多智能体任务建模为一个非集中式部分可观察的马尔科夫决策过程,并为任务构建一个环境对象;
步骤2、选择一种现有的值分解多智能体强化学习算法,并初始化它的神经网络;
步骤3、为每个智能体构建并初始化用于独立学习的神经网络;
步骤4、构建并初始化用于存取序列样本的经验池;
步骤5、利用融合值分解和独立学习神经网络输出结果的∈-贪婪策略与环境对象进行交互,采集序列样本并存入经验池中;
步骤6、从经验池中随机采样得到用于神经网络训练的批量数据;
步骤7、基于值分解多智能体强化学习算法,利用批量数据对其神经网络进行训练;
步骤8、基于乐观映射,利用批量数据对用于独立学习的神经网络进行训练;
步骤9、训练完成后,将融合值分解和独立学习神经网络输出结果的贪婪策略作为最优策略,对合作型多智能体任务进行求解。
实施例二
在实施例一基础上的进一步实施例中,以SMAC中提供的星际争霸II微观操作任务“3m”作为待解决的合作型多智能体任务,并利用本发明对值分解多智能体强化学习算法VDN进行改进,具体的步骤如下:
步骤1中,星际争霸II微观操作任务“3m”可以被建模为一个非集中式的部分可观察的马尔科夫决策过程,并由SMAC封装为可与算法交互的类,创建该类的环境对象Env。
具体的,Env中算法需要控制3个智能体与敌方内置AI控制的智能体进行对战以获得对战的胜利。Env可以为3个智能体提供各自的30维的局部观察、48维的状态信息,3个智能体在接收到局部观察后,需要依据自己的策略从9个动作中选择合适的动作进行执行,Env在接收到3个智能体的执行动作后,会转移到下一个状态,并反馈给智能体一个团队奖赏,算法完成与Env的一次交互。
步骤2中,VDN算法会为每个智能体构建一个智能体网络层,用于学习每个智能体的局部动作值函数,同时所有智能体网络的输出会经过一个混合网络层,用于将所有智能体的局部动作值函数整合为联合动作值函数。
具体的,如图2所示,智能体i∈N的智能体网络层
Figure BDA0003652125940000081
可分为两部分,一部分为信息处理层
Figure BDA0003652125940000082
另一部分为局部动作值函数输出层
Figure BDA0003652125940000083
信息处理层将智能体i当前时刻t的局部观察
Figure BDA0003652125940000084
和智能体i上一时刻t-1选择动作
Figure BDA0003652125940000085
的独热编码拼接为39维的输入数据,该数据依次经过一层输入维度是39输出维度是64的全连接神经网络和ReLU激活层,得到处理后的局部信息,将该局部信息与智能体i上一时刻t-1得到的局部动作-观察历史
Figure BDA0003652125940000086
输入到输入维度和输出维度都是64的单向GRU层,最终网络输出智能体i当前时刻t的64维局部动作-观察历史
Figure BDA0003652125940000087
局部动作值函数输出层将智能体i当前时刻t的局部动作-观察历史
Figure BDA0003652125940000088
输入到一层输入维度为64输出维度为9的全连接神经网络,输出智能体i的9个动作所对应的局部动作值函数的值
Figure BDA0003652125940000089
Figure BDA00036521259400000810
VDN的混合网络层fmix以当前时刻t下各个智能体所选动作
Figure BDA00036521259400000811
所对应的局部动作值函数的值
Figure BDA00036521259400000812
对这些局部动作值函数的值进行线性加和,输出当前时刻t下联合动作-观察历史
Figure BDA00036521259400000813
和联合动作
Figure BDA00036521259400000814
对应的联合动作值函数的值
Figure BDA00036521259400000815
智能体i∈N的智能体网络层参数用θi表示,每个智能体网络层都有着对应的结构相同的目标网络,其参数用
Figure BDA00036521259400000816
表示。混合网络层的参数用θmix表示,它同样有着结构相同的目标网络,用参数
Figure BDA00036521259400000817
表示。所有智能体网络层和混合网络层的参数用θ表示,对应的目标网络的参数用
Figure BDA00036521259400000818
表示。
步骤3中,对每个智能体i∈N都构建一个用于独立学习的神经网络
Figure BDA00036521259400000819
如附图中图3所示,这个神经网络包含两部分:独立学习的信息处理层
Figure BDA00036521259400000820
以及独立学习的决策输出层
Figure BDA00036521259400000821
独立学习的信息处理层将智能体i当前时刻t的局部观察
Figure BDA00036521259400000822
和智能体i上一时刻t-1选择
Figure BDA00036521259400000823
的独热编码拼接为39维的输入数据,该数据依次经过一层输入维度是39输出维度是64的全连接神经网络和ReLU激活层,得到处理后的局部信息,将该局部信息与智能体i上一时刻t-1得到的局部动作-观察历史
Figure BDA00036521259400000824
输入到输入维度和输出维度都是64的单向GRU层,最终信息处理层输出用于独立学习的64维局部动作-观察历史
Figure BDA00036521259400000825
独立学习的决策输出层将时刻t智能体i用于独立学习的局部动作-观察历史
Figure BDA0003652125940000091
输入到一层输入维度为64输出维度为9的全连接神经网络,输出智能体i用于独立学习的9个动作所对应的局部动作值函数的值
Figure BDA0003652125940000092
Figure BDA0003652125940000093
智能体i∈N用于独立学习的神经网络的参数用
Figure BDA0003652125940000094
表示,对应的结构相同的目标网络的参数用
Figure BDA0003652125940000095
表示。
步骤4中,经验池D用于存取每个智能体的局部观察
Figure BDA0003652125940000096
状态s、每个智能体选择的动作
Figure BDA0003652125940000097
获得的奖赏r以及是否终止的标志tf多种不同类别的样本数据。经验池使用序列
Figure BDA0003652125940000098
作为存取的基本单位。每条序列的最大长度人为设置为T=60,经验池最多可以存储Bn=5000条序列。当经验池存满时,使用先进先出的原则将最先存入的序列删除,然后存入新的序列。初始化时将经验池中的数据全部都置为0。
步骤5中,在与Env进行交互采样的过程中,每个智能体从环境中获取到自己的局部观察,并将该局部观察分别输入到VDN中的智能体网络层和用于独立学习的神经网络,得到对应的两个局部动作值函数的值。如附图中图4所示,对于智能体i∈N,基于这两个局部动作值函数的值,得到其在局部动作-观察历史τi下的最优动作
Figure BDA0003652125940000099
Figure BDA00036521259400000910
其中κ从1开始经过3000条序列的采样逐渐线性衰减到κe=0.1。
在得到最优动作
Figure BDA00036521259400000911
后,智能体i使用∈-贪婪策略
Figure BDA00036521259400000912
选择采样时的动作,它以∈的概率从动作空间内的所有动作中均匀随机地选择执行的动作,以1-∈的概率选择最优动作
Figure BDA00036521259400000913
即:
Figure BDA00036521259400000914
其中|U|=9表示动作空间的大小,∈从1开始经过1000条序列的采样逐步线性衰减到0.05。在所有智能体都依据∈-贪婪策略选择执行的动作后,将它们选择的动作传递给Env,然后Env依据它的状态转移函数转移到下一个状态,并给所有智能体返回一个团队奖赏,如此不断地进行交互,直到Env到达终止状态或达到最大序列长度T=60,则完成一条序列的采样。再次开始采样时,需要重置Env。
步骤6中,以序列为基本单位利用均匀分布从经验池D中进行随机采样,得到BatchSize=32条序列数据,用于对神经网络进行训练。
步骤7中,VDN在训练的过程中首先会计算出联合动作值函数的损失函数
Figure BDA0003652125940000101
Figure BDA0003652125940000102
其中Q(τ,u;θ)是数据经过智能体网络层和混合网络层得到的当前时刻联合动作-观察历史τ和联合动作u下的联合动作值函数的值,
Figure BDA0003652125940000103
则是数据经过智能体网络层的目标网络和混合网络的目标网络得到的下一时刻联合动作-观察历史τ和联合动作u下的联合动作值函数的值。如附图中图2所示,基于上述损失函数
Figure BDA0003652125940000104
利用RMSprop优化器对所有智能体网络层和混合网络层的参数θ进行更新。智能体网络层目标网络和混合网络层目标网络的所有参数
Figure BDA0003652125940000105
每间隔U=200次训练从相应的原网络参数θ进行复制更新。
步骤8中,在对每个智能体i∈N用于独立学习的神经网络进行训练时,首先基于乐观映射,计算其输出的局部动作值函数的损失函数
Figure BDA0003652125940000106
Figure BDA0003652125940000107
Figure BDA0003652125940000108
其中β=0.7。指示函数
Figure BDA0003652125940000109
的取值为:当
Figure BDA00036521259400001010
时,该指示函数的值为1,反之则为0。
Figure BDA00036521259400001011
是数据经过智能体i用于独立学习的神经网络得到的当前时刻智能体i局部动作观察-历史
Figure BDA00036521259400001012
和局部动作ui下的局部动作值函数的值,
Figure BDA00036521259400001013
则是数据经过智能体i用于独立学习的神经网络的目标网络得到的下一时刻智能体i局部动作-观察历史
Figure BDA00036521259400001014
和局部动作
Figure BDA00036521259400001015
下的局部动作值函数的值。如附图中图3所示,基于损失函数
Figure BDA00036521259400001016
利用RMSprop优化器对用于独立学习的神经网络的参数
Figure BDA00036521259400001017
进行更新。每个智能体i∈N用于独立学习的神经网络的目标网络参数
Figure BDA00036521259400001018
每间隔U=200次训练都从其相应的原网络参数
Figure BDA00036521259400001019
进行复制更新。
步骤9中,重复步骤5、6、7和8,直到达到最大的训练次数MT=15000,完成训练过程。在训练完成后,重置Env,并使用融合VDN和独立学习神经网络输出结果的贪婪策略与环境进行交互。如附图中图4所示,基于VDN中智能体网络层的输出和用于独立学习的神经网络的输出,可以得到智能体i∈N在局部动作-观察历史τi下的最优动作
Figure BDA0003652125940000111
Figure BDA0003652125940000112
其中κe=0.1。贪婪策略即为在任意的局部动作-观察历史τi下,智能体i都选择最优动作
Figure BDA0003652125940000113
与环境进行交互,从而完成对“3m”任务的求解。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上做出各种变化。

Claims (10)

1.利用乐观映射提升值分解多智能体强化学习算法性能的方法,其特征在于,具体包括以下步骤:
步骤1、将待解决的合作型多智能体任务,建模为一个非集中式部分可观察的马尔科夫决策过程,并为任务构建一个环境对象;
步骤2、选择任意一种值分解多智能体强化学习算法,并初始化它的神经网络;
步骤3、为每个智能体构建并初始化用于独立学习的神经网络;
步骤4、构建并初始化用于存取序列样本的经验池;
步骤5、利用融合值分解和独立学习神经网络输出结果的∈-贪婪策略与环境对象进行交互,采集序列样本并存入经验池中;
步骤6、从经验池中随机采样得到用于神经网络训练的批量数据;
步骤7、基于值分解多智能体强化学习算法,利用批量数据对其神经网络进行训练;
步骤8、基于乐观映射,利用批量数据对用于独立学习的神经网络进行训练;
步骤9、训练完成后,将融合值分解和独立学习神经网络输出结果的贪婪策略作为最优策略,对合作型多智能体任务进行求解。
2.根据权利要求1所述的利用乐观映射提升值分解多智能体强化学习算法性能的方法,其特征在于,所述环境对象用于与智能体完成交互;所述非集中式部分可观察的马尔科夫决策过程,表示为一个八元组<S,U,P,R,Z,O,N,γ>的形式,其中元素S表示状态;U表示执行的动作;P表示状态转移函数;R表示奖赏函数;Z表示局部观察;O表示观察函数;N表示智能体;γ表示折扣因子;
进一步的,交互过程为:在每个时间步t,环境处于一个确定的状态st∈S,然而由于环境的部分可观察性,每个智能体i∈N≡{1,…,n}只能通过观察函数O(s,i):S×N→Z获得自己的局部观察
Figure FDA0003652125930000011
并构建出自己的动作-观察历史
Figure FDA0003652125930000012
则联合动作-观察历史记为
Figure FDA0003652125930000013
然后智能体利用自己的策略
Figure FDA0003652125930000014
选择出执行的动作
Figure FDA0003652125930000015
并作用于环境,环境在接收到所有智能体的联合动作
Figure FDA0003652125930000016
后,会依据状态转移函数P(s′|s,u):S×Un×S→[0,1]转移到下一个状态st+1∈S,并利用奖赏函数
Figure FDA0003652125930000017
反馈给所有的智能体同一个共享的团队奖赏rt;在完全合作的多智能体任务中,所有智能体试图学习一个联合策略π≡(π1,…,πn)来最大化团队奖赏折扣回报的期望值
Figure FDA0003652125930000018
其中γ∈[0,1)是折扣因子。
3.根据权利要求1所述的利用乐观映射提升值分解多智能体强化学习算法性能的方法,其特征在于,所述步骤2中:
根据选定的值分解多智能体强化学习算法,构建并初始化其相应的神经网络;整体上,值分解多智能体强化学习算法会为每个智能体构建一个智能体网络层,用于学习每个智能体的局部动作值函数,同时所有智能体网络的输出会经过一个混合网络层,用于将所有智能体的局部动作值函数整合为联合动作值函数;
进一步的,智能体i∈N的智能体网络层
Figure FDA0003652125930000021
分为两部分,一部分为信息处理层
Figure FDA0003652125930000022
另一部分为局部动作值函数输出层
Figure FDA0003652125930000023
信息处理层输入智能体i当前时刻t的局部
Figure FDA0003652125930000024
智能体i上一时刻t-1选择的动作
Figure FDA0003652125930000025
以及智能体i上一时刻t-1得到的局部动作-观察历史
Figure FDA0003652125930000026
输出智能体i当前时刻t的局部动作-观察历史
Figure FDA0003652125930000027
局部动作值函数输出层则以智能体i当前时刻t的局部动作-观察历史
Figure FDA0003652125930000028
作为输入,输出智能体i各个动作所对应的局部动作值函数的值
Figure FDA0003652125930000029
混合网络层fmix以当前时刻t下各个智能体所选动作
Figure FDA00036521259300000210
所对应的局部动作值函数的值
Figure FDA00036521259300000211
以及相关涉及信息infot作为输入,输出当前时刻t下联合动作-观察历史
Figure FDA00036521259300000212
和联合动作
Figure FDA00036521259300000213
对应的联合动作值函数的值
Figure FDA00036521259300000214
智能体i∈N的智能体网络层参数用θi表示,每个智能体网络层都有着对应的结构相同的目标网络,其参数用
Figure FDA00036521259300000215
表示;混合网络层的参数用θmix表示,它同样有着结构相同的目标网络,用参数
Figure FDA00036521259300000216
表示;所有智能体网络层和混合网络层的参数用θ表示,对应的目标网络的参数用
Figure FDA00036521259300000217
表示。
4.根据权利要求1所述的利用乐观映射提升值分解多智能体强化学习算法性能的方法,其特征在于,所述步骤3中:
对每个智能体i∈N都构建一个用于独立学习的神经网络
Figure FDA00036521259300000218
这个神经网络包含两部分:独立学习的信息处理层
Figure FDA00036521259300000219
以及独立学习的决策输出层
Figure FDA00036521259300000220
独立学习的信息处理层以智能体i当前时刻t的局部观察
Figure FDA00036521259300000221
智能体i上一时刻t-1选择的动作
Figure FDA00036521259300000222
以及上一时刻t-1智能体i独立学习的信息处理层输出的局部动作-观察历史
Figure FDA00036521259300000223
作为输入,输出用于独立学习的局部动作-观察历史
Figure FDA00036521259300000224
独立学习的决策输出层以时刻t智能体i用于独立学习的局部动作-观察历史
Figure FDA00036521259300000225
作为输入,输出智能体i用于独立学习的各个动作所对应的局部动作值函数的值
Figure FDA0003652125930000031
智能体i∈N用于独立学习的神经网络的参数用
Figure FDA0003652125930000032
表示,对应的结构相同的目标网络的参数用
Figure FDA0003652125930000033
表示。
5.根据权利要求1所述的利用乐观映射提升值分解多智能体强化学习算法性能的方法,其特征在于,所述步骤4中:
经验池D用于存取每个智能体的局部观察
Figure FDA0003652125930000034
状态s、每个智能体选择的动作
Figure FDA0003652125930000035
获得的奖赏r以及是否终止的标志tf多种不同类别的样本数据;经验池使用序列
Figure FDA0003652125930000036
作为存取的基本单位;每条序列的最大长度人为设置为T,经验池最多可以存储Bn条序列;当经验池存满时,使用先进先出的原则将最先存入的序列删除,然后存入新的序列;初始化时将经验池中的数据全部都置为0。
6.根据权利要求1所述的利用乐观映射提升值分解多智能体强化学习算法性能的方法,其特征在于,所述步骤5中:
在与环境进行交互采样的过程中,每个智能体从环境中获取到自己的局部观察,并将该局部观察分别输入到值分解多智能体强化学习算法中的智能体网络层和用于独立学习的神经网络,得到对应的两个局部动作值函数的值;对于智能体i∈N,基于这两个局部动作值函数的值,得到其在局部动作-观察历史τi下的最优动作
Figure FDA0003652125930000037
Figure FDA0003652125930000038
其中κ∈[0,1]是调节两个局部动作值函数利用程度的参数,设定κ从1开始随着训练过程的进行而逐渐递减;
在得到最优动作
Figure FDA0003652125930000039
后,智能体i使用∈-贪婪策略
Figure FDA00036521259300000310
选择采样时的动作,它以∈的概率从动作空间内的所有动作中均匀随机地选择执行的动作,以1-∈的概率选择最优动作
Figure FDA00036521259300000311
即:
Figure FDA00036521259300000312
其中|U|表示动作空间的大小,∈∈[0,1]表示探索率参数,随着训练过程的进行而逐渐递减;在所有智能体都依据∈-贪婪策略选择执行的动作后,将它们选择的动作传递给环境,然后环境依据它的状态转移函数转移到下一个状态,并给所有智能体返回一个团队奖赏,如此不断地进行交互,直到环境到达终止状态或达到最大序列长度T,则完成一条序列的采样;再次开始采样时,需要重置环境对象。
7.根据权利要求1所述的利用乐观映射提升值分解多智能体强化学习算法性能的方法,其特征在于,所述步骤6中:
以序列为基本单位利用均匀分布从经验池D中进行随机采样,得到BatchSize条序列数据,用于对神经网络进行训练。
8.根据权利要求1所述的利用乐观映射提升值分解多智能体强化学习算法性能的方法,其特征在于,所述步骤7中:
值分解多智能体强化学习算法在训练的过程中首先会计算出联合动作值函数的损失函数
Figure FDA0003652125930000041
Figure FDA0003652125930000042
其中Q(τ,u;θ)是数据经过智能体网络层和混合网络层得到的当前时刻联合动作-观察历史τ和联合动作u下的联合动作值函数的值,
Figure FDA0003652125930000043
则是数据经过智能体网络层的目标网络和混合网络的目标网络得到的下一时刻联合动作-观察历史τ′和联合动作u′下的联合动作值函数的值;基于上述损失函数
Figure FDA0003652125930000044
利用优化器对所有智能体网络层和混合网络层的参数θ进行更新;智能体网络层目标网络和混合网络层目标网络的所有参数
Figure FDA0003652125930000045
每间隔一定的时间U从相应的原网络参数θ进行复制更新。
9.根据权利要求1所述的利用乐观映射提升值分解多智能体强化学习算法性能的方法,其特征在于,所述步骤8中:
在对每个智能体i∈N用于独立学习的神经网络进行训练时,首先基于乐观映射,计算其输出的局部动作值函数的损失函数
Figure FDA0003652125930000046
Figure FDA0003652125930000047
Figure FDA0003652125930000048
其中β<1用于控制乐观映射时乐观程度的参数,由人为给出它的具体值;指示函数
Figure FDA0003652125930000049
的取值为:当
Figure FDA00036521259300000410
时,该指示函数的值为1,反之则为0;
Figure FDA0003652125930000051
是数据经过智能体i用于独立学习的神经网络得到的当前时刻智能体i局部动作观察-历史
Figure FDA0003652125930000052
和局部ui下的局部动作值函数的值,
Figure FDA0003652125930000053
则是数据经过智能体i用于独立学习的神经网络的目标网络得到的下一时刻智能体i局部动作-观察历史
Figure FDA0003652125930000054
和局部动作
Figure FDA0003652125930000055
下的局部动作值函数的值;基于损失函数
Figure FDA0003652125930000056
利用优化器对用于独立学习的神经网络的参数
Figure FDA0003652125930000057
进行更新;每个智能体i∈N用于独立学习的神经网络的目标网络参数
Figure FDA0003652125930000058
每间隔一定的时间U都从其相应的原网络参数
Figure FDA0003652125930000059
进行复制更新。
10.根据权利要求1所述的利用乐观映射提升值分解多智能体强化学习算法性能的方法,其特征在于,所述步骤9中:
重复步骤5、6、7和8,直到达到最大的训练次数MT,完成训练过程;在训练完成后,重置环境对象,并使用融合值分解和独立学习神经网络输出结果的贪婪策略与环境进行交互;基于值分解多智能体强化学习中智能体网络层的输出和用于独立学习的神经网络的输出,可以得到智能体i∈N在局部动作-观察历史τi下的最优动作
Figure FDA00036521259300000510
Figure FDA00036521259300000511
其中κe是参数κ最终的值,由人为设定;贪婪策略即为在任意的局部动作-观察历史τi下,智能体i都选择最优动作
Figure FDA00036521259300000512
与环境进行交互,从而完成对合作型多智能体任务的求解。
CN202210555406.0A 2022-05-19 2022-05-19 利用乐观映射提升值分解多智能体强化学习算法性能的方法 Pending CN115186807A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210555406.0A CN115186807A (zh) 2022-05-19 2022-05-19 利用乐观映射提升值分解多智能体强化学习算法性能的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210555406.0A CN115186807A (zh) 2022-05-19 2022-05-19 利用乐观映射提升值分解多智能体强化学习算法性能的方法

Publications (1)

Publication Number Publication Date
CN115186807A true CN115186807A (zh) 2022-10-14

Family

ID=83513383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210555406.0A Pending CN115186807A (zh) 2022-05-19 2022-05-19 利用乐观映射提升值分解多智能体强化学习算法性能的方法

Country Status (1)

Country Link
CN (1) CN115186807A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115860107A (zh) * 2023-01-30 2023-03-28 武汉大学 一种基于多智能体深度强化学习的多机探寻方法及系统
CN117111640A (zh) * 2023-10-24 2023-11-24 中国人民解放军国防科技大学 基于风险态度自调整的多机避障策略学习方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115860107A (zh) * 2023-01-30 2023-03-28 武汉大学 一种基于多智能体深度强化学习的多机探寻方法及系统
CN117111640A (zh) * 2023-10-24 2023-11-24 中国人民解放军国防科技大学 基于风险态度自调整的多机避障策略学习方法及装置
CN117111640B (zh) * 2023-10-24 2024-01-16 中国人民解放军国防科技大学 基于风险态度自调整的多机避障策略学习方法及装置

Similar Documents

Publication Publication Date Title
CN115186807A (zh) 利用乐观映射提升值分解多智能体强化学习算法性能的方法
Drake et al. Recent advances in selection hyper-heuristics
CN109271320B (zh) 一种上位多目标测试用例优先级排序方法
CN109034670B (zh) 一种卫星在轨活动规划方法及系统
Albayrak Novel hybrid method in time–cost trade-off for resource-constrained construction projects
Zhang et al. Quota: The quantile option architecture for reinforcement learning
CN111752304B (zh) 无人机数据采集方法及相关设备
CN112633466A (zh) 一种面向困难探索环境的记忆保持课程学习方法
Qu et al. An improved reinforcement learning algorithm for learning to branch
CN112734014A (zh) 基于置信上界思想的经验回放采样强化学习方法及系统
Musen Overcoming the limitations of role-limiting methods
Gu et al. A discrete particle swarm optimization algorithm with adaptive inertia weight for solving multiobjective flexible job-shop scheduling problem
CN114819316A (zh) 一种面向多智能体任务规划的复杂优化方法
CN117273590B (zh) 一种求解车辆路径优化问题的神经组合优化方法及系统
CN111767991B (zh) 一种基于深度q学习的测控资源调度方法
Zhou et al. A novel mission planning method for UAVs’ course of action
Källström et al. Reinforcement learning for computer generated forces using open-source software
Chen et al. Survey of multi-agent strategy based on reinforcement learning
CN113220437B (zh) 一种工作流多目标调度方法及装置
CN113869511A (zh) 一种基于策略迁移的多智能体协同进化方法
Menghi et al. Multitask learning over shared subspaces
Wang et al. Learning to dynamically coordinate multi-robot teams in graph attention networks
Da Costa et al. Learning 2-opt local search from heuristics as expert demonstrations
Kim et al. Strangeness-driven exploration in multi-agent reinforcement learning
Wu et al. High-dimensional function optimisation by reinforcement learning

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