一种利用专家样本指导奖励分解的多智能体合作控制方法

文档序号:33544319发布日期:2023-03-22 09:40阅读:79来源:国知局
一种利用专家样本指导奖励分解的多智能体合作控制方法

1.本发明涉及智能体控制的技术领域,具体是涉及一种利用专家样本指导奖励分解的多智能体合作控制方法。


背景技术:

2.合作多智能体强化学习(marl)广泛用于多智能体系统(mas)中的协作任务。现有的合作多智能体强化学习算法通常仅使用单个团队奖励来评估代理的行为。然而,由于所有代理都获得相同的全局团队奖励,多智能体强化学习算法可能无法正确评估代理的行为,并错误地更新其策略。因此,在多智能体系统中促进有效合作的关键挑战是正确地为每个代理分配奖励,这被称为多代理信誉分配问题。
3.现有工作提出了各种价值分解方法来解决多智能体信用分配问题。我们可以按照值分解类型分为隐式值分解和显式值分解。隐式值分解(ivd)使用由全局状态-动作对训练的全局评估网络评估单个智能体的动作,从而促使评估智能体对团队的贡献。
4.此外,vdn通过局部价值函数的求和直接执行显式价值分解(evd)操作,简单地将单智能体价值函数映射到团队价值函数。但是vdn通常无法反映每个代理对团队所做的非线性贡献。随后,qmix使用神经网络从每个代理的局部值函数中非线性映射出全局值函数。但是,仍然需要全局状态作为qmix的辅助输入。qmix满足的单调约束是充分非必要条件,因此当其他人的行为影响多智能体中的代理时,qmix可能无法准确估计联合价值函数。
5.尽管上述值分解方法在某些任务上取得了良好的性能,但它们仍然存在一些缺点。首先,使用现有算法,单个智能体仍然无法获得单步状态-动作对的奖励信号。换句话说,分解的局部值函数仅对代理行为进行平均评估,这可能会使算法陷入局部最优。其次,evd基于所有代理的局部价值函数拟合联合价值函数,因此当代理数量增加时,网络可能会出现收敛问题。第三,价值分解算法得到的策略没有考虑与现实世界数据的差距,这可能导致泛化困难,也不利于算法的可解释性。


技术实现要素:

6.针对上述问题,本发明提出了一种利用专家样本指导奖励分解的多智能体合作控制方法,通过使用专家演示分解团队奖励,在每个时间步都给每个智能体奖励,让他们能够准确评估其状态动作的价值,而不再需要分解全局价值函数。首先,本发明使用专家演示来分解每个时间步的团队奖励函数,并从奖励函数层面而不是价值函数层面解决信用分配问题。其次,该本发明算法使智能体具有很强的探索环境的能力,使其对奖励函数具有鲁棒性。由于专家演示引导奖励分解,即使奖励稀少或任务困难,代理仍会执行更类似于专家行为的动作,使其能够有效地探索。这降低了rl奖励设置的难度,并在具有挑战性的任务下表现出色。本发明的策略将收集到的轨迹分布类似于专家演示的分布,因为专家对相似的智能体行为分配更高的奖励,引导智能体模仿专家,当专家演示来自现实世界时,这可以指导代理产生逼真的行为。
7.为了实现上述目的,本发明提供一种利用专家样本指导奖励分解的多智能体合作控制方法,包括以下步骤:
8.s1、采集收敛后的专家数据,包括其状态-动作对;
9.s2、根据传感器数据建立每个智能体的局部观察向量和自身状态向量;
10.s3、收集每个回合内所有智能体的状态-动作对,将所述智能体的状态-动作对与专家的状态-动作对作为鉴别器的输入,并以二分类损失函数训练鉴别器;
11.s4、再次将智能体的状态-动作对作为鉴别器输入,根据鉴别器输出判断智能体与专家行为的相似度,根据所述相似度得到其奖励系数,完成奖励分解;
12.s5、根据每个智能体得到的分解后的奖励训练智能体自身的评价和策略网络;
13.s6、反复执行步骤s3至步骤s5进行对抗训练迫使智能体行为越来越接近专家行为。
14.优选的,所述步骤s3具体包括以下步骤:
15.s31、将每个智能体对周围环境和自身状态进行观察得到的状态信息表述为局部观察值,所述局部观察值包括该智能体感知范围内的所有智能体和环境信息,所述局部观察值即为智能体状态,与智能体动作组合为状态-动作对;
16.s32、收集收敛后每一时刻的专家的状态-动作对以及此时智能体与环境交互得到的状态-动作对;
17.s33、将步骤s31和步骤s32得到的两种状态-动作对作为鉴别器输入,使智能体状态-动作对鉴别器编码后输出逼近0,专家状态-动作对编码后输出逼近1,训练二分类鉴别器。
18.优选的,所述步骤s33中的训练二分类鉴别器的具体算法推导过程如下:
19.首先利用占用度的概念来衡量智能体行为与专家行为的相似性,最大因果熵逆强化学习(irl)寻找一个成本函数它将低成本分配给专家策略,将高成本分配给其他策略:
[0020][0021]
其中,(s,a)是智能体的状态-动作对,强化学习将学习到的成本函数映射到高熵策略,以最小化预期的累积成本,从而能够模仿专家,
[0022]
rl(c)=argmin-h(π)+e
x
[c(s,a)]
[0023]
是一个γ折扣累积因果熵,用于防止算法过拟合,根据占用率的定义,期望代价函数e
π
[c(s,a)]可以写成:
[0024]eπ
[c(s,a)]=∑
s,a
ρ
π
(s,a)c(s,a)
[0025]
定义一个逆强化学习原始过程,该过程找到一个成本函数,使得专家成本低于所有其他策略,成本函数由ψ正则化:
[0026][0027]
对于每个代理模仿专家可以定义为占用匹配问题,学习到的策略的状态-动作分
布与专家一致,
[0028][0029]
上述等式可以解释为单个代理的策略和专家的策略之间的占用相似度的度量,此二元分类问题的最佳负对数损失为:
[0030][0031]
优选的,所述二分类鉴别器的作用是来识别智能体行为是否是专家行为并使得智能体行为越接近专家行为的获得高奖励。
[0032]
优选的,所述步骤s4完成奖励分解的推导过程如下:
[0033]
智能体的策略使用log(d(s,a))作为奖励函数;
[0034]
此时对于智能体有:
[0035][0036]
类似地,对于多智能体,假设则
[0037][0038]
其中表示智能体i的πi和其他代理的对于智能体i,二分类鉴别器需要通过专家演示和智能体的样本进行训练,鉴别器将其映射到1和0以区分两者,相反,使用作为智能体的初始奖励函数,这反过来有助于智能体愚弄鉴别器,优化以下目标:
[0039][0040]
对于多智能体系统,有一个奖励函数:
[0041][0042]
因此,每个时间步的联合奖励可以分解为:
[0043][0044]
上式表示智能体的状态-动作越接近专家的策略,他对团队的贡献越大,奖励的分配也越大。
[0045]
优选的,所述步骤s5中训练智能体自身的评价和策略网络采用ppo算法来训练,目标函数为:
[0046][0047][0048]
其中,s,a分别是对智能体的状态与动作,θ为策略参数,a是优势函数,ε是超参数,通常设置为0.1或者0.2,q,v分别表示状态-动作值函数和状态值函数。
[0049]
优选的,所述步骤s6需要所述步骤s3至所述步骤s5反复迭代,每个回合步骤s3进行训练鉴别器能够识别智能体行为是不是专家行为,步骤s5利用步骤s4分解的奖励函数反过来训练智能体行为逼近专家行为,步骤s3至s5构成进行对抗训练。
[0050]
与现有技术相比,本发明的有益效果是:
[0051]
1、本发明使用专家演示来分解每个时间步的团队奖励函数从奖励函数层面而不是价值函数层面解决多智能体信用分配问题;
[0052]
2、本发明的算法使智能体具有很强的探索环境的能力,使其对奖励函数具有鲁棒性。由于专家演示引导奖励分解,即使奖励稀少或任务困难,代理仍会执行更类似于专家行为的动作,使其能够有效地探索,这降低了强化学习奖励设置的难度,并在具有挑战性的任务下表现出色。
[0053]
3、本发明的策略收集到的轨迹分布类似于专家演示的分布,因为专家给相似的代理行为分配更高的奖励,引导代理模仿专家,当专家演示来自现实世界时,这可以指导代理产生逼真的行为。
附图说明
[0054]
图1为为本发明提供的一种利用专家样本指导奖励分解的多智能体合作控制方法得原理示意图;
[0055]
图2为本发明进行实验时所使用的地图中障碍物分布图。
具体实施方式
[0056]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057]
本发明是根据智能体的行为与专家行为的相似度来进行智能体的奖励分解,而不是传统值分解,通过占用度概念,训练一个鉴别器用以识别智能体或专家样本的状态-动作对,进而衡量智能体的行为与专家样本的相似度。利用不同智能体与专家的相似度,得到不同相似度比例,归一化后,以此比例作为其对团队的贡献占比,乘以全局奖励,得到每个智能体的局部奖励,以此局部奖励来优化自身策略,通过反复迭代鉴别和智能体策略训练,使其两者进行对抗,从而迫使智能体行为越来越接近专家行为。本发明在奖励函数层面上解决多智能体系统的信誉分配问题。
[0058]
本发明提出的一种利用专家样本指导奖励分解的多智能体合作控制方法,包括以下步骤:
[0059]
s1、采集收敛后的专家数据,包括其状态-动作对。
[0060]
s2、根据传感器数据建立每个智能体的局部观察向量和自身状态向量。每个智能体都会根据传感器对自己和环境状态拥有观测值,这是每个智能体的局部观测值,根据每个智能体的局部观察值和动作组成状态-动作对。
[0061]
s3、收集每个回合内所有智能体的状态-动作对,将所述智能体的状态-动作对与专家的状态-动作对作为鉴别器的输入训练鉴别器。
[0062]
所述步骤s3具体包括以下步骤:
[0063]
s31、将每个智能体对周围环境和自身状态进行观察得到的状态信息表述为局部观察值,所述局部观察值包括该智能体感知范围内的所有智能体和环境信息,所述局部观察值即为智能体状态,与智能体动作组合为状态-动作对;
[0064]
s32、收集收敛后每一时刻的专家的状态-动作对以及此时智能体与环境交互得到的状态-动作对;
[0065]
s33、将步骤s31和步骤s32得到的两种状态-动作对作为鉴别器输入,使智能体局部观察值鉴别器编码后输出逼近0,专家局部观察值编码后输出逼近1,训练二分类鉴别器。
[0066]
其中,步骤s33中的训练二分类鉴别的具体算法推导如下:
[0067]
算法利用占用度的概念来衡量智能体行为与专家行为的相似性,最大因果熵逆强化学习(irl)寻找一个成本函数它将低成本分配给专家策略,将高成本分配给其他策略:
[0068][0069]
其中,(s,a)是智能体的状态-动作对,强化学习将学习到的成本函数映射到高熵策略,以最小化预期的累积成本,从而能够模仿专家,
[0070]
rl(c)=argmin-h(π)+e
π
[c(s,a)]
[0071]
是一个γ折扣累积因果熵,用于防止算法过拟合,根据占用率的定义,期望代价函数e
π
[c(s,a)]可以写成:
[0072]eπ
[c(s,a)]=∑
s,a
ρ
π
(s,a)c(s,a)
[0073]
定义一个逆强化学习原始过程,该过程找到一个成本函数,使得专家成本低于所有其他策略,成本函数由ψ正则化:
[0074][0075]
对于每个代理模仿专家可以定义为占用匹配问题,学习到的策略的状态-动作分布与专家一致,
[0076][0077]
上述等式可以解释为单个代理的策略和专家的策略之间的占用相似度的度量,此
二元分类问题的最佳负对数损失为:
[0078][0079]
s4、再次将智能体的状态-动作对作为鉴别器输入,根据鉴别器输出判断智能体与专家行为的相似度,根据所述相似度得到其奖励系数,完成奖励分解。
[0080]
即根据步骤s3的得到的训练好的二分类鉴别器网络,再次将智能体的状态-动作对作为二分类鉴别器输入,根据二分类鉴别器输出判断智能体与专家行为的相似度,其值在[0,1]之间,归一化处理,得到每个智能体的奖励系数,乘以全局奖励,得到智能体的局部奖励。
[0081]
二分类鉴别器网络的作用是来识别智能体行为是否是专家行为并使得智能体行为越接近专家行为的获得高奖励。
[0082]
智能体的策略使用log(d(s,a))作为奖励函数,这使得鉴别器误认为是专家演示。
[0083]
此时,对于智能体有:
[0084][0085]
类似地,对于多智能体,假设则
[0086][0087]
其中表示智能体i的πi和其他代理的对于智能体i,二分类鉴别器需要通过专家演示和智能体的样本进行训练,鉴别器将其映射到1和0以区分两者,相反,使用作为智能体的初始奖励函数,这反过来有助于智能体愚弄鉴别器,优化以下目标:
[0088][0089]
对于多智能体系统,有一个奖励函数:
[0090][0091]
因此,每个时间步的联合奖励可以分解为:
[0092][0093]
上式表示智能体的状态-动作越接近专家的策略,他对团队的贡献越大,奖励的分配也越大。
[0094]
s5、根据每个智能体得到的分解后的奖励训练智能体自身的评价和策略网络。
[0095]
训练智能体自身的评价和策略网络使用ppo作为训练框架,目标函数为:
[0096][0097][0098]
其中,s,a分别是对智能体的状态与动作,θ为策略参数,a是优势函数,ε是超参数,通常设置为0.1或者0.2,q,v分别表示状态-动作值函数和状态值函数
[0099]
s6、反复执行步骤s3至步骤s5进行对抗训练迫使智能体行为越来越接近专家行为。
[0100]
步骤s6需要所述步骤s3至所述步骤s5反复迭代,每个回合步骤s3进行训练鉴别器能够识别智能体行为不是专家行为,步骤s5利用步骤s4分解的奖励函数反过来训练智能体行为逼近专家行为,步骤s3至s5构成进行对抗训练。
[0101]
此处训练组内合作算法中网络的超参数为:学习率lr=10-4
,网络维度为256,长期回报的折扣γ为0.99。
[0102]
实验验证:
[0103]
网格世界模拟grid world用于基准测试。网格世界环境可以设置任意地图大小和障碍物密度。如图2所示,在本发明中使用地图大小{32,64,128,256,512},障碍物密度{0.05,0.15}。在这个模拟中,代理的视野是9个网格,它构成一个部分可观察的马尔科夫决策过程。每张地图的起点在右上角,目标点在左下角。代理人必须在尽可能保持编队的同时避开障碍物才能到达目的地。训练时会随机生成每种类型的100张图,防止算法过拟合。为了验证算法对奖励的鲁棒性,设计了多个奖励函数,并比较了算法在网格世界中的表现。实验结果如表所示:
[0104][0105]
首先,如上表所示,本发明的算法在大多数情况下都取得了最佳性能。值得注意的是,该方法的性能与基线算法相当,仅在任务相对简单时,特别是在地图较小且障碍物较少且代理需要检测的路径较短时。对于大多数困难的任务,本发明的算法明显优于基线算法,这验证了本发明提出的方法的有效性,使用专家数据的指导来训练智能体。
[0106]
虽然在本文中参照了特定的实施方式来描述本发明,但是应该理解的是,这些实
施例仅仅是本发明的原理和应用的示例。因此应该理解的是,可以对示例性的实施例进行许多修改,并且可以设计出其他的布置,只要不偏离所附权利要求所限定的本发明的精神和范围。应该理解的是,可以通过不同于原始权利要求所描述的方式来结合不同的从属权利要求和本文中所述的特征。还可以理解的是,结合单独实施例所描述的特征可以使用在其他所述实施例中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1