一种基于集成的合作多智能体深度强化学习方法
未命名
07-27
阅读:121
评论:0
1.本发明涉及深度强化学习学习及合作多智能体领域,具体是一种基于集成的合作多智能体深度强化学习方法。
背景技术:
2.基于深度强化学习的合作多智能体技术在处理序列决策任务方面具有很大的潜力,现实中许多问题都可以看作合作多智能体系统的序列决策问题。例如在城市交通信号灯控制中,每个智能体控制一个交通信号灯,整个道路网上的所有交通信号灯便是一个合作多智能体系统,已经有许多研究通过模拟实验(如presslight、mplight等)表明基于深度强化学习的合作多智能体技术能有效提升城市交通信号灯控制的效果。此外,基于深度强化学习的合作多智能体技术还可用于解决机器人控制、电力系统优化、自动驾驶等问题。因此,基于深度强化学习的合作多智能体技术正受到越来越多的关注。然而,在真正的现实场景中,环境是复杂多变的,且多个智能体在同一个环境中同时学习,容易出现环境非平稳性问题,会导致合作多智能体在某些状态下的决策受到不利影响。另一方面,由于许多方法采用经验回放机制,每次训练的样本都是从经验缓冲区随机抽取的,这可能会导致有些状态下的转移样本未被充分训练,进而导致合作多智能体在这些状态下的决策失效。这说明合作智能体系统存在智能体决策的鲁棒性不足的问题。
3.基于深度强化学习的合作多智能体主要可分为基于演员评论家的方法和基于值函数分解的方法。基于演员评论家的方法(如maddpg、coma、maac等)为每个智能体训练一个局部的演员网络和一个中心化的评论家网络,其中演员网络用于智能体的决策,评论家网络用于指导演员网络进行训练。基于演员评论家的方法的优势在于可以处理连续动作以及随机策略任务,因为智能体决策时是依据演员网络输出的动作概率分布进行采样的。其劣势在于容易陷入次优策略,且存在高方差问题。基于值函数分解的方法(如vdn、qmix、qtran、qplex等)为每个智能体训练一个局部的动作值函数,并通过所有智能体的局部动作值函数来近似一个全局动作值函数,局部的动作值函数用于每个智能体的决策,近似的全局动作值函数用于反向更新神经网络的参数。基于演员评论家的方法的优势在于智能体能直接使用利用全局信息训练的动作值函数进行决策,劣势在于无法处理处理连续动作以及随机策略任务。
4.然而,在基于深度强化学习的合作多智能体中,无论是基于演员评论家的方法还是基于值函数分解的方法,都无法避免合作智能体系统中智能体决策的鲁棒性不足的问题。在某些序列决策任务中,合作多智能体系统在某些状态下的决策失效很可能会导致整个任务失败,例如在自动驾驶出现该问题可能会导致交通事故的发生。因此,针对合作智能体系统中智能体的决策进行优化。
技术实现要素:
5.本发明的目的是针对目前基于深度强化学习的合作多智能体中智能体决策的鲁
棒性不足的问题,提出了一种基于集成的合作多智能体深度强化学习方法。这种方法为每个智能体集成多个策略网络或者动作值网络,使得智能体依据能多个策略网络或者动作值网络集成的输出进行决策,以提升智能体决策的鲁棒性。该方法为集成的多个策略网络或者动作值网络使用不同的样本训练进行训练,保证了它们的多样性。有效提升智能体决策的鲁棒性,同时还具有良好的适用性,既可用于基于演员评论家的方法,又可用于基于值函数分解的方法。
6.实现本发明目的的技术方案是:
7.一种基于集成的多智能体深度强化学习方法(ensemble-based decision optimization for multi-agent deep reinforcement learning,简称edo),所述方法的主体思想和整体模型如下:
8.1.主要思想:为每个智能体集成多个策略网络或者动作值网络,使得智能体可依据多个网络集成的动作概率分布或者动作值进行决策;即:
9.每个智能体的内部都集成了m个策略网络或者值网络,集成模块的作用是将m个策略网络或者值网络的输出集成为一个总体的动作概率分布或者动作值;
10.2.整体模型:合作多智能体与环境交互的过程为:每个智能体i根据环境的全局状态获取自己的局部观察,每个智能体i将局部观察分别输入到自己的m个策略网络或者值网络,并输出m个动作概率分布p
ij
(oi|
·
)或者动作值然后采用acw或者oav集成方法对m个动作概率分布或者动作值进行集成,并得到集成的动作概率分布pi(oi|
·
)或者动作值qi(oi|
·
),每个智能体i根据集成的动作概率分布pi(oi|
·
)进行动作采样或者根据集成的动作值qi(oi|
·
)进行ε-greedy动作选择,所有智能体选择的动作构成一个联合动作使环境转移到下一个状态,每个智能体均获得环境反馈的团队奖励,重复以上过程直到本回合结束;
11.在edo模型中,每个智能体集成的m个策略网络或者值网络使用同一个经验缓冲池中的转移样本<s,a,r,s'>进行训练,但是每个策略网络或者值网络都独立的从经验缓冲池中随机抽取各自用于训练的转移样本,在多智能体深度强化学习算法实现中,经验缓冲池的典型容量为5000,即经验缓冲池最多存放5000个转移样本,当经验缓冲池的空余容量不够存放智能体最新收集的转移样本时,便将经验缓冲池中存放最久的部分转移样本删除以腾出空余容量,每次随机抽取的转移样本的典型数量为32,即每次从经验池中随机抽取32个转移样本用于训练;由于每次训练时,m个策略网络或者值网络都独立的从经验池的5000个样本中抽取32个样本由用于训练,因此每个策略网络或者值网络训练时使用的样本大概率是不一样的,因为m个策略网络或者值网络每次都采取不同的转移样本进行训练,所以这些策略网络或者值网络的参数是不同的,即它们是存在多样性的;
12.由于m个策略网络或者值网络之间是存在多样性的,所以在某个状态下,当在某一个策略网络或者值网络无法输出正确的动作概率分布或者动作值时,智能体依据其他策略网络或者值网络输出的正确信息进行正常的决策;
13.在edo模型的集成模块中,设计了两种集成方式:一种是基于动作置信度权重的集成方法(ensemble method based on action confidence weights,简称acw),另一种是基于最优动作投票的集成方法(ensemble method based on optimal action voting,简称oav):
14.在acw集成方法中,使用到了动作置信度(action confidence)的概念,在强化学习中,动作置信度的含义是智能体依据动作概率分布或者动作值进行决策时的自信程度,智能体决策时,若对某一个动作的偏好越明显,则该状态下的动作置信度越大,若对特定动作的偏好越不明显,则该状态下的动作置信度越大,在基于值的方法中,动作置信度定义为ψ(q(o|
·
)):
15.ψ(q(o|
·
))=q
max
(o|
·
)-q
second
(o|
·
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
16.其中,q(o|
·
)表示局部观察o下所有动作对应的动作值,q
max
(o|
·
)表示在局部观察o下最大的动作值,q
second
(o|
·
)表示在局部观察o下第二大的动作值,在基于策略的方法中,动作置信度定义为ψ(p(o|
·
))
17.ψ(p(o|
·
))=p
max
(o|
·
)-p
second
(o|
·
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
18.其中,p(o|
·
)表示局部观察o下所有动作对应的动作概率,p
max
(o|
·
)表示在局部观察o下最大的动作概率,p
second
(o|
·
)表示在局部观察o下第二大的动作概率;
19.acw集成方法使用每个策略网络或者值网络的动作置信度作为其权重,通过将乘以权重的动作概率分布或者动作值累加得到集成的动作概率分布p
acw
(o|
·
)或者动作值q
acw
(o|
·
):
[0020][0021][0022]
其中,m表示智能体集成的策略网络或者值网络的数量;
[0023]
在oav集成方法中,每个智能体集成的m个策略网络或者值网络依据最优动作进行投票,最优动作a
*
定义为具有最大动作值或者最大动作概率的动作,在每个策略网络或者值网络的输出中,都存在一个最优动作,oav集成方法的思想在于,若智能体的多个策略网络或者值网络的最优动作都是同一个动作则认为选择该动作能为智能体带来最大的未来预期奖励,需要选取动作但是,训练前期各个策略网络或者值网络都未能得到充分的训练,其输出的最优动作具有较大的随机性,越是训练前期,输出的最优动作具有越大的随机性;因此,不能在整个训练过程都完全依据进行决策,而是应该随着训练的步数的增加,逐渐增大对的重视程度;
[0024]
同时,oav集成方法还需要考虑到其他情况,当集成的数量m大,同一状态下存在多个时,只考虑对应最多的策略网络或者值网络的此外,当某个状态下所有集成的策略网络或者值网络的最优动作都不相同时,oav集成方法使用累加所有策略网络或者值网络的输出进行集成,经过分析可知,使用oav集成方法对m个策略网络进行集成时得到的结果为:
[0025][0026]
其中,m表示智能体集成的策略网络的数量,pi(o|
·
)表示对应的策略网络输出的动作概率分布,k表示对应的策略网络的个数,pj(o|
·
)表示最优动作不是的
策略网络输出的动作概率,t
cur
表示当前的训练步数,t
max
表示设置的最大训练步数,使用oav集成方法对m个策略网络进行集成时得到的结果为q
oav
(o|
·
):
[0027][0028]
其中,m表示智能体集成的策略网络的数量,qi(o|
·
)表示对应的策略网络输出的动作值分布,k表示对应的策略网络的个数,qj(o|
·
)表示最优动作不是的动作值,t
cur
表示当前的训练步数,t
max
表示设置的最大训练步数;
[0029]
所述方法包括如下步骤:
[0030]
步骤1、演员评论家网络或者动作值网络的初始化:为每个智能体集成m个演员评论家网络或者动作值网络,并随机初始化网络参数;
[0031]
步骤2、获取局部观察:每个智能体从环境中获取各自的局部观察;
[0032]
步骤3、合作多智能体系统在环境中的决策:每个智能体将局部观察输入到m个策略网络或者动作值网络,使用基于动作置信度权重的集成方法或者基于最优动作投票的集成方法将m个策略网络或者动作值网络的输出集成为一个总体的动作概率分布或者动作值,智能体依据总体的动作概率分布进行动作采样或者依据动作值进行ε-greedy动作选择,合作多智能体系统获得环境反馈的奖励,并转移到下一个状态,重复上述步骤直到回合结束,具体的计算方式如公式(1)、(2)、(3)、(4)、(5)和(6)所示;
[0033]
步骤4、抽取转移样本:从经验缓冲区为每个智能体集成的m个演员评论家网络或者动作值网络抽取转移样本,用于每个演员评论家网络或者动作值网络的转移样本都是独立且随机抽取的;
[0034]
步骤5、训练演员评论家网络或者动作值网络:使用抽取出的转移样本,依次训练所有的训练演员评论家或者动作值网络;
[0035]
步骤6、重复步骤2-步骤5,直至训练结束。
[0036]
与现有技术相比,本技术方案具有如下特点:
[0037]
1、本技术方案通过为合作多智能体系统中的每个智能体集成多个策略网络或者动作值网络,能有效提升智能体决策的鲁棒性。
[0038]
2、本技术方案依据强化学习特性提出了两种集成方法,基于动作置信度权重的集成方法(acw)和基于最优动作投票的集成方法(oav),能有效地将多个策略网络或者动作值网络的输出集成一个总体的输出,以供智能体决策。
[0039]
3、本技术方案具有广泛的适用性,在基于深度强化学习的合作多智能体领域的所有方法中均可适用。
附图说明
[0040]
图1为实施例的架构及智能体的决策示意图;
[0041]
图2为实施例在基于演员评论家方法maddpg上实现的架构图;
[0042]
图3为实施例在基于值函数分解方法qmix上实现的架构图;
[0043]
图4为实施例中智能体的视野范围和射击范围的示意图;
[0044]
图5为实施例中corridor环境的示意图;
[0045]
图6为实施例中捕食者-猎物环境的示意图;
[0046]
图7为实施例中物理欺诈环境的示意图。
具体实施方式
[0047]
下面结合附图及具体实施例对本发明作进一步的详细描述,但不是对本发明的限定。
[0048]
实施例:
[0049]
参照图1,一种基于集成的合作多智能体深度强化学习方法即edo,所述方法的主体思想和整体模型如下:
[0050]
1.主要思想:为每个智能体集成多个策略网络或者动作值网络,使得智能体可依据多个网络集成的动作概率分布或者动作值进行决策;即:
[0051]
每个智能体的内部都集成了m个策略网络或者值网络,集成模块的作用是将m个策略网络或者值网络的输出集成为一个总体的动作概率分布或者动作值;
[0052]
2.整体模型:合作多智能体与环境交互的过程为:每个智能体i根据环境的全局状态获取自己的局部观察,每个智能体i将局部观察分别输入到自己的m个策略网络或者值网络,并输出m个动作概率分布p
ij
(oi|
·
)或者动作值然后采用acw或者oav集成方法对m个动作概率分布或者动作值进行集成,并得到集成的动作概率分布pi(oi|
·
)或者动作值qi(oi|
·
),每个智能体i根据集成的动作概率分布pi(oi|
·
)进行动作采样或者根据集成的动作值qi(oi|
·
)进行ε-greedy动作选择,所有智能体选择的动作构成一个联合动作使环境转移到下一个状态,每个智能体均获得环境反馈的团队奖励,重复以上过程直到本回合结束;
[0053]
在edo模型中,每个智能体集成的m个策略网络或者值网络使用同一个经验缓冲池中的转移样本<s,a,r,s'>进行训练,但是每个策略网络或者值网络都独立的从经验缓冲池中随机抽取各自用于训练的转移样本,在多智能体深度强化学习算法实现中,经验缓冲池的典型容量为5000,即经验缓冲池最多存放5000个转移样本,当经验缓冲池的空余容量不够存放智能体最新收集的转移样本时,便将经验缓冲池中存放最久的部分转移样本删除以腾出空余容量,每次随机抽取的转移样本的典型数量为32,即每次从经验池中随机抽取32个转移样本用于训练;由于每次训练时,m个策略网络或者值网络都独立的从经验池的5000个样本中抽取32个样本由用于训练,因此每个策略网络或者值网络训练时使用的样本大概率是不一样的,因为m个策略网络或者值网络每次都采取不同的转移样本进行训练,所以这些策略网络或者值网络的参数是不同的,即它们是存在多样性的;
[0054]
由于m个策略网络或者值网络之间是存在多样性的,所以在某个状态下,当在某一个策略网络或者值网络无法输出正确的动作概率分布或者动作值时,智能体依据其他策略网络或者值网络输出的正确信息进行正常的决策;
[0055]
在edo模型的集成模块中,设计了两种集成方式:一种是基于动作置信度权重的集成方法即acw,另一种是基于最优动作投票的集成方法即oav:
[0056]
在acw集成方法中,使用到了动作置信度的概念,在强化学习中,动作置信度的含义是智能体依据动作概率分布或者动作值进行决策时的自信程度,智能体决策时,若对某一个动作的偏好越明显,则该状态下的动作置信度越大,若对特定动作的偏好越不明显,则
该状态下的动作置信度越大,在基于值的方法中,动作置信度定义为ψ(q(o|
·
)):
[0057]
ψ(q(o|
·
))=q
max
(o|
·
)-q
second
(o|
·
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0058]
其中,q(o|
·
)表示局部观察o下所有动作对应的动作值,q
max
(o|
·
)表示在局部观察o下最大的动作值,q
second
(o|
·
)表示在局部观察o下第二大的动作值,在基于策略的方法中,动作置信度定义为ψ(p(o|
·
))
[0059]
ψ(p(o|
·
))=p
max
(o|
·
)-p
second
(o|
·
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0060]
其中,p(o|
·
)表示局部观察o下所有动作对应的动作概率,p
max
(o|
·
)表示在局部观察o下最大的动作概率,p
second
(o|
·
)表示在局部观察o下第二大的动作概率;
[0061]
acw集成方法使用每个策略网络或者值网络的动作置信度作为其权重,通过将乘以权重的动作概率分布或者动作值累加得到集成的动作概率分布p
acw
(o|
·
)或者动作值q
acw
(o|
·
):
[0062][0063][0064]
其中,m表示智能体集成的策略网络或者值网络的数量;
[0065]
下面通过一个具体的例子来演示acw集成方法:假设智能体i集成了3个动作值网络,每次决策时有4个动作可选,在某状态下,智能体i的局部观察是o,3个动作值网络输出的动作值分别为:q1(o|
·
)=[0.1,0.5,0.2,0.2],q2(o|
·
)=[0.2,0.6,0.1,0.1],q3(o|
·
)=[0.4,0.3,0.1,0.2],在以上假设下,依据公式(1)可以计算出3个动作值网络的动作置信度分别为:ψ1(q1(o|
·
))=0.5-0.2=0.3,ψ2(q2(o|
·
))=0.6-0.2=0.4,ψ3(q3(o|
·
))=0.4-0.3=0.1,然后依据公式(4)可以计算出集成的动作值为:
[0066]qacw
(o|
·
)=0.3
×
q1(o|
·
)+0.3
×
q2(o|
·
)+0.1
×
q3(o|
·
)=[0.13,0.36,0.1,0.11]
[0067]
若根据智能体i根据ε-greedy进行动作选择,则智能体i将以ε的概率随机选择动作,以1-ε的概率选择具有最大动作值的动作2,在该例子中,智能体同时依据3个动作值网络进行决策时大概率会选择动作2,若智能体只依据q3动作值网络进行决策时,则大概率会选择动作1,可以看出,edo改变了智能体的决策,若智能体集成的是多个策略网络,则acw集成方法的计算过程与以上过程类似;
[0068]
在oav集成方法中,每个智能体集成的m个策略网络或者值网络依据最优动作进行投票,最优动作a
*
定义为具有最大动作值或者最大动作概率的动作,在每个策略网络或者值网络的输出中,都存在一个最优动作,oav集成方法的思想在于,若智能体的多个策略网络或者值网络的最优动作都是同一个动作则认为选择该动作能为智能体带来最大的未来预期奖励,需要选取动作但是,训练前期各个策略网络或者值网络都未能得到充分的训练,其输出的最优动作具有较大的随机性,越是训练前期,输出的最优动作具有越大的随机性;因此,不能在整个训练过程都完全依据进行决策,而是应该随着训练的步数的增加,逐渐增大对的重视程度;
[0069]
同时,oav集成方法还需要考虑到其他情况,当集成的数量m大,同一状态下存在多
个时,只考虑对应最多的策略网络或者值网络的例如智能体i集成了7个策略网络,在某个局部观察下,其中有4个策略网络都是a1对应的动作概率最大,另外有2个策略网络都是a3对应的动作概率最大,在这种情况下,a1将作为此外,当某个状态下所有集成的策略网络或者值网络的最优动作都不相同时,oav集成方法使用累加所有策略网络或者值网络的输出进行集成,经过分析可知,使用oav集成方法对m个策略网络进行集成时得到的结果为:
[0070][0071]
其中,m表示智能体集成的策略网络的数量,pi(o|
·
)表示对应的策略网络输出的动作概率分布,k表示对应的策略网络的个数,pj(o|
·
)表示最优动作不是的策略网络输出的动作概率,t
cur
表示当前的训练步数,t
max
表示设置的最大训练步数,使用oav集成方法对m个策略网络进行集成时得到的结果为q
oav
(o|
·
):
[0072][0073]
其中,m表示智能体集成的策略网络的数量,qi(o|
·
)表示对应的策略网络输出的动作值分布,k表示对应的策略网络的个数,qj(o|
·
)表示最优动作不是的动作值,t
cur
表示当前的训练步数,t
max
表示设置的最大训练步数;
[0074]
所述方法包括如下步骤:
[0075]
步骤1、演员评论家网络或者动作值网络的初始化:为每个智能体集成m个演员评论家网络或者动作值网络,并随机初始化网络参数;
[0076]
步骤2、获取局部观察:每个智能体从环境中获取各自的局部观察;
[0077]
步骤3、合作多智能体系统在环境中的决策:每个智能体将局部观察输入到m个策略网络或者动作值网络,使用基于动作置信度权重的集成方法或者基于最优动作投票的集成方法将m个策略网络或者动作值网络的输出集成为一个总体的动作概率分布或者动作值,智能体依据总体的动作概率分布进行动作采样或者依据动作值进行ε-greedy动作选择,合作多智能体系统获得环境反馈的奖励,并转移到下一个状态,重复上述步骤直到回合结束,具体的计算方式如公式(1)、(2)、(3)、(4)、(5)和(6)所示;
[0078]
步骤4、抽取转移样本:从经验缓冲区为每个智能体集成的m个演员评论家网络或者动作值网络抽取转移样本,用于每个演员评论家网络或者动作值网络的转移样本都是独立且随机抽取的;
[0079]
步骤5、训练演员评论家网络或者动作值网络:使用抽取出的转移样本,依次训练所有的训练演员评论家或者动作值网络;
[0080]
步骤6、重复步骤2-5,直至训练结束。
[0081]
下面介绍将edo应用到两种代表性算法(maddpg和qmix)上的实验表现。图2和图3分别表示出了edo在演员评论家方法maddpg和值函数分解方法qmix上的实现。由于edo包含了acw和oav两种集成方式,因此实验中测试的方法一共包括6种:acw-maddpg、oav-maddpg、acw-qmix、oav-qmix、maddpg和qmix。其中,acw-maddpg和oav-maddpg表示在基于演员评论
家的方法的基础框架上结合edo方法并分别采用acw和oav集成方法,acw-qmix和oav-qmix表示在基于值函数分解的方法的基础框架上结合edo方法并分别采用acw和oav集成方法。从星际争霸多智能体挑战实验环境(smac)和多智能体粒子实验环境(mpe)中选取了总共3个实验环境进行测试,包括:corridor、物理欺骗(physical deception)和捕食者-猎物(predator-prey)实验环境。
[0082]
星际争霸多智能体挑战(smac)基于流行的即时战略游戏《星际争霸ii》。在《星际争霸ii》的常规完整游戏中,一个玩家与多个玩家相互竞争,或者与内置的游戏ai竞争,以收集资源,建造建筑物,并组建部队来击败对手。与大多数即时战略游戏类似,《星际争霸ii》有两个主要玩法组件:宏观管理和微观管理。宏观管理是指高层次的战略考虑,如经济和资源管理。微观管理则是指对单个单元的细粒度控制。为了构建一个丰富的多智能体强化学习测试平台,smac只关注微观管理,即每个单位都由一个智能体独立地控制,该智能体必须根据局部观察采取动作。局部观察是以该单位为中心的有限视野(见图4)。合作多智能体系统的目标是通过训练来提升智能体的微操和合作行为,以在具有挑战性的战斗场景中,与游戏内置脚本ai集中控制的敌方军队作战并取得胜利。微操是《星际争霸ii》游戏玩法中非常重要的一个方面,具有很高的技能上限,业余和专业玩家都可以单独练习。smac提供了一组不同的实验场景,用于测试算法处理高维输入的能力以及算法在部分可观察性和分散执行的限制下合作多智能体系统学习合作行为的能力。
[0083]
corridor是星际争霸多智能体挑战实验环境中的一种难度被定义为超级困难(super hard)的环境。corridor中包含6个狂热者单位(zealot),每个狂热者单位均由一个智能体独立控制,敌方是由星际争霸ii内置脚本ai集中控制的24个跳虫单位(zergling)。狂热者单位和跳虫单位的攻击方式均为近战攻击。每次环境初始化,24个跳虫单位总是紧挨着出现在特定的位置。若跳虫单位的视野范围内没有狂热者单位,则它们总是会向环境的某一端前行,直到到达终点为止。由于在corridor中狂热者单位和跳虫单位都是使用近战攻击,且跳虫单位的数量是狂热者单位的6倍,因此多智能体系统必须学会分散跳虫单位的火力才有可能取得胜利。corridor环境如图5所示。
[0084]
多智能体粒子任务是一类将智能体以及环境中的一些物体简化为粒子的模拟任务。在这类任务中,智能体具有连续的观察和离散的动作空间,并具有一些基本的物理特性,如体积、速度等。通过设置不同的智能体属性以及目标等方式,衍生出了多种不同的任务。
[0085]
物理欺诈和捕食者-猎物都属于多智能体粒子实验环境。如图6所示,在捕食者-猎物任务中,有n个移动速度较慢的合作智能体需要在环境中追逐m个移动速度较快的猎物,环境中有l个大型路障挡着路。每当合作智能体与猎物发生碰撞时,智能体将获得奖励,而猎物将受到惩罚。智能体能观察其他智能体以及猎物的相对位置和速度以及路障的位置。每个回合智能体、猎物和路障的初始位置都是随机初始化的。
[0086]
在物理欺诈中,环境中设有n个地标,其中包括一个目标地标,有n个相互合作的智能体,它们根据任意智能体到目标地标的最小距离获得奖励(距离目标地标越近,奖励越大),因此只需要保证一个智能体到达目标地标即可获得最大奖励。同时,环境中还存在一个对手,它也希望达到目标地标,但是却不知道n个地标中哪个是目标地标。此外,合作的智能体会根据对手到目标地标的距离受到惩罚,因此合作的智能体需要学习分散地覆盖所有
地标,以欺骗对手。物理欺诈环境如图7所示。
[0087]
实验环境相关参数的设置:corridor实验场景的难度等级设置为7。物理欺诈环境中,合作智能体数量为3,路障数量为2,对手数量为1。捕食者-猎物环境中,合作智能体数量为3,路障数量为2,猎物数量为1。
[0088]
通用参数的设置:在qmix、acw-qmix和oav-qmix算法中,智能体使用ε-greedy探索策略在环境中探索,即智能体以ε的概率随机选择动作,以1-ε的概率选择具有最大动作值的动作。ε的初始值为1,且随着训练步数的增加不断衰减,训练到50000步时停止衰减,而后保持ε=0.05直到训练结束。所有算法均采用经验回放机制保存和抽取转移样本,经验缓存池的大小为5000,每次随机抽取的转移样本数为32。所有算法的目标网络更新都是200个回合更新一次。用于平衡即时奖励和未来奖励的折扣系数γ设置为0.99。网络参数更新时,学习率α设置为0.0005。在corridor实验环境中,最大训练步数为2000050,每隔50000个训练步数测试一次,每次测试时,取100个重复测试回合的平均值。在物理欺诈和捕食者-猎物实验环境中,最大训练步数为2050000。每隔10000个训练步数测试一次,每次测试时,取100个重复测试回合的平均值。每个算法在不同环境下的实验,均采用不同的随机种子进行3次重复实验,使用3次重复实验的平均值进行绘图。
[0089]
edo的超参数设置:acw-maddpg、oav-maddpg算法中每个智能体集成的策略网络数量为3,acw-qmix和oav-qmix算法中每个智能体集成的个体q网络数量为3。
[0090]
表1列出了本例中的一些基础参数设置:
[0091]
表1实验参数设置
[0092]
[0093]
表2显示了在corridor实验环境中,qmix、oav-qmix和acw-qmix算法在整个训练过程中,多智能体系统与星际争霸ii内置脚本ai对战获得的奖励以及取得的胜率。oav-qmix和acw-qmix算法最终能达到20以上的奖励值,而原始的qmix最高只能达到13.6的奖励值。原始的qmix算法最高只能达到19%的测试胜率,而oav-qmix和acw-qmix算法最高均能达到高于80%的测试胜率。edo的应用使得原始qmix算法的最高测试胜率提升了60%以上。从奖励值和对战胜率的对比可以看出,应用edo对原始的qmix算法的性能产生了较大的提升。
[0094]
表2corridor中的实验结果
[0095][0096][0097]
表3物理欺诈中的实验结果
[0098][0099]
表4捕食者-猎物中的实验结果
[0100][0101]
表3和表4分别显示了在物理欺诈和捕食者-猎物实验环境中,maddpg、oav-maddpg和acw-maddpg算法在整个训练过程中,多智能体系统获得奖励值值。在物理欺诈实验环境中,结合了edo方法的oav-maddpg和acw-maddpg算法都取得了高于基础的maddpg算法的奖励值。在捕食者-猎物实验环境中,oav-maddpg和acw-maddpg算法也与基础的的maddpg算法在奖励值上拉开了差距。说明edo在该实验环境中能有效提升多智能体系统的性能。
[0102]
以上实验结果表明,本例方法(edo),能有效解决基于深度强化学习的合作多智能体中智能体决策的鲁棒性不足的问题,并且能够提升原始算法的稳定性。此外,edo的适用
性较强,在两类主流的合作多智能体深度强化学习方法(基于演员评论家的方法和基于值函数分解的方法)中都能适用,能够广泛地用于优化合作多智能体系统中智能体的决策。
技术特征:
1.一种基于集成的合作多智能体深度强化学习方法,其特征在于,所述方法的主体思想和整体模型如下:1.主要思想:为每个智能体集成多个策略网络或者动作值网络,使得智能体可依据多个网络集成的动作概率分布或者动作值进行决策;即:每个智能体的内部都集成了m个策略网络或者值网络,集成模块的作用是将m个策略网络或者值网络的输出集成为一个总体的动作概率分布或者动作值;2.整体模型:合作多智能体与环境交互的过程为:每个智能体i根据环境的全局状态获取自己的局部观察,每个智能体i将局部观察分别输入到自己的m个策略网络或者值网络,并输出m个动作概率分布p
ij
(o
i
|
·
)或者动作值然后采用acw或者oav集成方法对m个动作概率分布或者动作值进行集成,并得到集成的动作概率分布p
i
(o
i
|
·
)或者动作值q
i
(o
i
|
·
),每个智能体i根据集成的动作概率分布p
i
(o
i
|
·
)进行动作采样或者根据集成的动作值q
i
(o
i
|
·
)进行ε-greedy动作选择,所有智能体选择的动作构成一个联合动作使环境转移到下一个状态,每个智能体均获得环境反馈的团队奖励,重复以上过程直到本回合结束;在模型中,每个智能体集成的m个策略网络或者值网络使用同一个经验缓冲池中的转移样本<s,a,r,s'>进行训练,但是每个策略网络或者值网络都独立的从经验缓冲池中随机抽取各自用于训练的转移样本,在多智能体深度强化学习算法实现中,经验缓冲池的典型容量为5000,即经验缓冲池最多存放5000个转移样本,当经验缓冲池的空余容量不够存放智能体最新收集的转移样本时,便将经验缓冲池中存放最久的部分转移样本删除以腾出空余容量,每次随机抽取的转移样本的典型数量为32,即每次从经验池中随机抽取32个转移样本用于训练;由于每次训练时,m个策略网络或者值网络都独立的从经验池的5000个样本中抽取32个样本由用于训练,因此每个策略网络或者值网络训练时使用的样本大概率是不一样的,因为m个策略网络或者值网络每次都采取不同的转移样本进行训练,所以这些策略网络或者值网络的参数是不同的,即它们是存在多样性的;由于m个策略网络或者值网络之间是存在多样性的,所以在某个状态下,当在某一个策略网络或者值网络无法输出正确的动作概率分布或者动作值时,智能体依据其他策略网络或者值网络输出的正确信息进行正常的决策;在模型的集成模块中,设计了两种集成方式:一种是基于动作置信度权重的集成方法即acw,另一种是基于最优动作投票的集成方法即oav:在acw集成方法中,使用到了动作置信度的概念,在强化学习中,动作置信度的含义是智能体依据动作概率分布或者动作值进行决策时的自信程度,智能体决策时,若对某一个动作的偏好越明显,则该状态下的动作置信度越大,若对特定动作的偏好越不明显,则该状态下的动作置信度越大,在基于值的方法中,动作置信度定义为ψ(q(o|
·
)):ψ(q(o|
·
))=q
max
(o|
·
)-q
second
(o|
·
)
ꢀꢀꢀꢀꢀ
(1)其中,q(o|
·
)表示局部观察o下所有动作对应的动作值,q
max
(o|
·
)表示在局部观察o下最大的动作值,q
second
(o|
·
)表示在局部观察o下第二大的动作值,在基于策略的方法中,动作置信度定义为ψ(p(o|
·
))ψ(p(o|
·
))=p
max
(o|
·
)-p
second
(o|
·
)
ꢀꢀꢀꢀ
(2)其中,p(o|
·
)表示局部观察o下所有动作对应的动作概率,p
max
(o|
·
)表示在局部观察
o下最大的动作概率,p
second
(o|
·
)表示在局部观察o下第二大的动作概率;acw集成方法使用每个策略网络或者值网络的动作置信度作为其权重,通过将乘以权重的动作概率分布或者动作值累加得到集成的动作概率分布p
acw
(o|
·
)或者动作值q
acw
(o|
·
):):其中,m表示智能体集成的策略网络或者值网络的数量;在oav集成方法中,每个智能体集成的m个策略网络或者值网络依据最优动作进行投票,最优动作a
*
定义为具有最大动作值或者最大动作概率的动作,在每个策略网络或者值网络的输出中,都存在一个最优动作,oav集成方法的思想在于,若智能体的多个策略网络或者值网络的最优动作都是同一个动作则认为选择该动作能为智能体带来最大的未来预期奖励,需要选取动作但是,训练前期各个策略网络或者值网络都未能得到充分的训练,其输出的最优动作具有较大的随机性,越是训练前期,输出的最优动作具有越大的随机性;因此,不能在整个训练过程都完全依据进行决策,而是应该随着训练的步数的增加,逐渐增大对的重视程度;同时,oav集成方法还需要考虑到其他情况,当集成的数量m大,同一状态下存在多个时,只考虑对应最多的策略网络或者值网络的此外,当某个状态下所有集成的策略网络或者值网络的最优动作都不相同时,oav集成方法使用累加所有策略网络或者值网络的输出进行集成,经过分析可知,使用oav集成方法对m个策略网络进行集成时得到的结果为:其中,m表示智能体集成的策略网络的数量,p
i
(o|
·
)表示对应的策略网络输出的动作概率分布,k表示对应的策略网络的个数,p
j
(o|
·
)表示最优动作不是的策略网络输出的动作概率,t
cur
表示当前的训练步数,t
max
表示设置的最大训练步数,使用oav集成方法对m个策略网络进行集成时得到的结果为q
oav
(o|
·
):其中,m表示智能体集成的策略网络的数量,q
i
(o|
·
)表示对应的策略网络输出的动作值分布,k表示对应的策略网络的个数,q
j
(o|
·
)表示最优动作不是的动作值,t
cur
表示当前的训练步数,t
max
表示设置的最大训练步数;所述方法包括如下步骤:步骤1、演员评论家网络或者动作值网络的初始化:为每个智能体集成m个演员评论家网络或者动作值网络,并随机初始化网络参数;
步骤2、获取局部观察:每个智能体从环境中获取各自的局部观察;步骤3、合作多智能体系统在环境中的决策:每个智能体将局部观察输入到m个策略网络或者动作值网络,使用基于动作置信度权重的集成方法或者基于最优动作投票的集成方法将m个策略网络或者动作值网络的输出集成为一个总体的动作概率分布或者动作值,智能体依据总体的动作概率分布进行动作采样或者依据动作值进行ε-greedy动作选择,合作多智能体系统获得环境反馈的奖励,并转移到下一个状态,重复上述步骤直到回合结束,具体的计算方式如公式(1)、(2)、(3)、(4)、(5)和(6)所示;步骤4、抽取转移样本:从经验缓冲区为每个智能体集成的m个演员评论家网络或者动作值网络抽取转移样本,用于每个演员评论家网络或者动作值网络的转移样本都是独立且随机抽取的;步骤5、训练演员评论家网络或者动作值网络:使用抽取出的转移样本,依次训练所有的训练演员评论家或者动作值网络;步骤6、重复步骤2-步骤5,直至训练结束。
技术总结
本发明公开了一种基于集成的合作多智能体深度强化学习方法,包括如下步骤:步骤1、演员评论家网络或者动作值网络的初始化;步骤2、获取局部观察;步骤3、合作多智能体系统在环境中的决策;步骤4、抽取转移样本;步骤5、训练演员评论家网络或者动作值网络;步骤6、重复步骤2-5,直至训练结束。这种方法为每个智能体集成多个策略网络或者动作值网络,使得智能体依据能多个策略网络或者动作值网络集成的输出进行决策,以提升智能体决策的鲁棒性。该方法为集成的多个策略网络或者动作值网络使用不同的样本训练进行训练,保证了它们的多样性。有效提升智能体决策的鲁棒性,同时还具有良好的适用性。适用性。适用性。
技术研发人员:徐鼎 赵岭忠
受保护的技术使用者:桂林电子科技大学
技术研发日:2023.04.25
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
