一种基于强化学习的域协调多智能体系统协作控制方法

文档序号:27316384发布日期:2021-11-09 23:57阅读:286来源:国知局
一种基于强化学习的域协调多智能体系统协作控制方法

1.本发明属于多智能体系统协作控制的技术领域,具体涉及一种基于强化学习的域协调多智能体系统协作控制方法,针对多域协作场景下的控制任务,可提高多智能体系统协作控制效率。


背景技术:

2.强化学习(reinforcement learning)作为机器学习的一种方法,常用于解决序列决策问题。它将序列决策问题建模为外部环境,根据对外部环境的观察来采取动作并获得外部环境的反馈信号。智能体根据这个反馈信号来衡量动作的好坏,并从中总结经验,逐步学习,得到最优的决策序列。由于传统强化学习在高维空间存在诸如“维度灾难”(curse of dimensionality)问题,相关研究利用深度学习来自动学习大规模输入数据的抽象表征,诞生了深度强化学习(deep reinforcement learning)。深度强化学习是人工智能领域的前沿研究方向,具有非常广阔的应用前景,近年来在游戏、机器人控制任务上都取得出色表现。
3.常见的领域内先进的强化学习算法,大多是单智能体设置,而在现实世界的问题中,存在着更多并不是单智能体系统能够解决的决策问题。在人类社会中,个人不是独立存在并创造价值的,人们通过合理的分工,合作完成许多复杂任务,比如足球比赛、多人竞技游戏等等。
4.相比于单智能体问题,多智能体协作控制任务往往更加困难,面临着诸多挑战:1)可伸缩性。随着智能体数量的增加,多智能体系统的状态和动作空间呈现指数增长,使得计算控制成本高昂;2)不稳定性。若将多智能体系统建模为多个独立的单智能体,就忽略了其他智能体的策略随着时间变化的事实,环境的不稳定性会影响算法收敛;3)部分可观察性。智能体与环境交互的过程中,并不能获得环境的全部信息,而是只能获得自己可见范围内的一小部分信息,也给策略学习带来了困难。
5.对于具有多个机器人人协同工作的场景,如何在多智能体系统中更好地建模代表机器人的智能体之间的关系,并将其用于协调各机器人之间的行为以达成合作,是目前多智能体协作控制算法关注的重点。


技术实现要素:

6.为了解决多域场景下多智能体的协作问题,提升多智能体协作效率,本发明提供了一种基于强化学习的域协调多智能体系统协作控制算法,并将其用于机器人群体协同控制中,以各个智能体的观察向量作为输入,输出当前采取的动作向量。本发明基于多智能体强化学习actor

critic框架,引入了先验域信息作为监督信号,在图卷积层中约束同域智能体形成相似的域共识向量,隐含着对环境的共同认知,在域共识向量的基础上通过图网络进行链路传播,达到同步完成域内强协调和域外弱协调的目的。在多域协作控制场景下,本发明相比其他方法有显著提升。
7.为了达到上述目的,本发明采用的具体技术方案如下:
8.一种基于强化学习的域协调多智能体系统协作控制方法,其包括如下步骤:
9.s1、针对待协作控制的多个机器人,将每个机器人视为多域协作场景中的一个智能体,对其进行域的划分;
10.s2、针对域划分后的多域协作场景,基于图网络进行多智能体建模,使全域智能体协作,形成包含集中式价值网络及分散式动作网络的多智能体协作模型;所述分散式动作网络中,动作网络接收智能体的观察作为输入,输出当前所采取的动作;所述集中式价值网络接收每个智能体的观察和动作作为输入,进行域协调操作,并经过图卷积网络提取邻域节点信息,为每个智能体预测当前状态

动作对的价值,用于更新集中价值网络及分散动作网络;且在模型中定义域协调损失函数,用于指导域共识向量的表示学习,使同一域中的智能体之间形成强协调;
11.s3、使用集中训练、分散执行的训练方式,对采用actor

critic框架的多智能体协作模型进行训练;
12.s4、训练完成后,将模型中的各个动作网络作为策略网络独立执行,输入对应智能体的观察向量,输出为对应智能体的动作向量并将其传递给对应机器人,各机器人根据接收到的动作向量进行移动控制,实现多机器人的协作控制。
13.作为优选,步骤s1中,所述多域协作场景包含多个合作型关系的子组;每一个子组作为一个域,由目标是完成同一任务的多个智能体组成;不同子组在同一场景中的任务目标不同,且整个场景中所有智能体之间需要进行协调以避免冲突;多域协作场景中使用域信息矩阵d
n
×
n
标记智能体之间的域关系,矩阵元素d
ij
表示智能体i和智能体j之间的域关系,同域则置1,异域则置为0。
14.作为优选,所述域协调损失函数的计算方法为:
15.首先,定义智能体i的域共识向量dc
i
为:
[0016][0017]
其中,是对智能体i第t步的观察o
t
和动作a
t
拼接后进行编码得到的初始特征向量;
[0018]
然后,将每对智能体i和j的域共识向量进行拼接后使用权重矩阵a
t
计算连接分数e
ij
,并使用sigmoid函数σ推断智能体i和j之间连接存在的概率p(d
ij
=1):
[0019]
e
ij
=a
t
[dc
i
||dc
j
]
[0020]
φ
ij
=p(d
ij
=1)=σ(e
ij
)
[0021]
式中:||表示向量拼接,φ
ij
为智能体i和j属于同域的概率;
[0022]
最后,以域信息矩阵d
n
×
n
为监督目标,得到的域协调损失函数:
[0023][0024]
其中,1是指示函数,其下标中的等式成立则函数值为1,否则为0。
[0025]
作为优选,所述基于图网络进行多智能体建模的具体做法如下:
[0026]
将每个智能体定义为图上的一个节点,智能体之间的交互就是图节点之间连接的边,从而通过图卷积网络实现图上节点之间的消息传递,聚合邻居节点的特征并用于更新自身节点特征,从而提取到相应的状态特征,实现节点特征的融合。
[0027]
作为优选,所述图卷积网络中,对于任一智能体i的节点,以所有邻居节点作为输入,其状态特征的计算方法为:
[0028][0029]
式中:n
i
为智能体i的所有邻居节点,代表与智能体i同域的所有其他智能体,n为智能体i的邻居节点个数,diag(1)
n
为大小为n的对角矩阵。
[0030]
作为优选,在价值网络中,每个智能体当前状态

动作对的价值预测过程如下:基于域划分后的多域协作场景,根据所述域协调损失函数对每个智能体的域协调损失项进行计算,再通过图卷积网络进行域外智能体之间的弱协调,得到每个智能体对应的状态特征,最后将状态特征通过全连接层,得到每个智能体当前状态

动作对的价值。
[0031]
作为优选,所述多智能体协作模型进行协作控制的智能体个数为n个;所述分散式动作网络中共存在2n个动作网络,分为n个正常更新的动作网络μ和n个延迟更新的动作网络μ

,两类动作网络分别以θ
μ
和θ
μ

为参数;所述集中式价值网络中共存在2个价值网络,分为1个正常更新的价值网络q和1个延迟更新的价值网络q

,两个价值网络分别以θ
q
和θ
q

为参数;
[0032]
在模型训练过程中,每次更新模型时,从经验重播缓存d中采样固定大小批次的训练数据(o
t
,a
t
,o
t+1
,r
t
),通过最小化损失项对正常更新的价值网络进行参数更新:
[0033][0034]
其中,表示期望,q
i
中下标i表示正常更新的价值网络q的第i个输出,表示所有n个智能体的观察,表示所有n个智能体的动作,超参数λ为域协调损失项系数;表示目标价值,计算公式为:
[0035][0036]
式中:表示第i个智能体执行动作后获得的奖励,q
i

中下标i表示延迟更新的价值网络q

的第i个输出;μ
i

表示第i个智能体对应的延迟更新的动作网络μ


[0037]
再采用深度确定性策略学习,对正常更新的动作网络进行参数更新:
[0038][0039]
式中:μ
i
示第i个智能体对应的延迟更新的动作网络μ;
[0040]
每隔固定间隔对延迟更新的动作网络和延迟更新的价值网络进行参数更新:
[0041]
θ
q


τθ
q
+(1

τ)θ
q

[0042]
θ
μ


τθ
μ
+(1

τ)θ
μ

[0043]
其中τ为软更新因子。
[0044]
本发明相对于现有技术而言,具有以下有益效果:
[0045]
1)本发明首次定义了多智能体系统协作场景中域的概念,并将单域协作场景扩展到多域协作场景;2)本发明通过将先验域信息作为监督信号,辅助同域智能体之间形成域共识向量;3)本发明通过图网络进行链路传播,扩大了智能体的信息接收域,达到了域内强
协调和域外弱协调有效结合的目的,提升了智能体团队的协作效率。
附图说明
[0046]
图1是本发明中模型的整体框架示意图;
[0047]
图2是本发明的价值网络结构示意图;
[0048]
图3是实施例在多域编队控制任务下的学习表现;
[0049]
图4是实施例在多域直线控制任务下的学习表现;
[0050]
图5是实施例在多域合作导航任务下的学习表现;
[0051]
图6是实施例在多域编队控制任务下的测试表现;
[0052]
图7是实施例在多域直线控制任务下的测试表现;
[0053]
图8是实施例在多域合作导航任务下的测试表现;
具体实施方式
[0054]
为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例和附图对技术方案进行描述。值得注意的是,所描述的实施例仅仅是本技术中的一部分实施例,而不是全部的实施例。
[0055]
在本发明的一个较佳实施例中,提供了一种基于强化学习的域协调多智能体系统协作控制方法,使其能够适用于机器人集群中多个机器人的协同控制,因此本发明实际上是一种基于强化学习的域协调机器人集群协作控制方法,方法的核心是通过将机器人建模为智能体,进而通过算法为智能体输出相应的动作向量,每个智能体的动作向量代表了机器人下一步执行移动需要的移动方向及移动速度。本发明所说的机器人可以是实际的机器人也可以是虚拟的机器人。该方法包括如下步骤:
[0056]
s1、针对待协作控制的多个机器人,将每个机器人视为多域协作场景中的一个智能体,对其进行域的划分。
[0057]
本发明中,多域协作场景包含多个合作型关系的子组;每一个子组作为一个域,由目标是完成同一任务的多个智能体组成;不同子组在同一场景中的任务目标不同,且整个场景中所有智能体之间需要进行协调以避免冲突;多域协作场景中使用域信息矩阵d
n
×
n
标记智能体之间的域关系,矩阵元素d
ij
表示智能体i和智能体j之间的域关系,同域则置1,异域则置为0。
[0058]
s2、针对域划分后的多域协作场景,基于图网络进行多智能体建模,使全域智能体协作,形成包含集中式价值网络及分散式动作网络的多智能体协作模型;所述分散式动作网络中,动作网络接收智能体的观察作为输入,输出当前所采取的动作;所述集中式价值网络接收每个智能体的观察和动作作为输入,进行域协调操作,并经过图卷积网络提取邻域节点信息,为每个智能体预测当前状态

动作对的价值,用于更新集中价值网络及分散动作网络;且在模型中定义域协调损失函数,用于指导域共识向量的表示学习,使同一域中的智能体之间形成强协调。
[0059]
本发明中,域协调损失函数的计算方法为:
[0060]
首先,定义智能体i的域共识向量dc
i
为:
[0061]
[0062]
其中,是对智能体i第t步的观察o
t
和动作a
t
拼接后进行编码得到的初始特征向量;
[0063]
然后,将每对智能体i和j的域共识向量进行拼接后使用权重矩阵a
t
计算连接分数e
ij
,并使用sigmoid函数σ推断智能体i和j之间连接存在的概率p(d
ij
=1):
[0064]
e
ij
=a
t
[dc
i
||dc
j
]
[0065]
φ
ij
=p(d
ij
=1)=σ(e
ij
)
[0066]
式中:||表示向量拼接,φ
ij
为智能体i和j属于同域的概率;
[0067]
最后,以域信息矩阵d
n
×
n
为监督目标,得到的域协调损失函数:
[0068][0069]
其中,1是指示函数,其下标中的等式成立则函数值为1,否则为0。
[0070]
域协调损失函数中通过将域信息作为监督信号,用智能体i和j之间连接的存在与否来指导域共识向量的表示学习,能够在同一域的智能体间形成强协调。域共识向量隐含着现实中的经验:当人们有共同的三观、共同的认知时,才有可能产生紧密的合作关系,这种认知的一致性在为人类社会良好运转提供保障。
[0071]
本发明中,基于图网络进行多智能体建模的具体做法如下:
[0072]
将每个智能体定义为图上的一个节点,智能体之间的交互就是图节点之间连接的边,从而通过图卷积网络实现图上节点之间的消息传递,聚合邻居节点的特征并用于更新自身节点特征,从而提取到相应的状态特征,实现节点特征的融合。
[0073]
本发明中,对于图卷积网络而言,对于任一智能体i的节点,需要以所有邻居节点作为输入,其状态特征的计算方法为:
[0074][0075]
式中:n
i
为智能体i的所有邻居节点,代表与智能体i同域的所有其他智能体,n为智能体i的邻居节点个数,diag(1)
n
为大小为n的对角矩阵。
[0076]
将图网络引入多智能体建模过程中,可以有效利用智能体之间的关系,扩大智能体的信息接收域,提取相应的状态特征,促进智能体之间的合作行为。
[0077]
本发明中,对于价值网络而言,每个智能体当前状态

动作对的价值预测过程如下:基于域划分后的多域协作场景,根据所述域协调损失函数对每个智能体的域协调损失项进行计算,再通过图卷积网络进行域外智能体之间的弱协调,得到每个智能体对应的状态特征,最后将状态特征通过全连接层,得到每个智能体当前状态

动作对的价值。
[0078]
s3、使用集中训练、分散执行的训练方式,对采用actor

critic框架的上述多智能体协作模型进行训练。
[0079]
本发明中,假设多智能体协作模型进行协作控制的智能体个数为n个;所述分散式动作网络中共存在2n个动作网络,分为n个正常更新的动作网络μ和n个延迟更新的动作网络μ

,两类动作网络分别以θ
μ
和θ
μ

为参数;所述集中式价值网络中共存在2个价值网络,分为1个正常更新的价值网络q和1个延迟更新的价值网络q

,两个价值网络分别以θ
q
和θ
q

为参数;
[0080]
在模型训练过程中,每次更新模型时,从经验重播缓存d中采样固定大小批次的训练数据(o
t
,a
t
,o
t+1
,r
t
),表示为o
t
,a
t
,o
t+1
,r
t
~d,通过最小化损失项对正常更新的价值网络进行参数更新:
[0081][0082]
其中,表示期望,q
i
中下标i表示正常更新的价值网络q的第i个输出即代表价值网络q确定的第i个智能体的价值,表示所有n个智能体的观察,表示所有n个智能体的动作,超参数λ为域协调损失项系数;表示目标价值,计算公式为:
[0083][0084]
式中:表示第i个智能体执行动作后获得的奖励,q
i

中下标i表示延迟更新的价值网络q

的第i个输出即代表价值网络q

确定的第i个智能体的价值;μ
i

表示第i个智能体对应的延迟更新的动作网络μ


[0085]
再采用深度确定性策略学习,对正常更新的动作网络进行参数更新:
[0086][0087]
式中:μ
i
示第i个智能体对应的延迟更新的动作网络μ;
[0088]
每隔固定间隔对延迟更新的动作网络和延迟更新的价值网络进行参数更新:
[0089]
θ
q


τθ
q
+(1

τ)θ
q

[0090]
θ
μ


τθ
μ
+(1

τ)θ
μ

[0091]
其中τ为软更新因子。
[0092]
s4、训练完成后,将模型中的各个动作网络作为策略网络独立执行,输入对应智能体的观察向量,输出为对应智能体的动作向量并将其传递给对应机器人,各机器人根据接收到的动作向量进行移动控制,实现多机器人的协作控制。
[0093]
下面将上述方法应用至具体实施例中,具体的实施步骤如前所述,实施例主要展示其效果。为叙述方便,下面将本实施例中上述s1~s4的方法记为dcma。
[0094]
实施例
[0095]
部分可观察马尔可夫游戏(partially observable markov game,pomg)是对多智能体系统的一种常见建模体系。pomg是多智能体情形下对马尔可夫决策过程的扩展,n个智能体的pomg被定义为转移方程p,奖励函数的集合{r1,

,r
n
},状态空间s,观察空间的集合{o1,

,o
n
},和动作空间的集合{a1,

,a
n
},分别对应智能体i∈{1,

,n}。转移方程p将当前状态和智能体所采取的动作映射到下一状态,p:s
×
a1×…×
a
n

s,每个智能体接受奖励且观察是状态的一部分o
i
:s

o
i
,因此称为部分可观察。智能体i的目标是最大化期望回报γ
t
为第t步的折扣因子。在合作场景设置下,所有智能体接收到的奖励是相同的,n个合作智能体的共同目标是最大化期望回报
[0096]
如图1所示,为一种基于强化学习的域协调多智能体系统协作控制方法的整体模型框架。该模型采用集中训练、分散执行训练方式。对于n个机器人组成的机器人集群,将其视为n个智能体,因此在n个智能体的设置下,模型中共存在由2n个动作网络组成的分散式
动作网络和2个价值网络组成的集中式价值网络,分散式动作网络分为n个正常更新(即非延迟更新)的动作网络μ和n个延迟更新的动作网络μ

,两类动作网络分别以θ
μ
和θ
μ

为参数;集中式价值网络中共存在2个价值网络,分为1个正常更新(即非延迟更新)的价值网络q和1个延迟更新的价值网络q

,两个价值网络分别以θ
q
和θ
q

为参数。动作网络接收智能体的观察o
t
作为输入,输出当前所采取的动作a
t
;价值网络接收所有智能体的观察和动作作为输入,进行域协调操作,并经过图卷积层有效提取节点信息,为全部智能体预测当前状态

动作对的q值,用于更新集中价值网络及分散动作网络。价值网络的结构如图2所示。
[0097]
上述s1~s4的方法在本实施例中的具体执行过程的主要流程如下:
[0098]
1)在对智能体之间进行域协调之前,首先需要对场景中的智能体进行域的划分,本发明中直接使用了先验域信息作为划分的依据。矩阵d
n
×
n
为域信息矩阵,类似于邻接矩阵,矩阵元素d
ij
表示智能体i和j之间的域关系,同域则置1,异域置为0。
[0099]
2)从环境中得到所有智能体的当前观察包含智能体当前位置坐标、速度向量、相近智能体的位置坐标等。根据动作网络为所有智能体选择动作指示智能体的移动方向及速度大小。
[0100]
3)在环境中执行动作得到即时奖励r
t
和下一步观察
[0101]
4)将元组存入经验重放。
[0102]
5)从经验重放中抽取固定大小批次的训练数据,使用先验域信息矩阵,计算域协调损失项。
[0103]
定义智能体i的域共识向量dc
i
为:
[0104][0105]
其中,与gc

ac中相同,是对智能体i的观察o
t
和动作a
t
拼接后进行编码的特征向量。使用相同矩阵权重w0将节点的特征映射到域共识向量,减少模型过拟合的风险并提高鲁棒性。接下来,使用权重矩阵a
t
将每对智能体i和j的域共识向量进行拼接后计算连接分数e
ij
并使用sigmoid函数σ推断i和j之间连接存在的概率p(d
ij
=1):
[0106]
e
ij
=a
t
[dc
i
||dc
j
]
[0107]
φ
ij
=p(d
ij
=1)=σ(e
ij
)
[0108]
以域信息矩阵d
n
×
n
为监督目标,φ
ij
为智能体i和j属于同域的概率,则域协调损失计算为:
[0109][0110]
其中,1是指示函数。
[0111]
6)通过图卷积层进行域外智能体之间的弱协调。以节点特征和邻接矩阵作为输入,输出卷积后的特征作为当前节点的新特征,计算公式如下。将n个智能体作为输入,首先将智能体i的观察o
i
和动作a
i
拼接后通过线性层编码成初始向量之后转化为域共识向量,再通过卷积层计算下一层向量编码最后再次通过线性层,输出最终结果,也即q
i

[0112]
[0113][0114][0115][0116]
7)令更新正常更新的价值网络q的参数:
[0117][0118]
8)动作网络以最大化正常更新的价值网络为目标进行更新:
[0119][0120]
推导出梯度更新公式:
[0121][0122]
9)由于动作网络μ

和价值网络q

是延迟更新的,因此每隔一定预设的间隔可以对动作网络μ

和价值网络q

的网络参数进行延迟更新:
[0123]
θ
q


τθ
q
+(1

τ)θ
q

[0124]
θ
μ


τθ
μ
+(1

τ)θ
μ

[0125]
τ为软更新因子,为一个较小的超参数,可取0.1。
[0126]
10)不断重复5)~9),直到满足终止条件。终止条件设置为算法与环境交互episode达到设定上限。
[0127]
11)训练完成后,将模型中的各个动作网络作为策略网络独立执行,输入对应智能体的观察向量,输出为对应智能体的动作向量并将其传递给对应机器人,各机器人根据接收到的动作向量进行移动控制,实现多机器人的协作控制。
[0128]
为了测试上述基于强化学习的域协调多智能体系统协作控制方法的实际效果,使用mpe平台作为算法的测试环境验证算法的具体控制效果,在mpe平台上建模机器人集群来实现相应任务。当然,在现实中上述机器人可以是实体的机器人也可以是虚拟游戏中的人物或对象实体。
[0129]
mpe是由openai提出的多智能体强化学习环境,本实施例在mpe中构建了三个场景作为测试环境,分别是多域编队控制、多域直线控制和多域合作导航环境。三个场景均为部分可观察的完全合作场景设置,需要智能体之间相互配合以达到团队目标。算法学习控制智能体的动作:上移、下移、左移、右移、静止不动。
[0130]
多域编队控制任务中,环境中有两个不会移动的地标点和2n个由算法控制的智能体机器人(均匀分为两个域),分别学习组成以地标点为中心的两个正n边形编队,同时避免发生碰撞。类似的,多域直线控制中智能体机器人分别学习移动到地标点所标定的两条直线段上并均匀分布;多域合作导航中有2n个不移动的地标点和相应数量的智能体机器人,
智能体机器人分别学习覆盖两组地标点,并避免碰撞。当智能体完成任务时,会获得一定的奖励作为反馈。统计这个奖励大小作为评价指标。
[0131]
使用多智能体强化学习方法maddpg、maac与本实施例作为对比,三种方法所使用的参数配置分别见表1、表2及表3。
[0132]
表1 maddpg算法参数
[0133]
经验重播缓冲区大小1e6episode_length25batch_size1024动作网络隐藏单元64策略网络隐藏单元64学习率lr0.01折扣因子γ0.95软更新因子τ0.01最大episode数50000
[0134]
表2 maac算法参数
[0135]
经验重播缓冲区大小1e6episode_length25batch_size1024动作网络隐藏单元128策略网络隐藏单元128动作网络学习率0.001价值网络学习率0.001折扣因子γ0.99软更新因子τ0.001最大episode数50000注意力头数4奖励缩放系数100
[0136]
表3 dcma算法参数
[0137]
经验重播缓冲区大小1e6episode_length25batch_size1024动作网络隐藏单元128策略网络隐藏单元256学习率lr0.01折扣因子γ0.95软更新因子τ0.01最大episode数50000域协调损失系数λ1e2
[0138]
实验结果分为两部分,学习表现及测试表现。学习表现部分结果见图3~5,测试表现部分结果见图6~8。实验结果表明,在三个多域协作场景下,所提出的基于强化学习的域协调多智能体系统协作控制算法能够取得显著好于maddpg及maac的结果。具体的,从学习表现上看,dcma基本在1/5的时间步内就可以达到其余基线模型的最优表现。从测试结果上看,与学习表现仅次于dcma的maac相比,前者也显然有着更高的成功率和更少的碰撞次数。在多域编队控制和多域直线控制任务上,dcma的成功率几乎是maac的两倍,同时碰撞次数只有maac的二分之一;在多域导航任务上,成功率是maac的三倍。可以发现,不管是学习表现还是测试表现,基于强化学习的域协调多智能体系统协作控制算法都显著优于两种基线方法。
[0139]
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1