多智能体强化学习TOM2C: TARGET-ORIENTED MULTI-AGENT COMMUNICATION AND COOPERATION WITH THEORY OF MIND

背景及关键idea

abstract

能够预测他人的心理状态是有效社交的关键因素。这对于分布式多代理系统也很重要,在这种系统中,代理需要进行通信和合作。在本文中,我们介绍了一种重要的社会认知技能,即心理理论 (ToM),以构建能够有效沟通和合作以完成具有挑战性任务的社会智能代理。使用 ToM,每个代理都能够根据其(本地)观察来推断他人的心理状态和意图。根据推断的状态,代理人决定“何时”以及与“谁”分享他们的意图。通过观察、推断和接收的信息,智能体决定他们的子目标并在团队中达成共识。最后,低级执行者独立采取原始行动来完成子目标。我们在两个典型的面向目标的多代理任务中展示了这个想法:合作导航和多传感器目标覆盖。实验表明,所提出的模型不仅在奖励和通信效率方面优于最先进的方法,而且在不同规模的环境中表现出良好的泛化能力。

关键idea

在多智能体系统中,每个agent i i i 通过推断其他 agent 的观测和意图进行决策,并根据推断的结果进行选择“何时 ”以及 “与谁”进行通信,利用图神经网络和“剪枝”的操作减少冗余的通信。

主要贡献

  • 引入了一种受认知启发的socia agent,它能够推断他人的心理状态,以增强面向目标任务中的多代理合作。
  • 提供了一种基于 ToM 的通信机制和一种通信缩减方法来提高多代理通信的效率
  • 在两个典型的面向目标的任务中进行了实验:合作导航和多传感器多目标覆盖问题

关键方法

整体网络结构

TOM2C示意图
整体网络结构主要分为四个部分

  • Observation Encoder 观测状态编码器: 对观测状态 o i o_i oi进行编码
  • ToM Net(Theory of Mind Network) 心智理论网络: 推断其他智能体的观测和意图
  • Message Sender 消息发送模块:构造本地通信图,向部分其他智能体发送消息
  • Decision Maker 决策模块 : 根据推断的其他智能体的意图、自身的观测编码、接收到的消息做上层决策Planner,上层Planner将决策发送给底层执行器Executer

Observation Encoder 观测状态编码器

在这里插入图片描述
使用注意力模块对 o i o_i oi 进行编码, o i o_i oi 经过三个网络分别生成 Q i 、 K i 、 V i Q_i、K_i、V_i QiKiVi , E i = s o f t m a x ( Q i K i T d k ) ⊙ V i E_i=softmax(\frac{{Q_i}{K_i^T}}{\sqrt{d_k}})\odot{V_i} Ei=softmax(dk QiKiT)Vi

符号含义
o i , q o_{i,q} oi,q目标 q q q对智能体 i i i的原始特征
E i , q E_{i,q} Ei,q目标 q q q对智能体 i i i的编码特征

ToM Net(Theory of Mind Network) 心智理论网络

在这里插入图片描述
ToMNet使代理能够推断他人的观察和意图。对于智能体 i i i,ToMNet 将智能体的位置 Φ \Phi Φ 和编码的局部观察 E i E_i Ei 作为输入。然后它推断其他智能体的观察 ϵ i , j \epsilon_{i,j} ϵi,j和意图 g i , j ∗ g_{i,j}^* gi,j
agent i i i 的整个 ToMNet 在概念上由 n-1 个独立的子模块组成,它们分别专注于对一个 agent 的思维进行建模。 T o M i ToM_i ToMi T o M i , j ToM_{i,j} ToMi,j, T o M i , k ToM_{i,k} ToMi,k, T o M i , l ToM_{i,l} ToMi,l, 的集合。这些模型共享参数,因为所有智能体都是同质的。这样,我们就可以随着agent数量的变化相应地调整ToMNets中子模块的数量。
每个子模块由两个更小的单元组成:Observation Estimation 观测估计单元Goal Inference目标推断单元,这两个单元通过监督学习的方式进行训练

符号含义
ϵ i , j \epsilon_{i,j} ϵi,j智能体 i i i推测的智能体 j j j的观测
Φ \Phi Φ其他智能体 j ( j ≠ i ) j(j\neq{i}) j(j=i)的位置信息
E i E_i Ei智能体 i i i的观测编码
g i , j ∗ g_{i,j}^* gi,j智能体 i i i推测智能体 j j j选择目标的概率
g i , j , q ∗ g_{i,j,q}^* gi,j,q智能体 i i i推测智能体 j j j选择目标q的概率

Observation Estimation 观测估计单元

观测估计单元将其他智能体的位置 Φ \Phi Φ 作为输入,输出智能体 i i i 推断的其他智能体 j ( j ≠ i ) j({j}\ne{i}) j(j=i)的观测 ϵ i , j \epsilon_{i,j} ϵi,j
在实现 中,使用 GRU 来模拟其他人在时间序列上的观察。在目标覆盖任务中,智能体 i 推断哪些目标在智能体 j 的观察范围内,在合作导航任务中,智能体 i 推断哪个地标最接近智能体 j。
在这里插入图片描述

Goal Inference 目标推断单元

在智能体 i i i 完成对其他人的观察估计后,它能够预测他们将在这一步选择哪些目标。
g i , j , q ∗ = G I ( E i , q , ϵ i , j ) , G I ∗ ∈ R ( n − 1 ) × m g_{i,j,q}^*=GI(E_{i,q},\epsilon_{i,j}) , GI^*\in \mathbb{R}^{(n-1)\times{m}} gi,j,q=GI(Ei,q,ϵi,j),GIR(n1)×m
由于环境中共有 n 个代理和 m 个目标,因此每个单元输出的是智能体 j j j选每个目标(共有m个)的概率,一共有n-1个这样的单元
在这里插入图片描述

Message Sender 消息发送模块

在这里插入图片描述
消息发送者利用 ToMNet 推断的其他人的心理状态来独立决定“何时”以及与“谁”进行通信。在通信过程中,智能体 i i i j j j 发送的消息就是推断的意图 g i , j ∗ g_{i,j}^* gi,j。此外,提出了一种通信减少方法,可以删除无用的连接以提高通信效率。
具体来说,在代理人 i i i 的角度,利用推断的意图 g i ∗ g_i^* gi 来过滤观察 E i E_i Ei 以生成图节点特征。基于节点特征计算边特征,这些特征进一步转化为概率分布,最后根据概率分布对通信连接进行采样。
消息发送模块主要由三个部分组成: Inferred-goal Filter 推断目标过滤模块、Connection Choice连接选择模块、Communication Reduction (CR)通信减少模块

Inferred-goal Filter 推断目标过滤模块

agent i i i构造的本地图中,智能体 j j j的节点特征是通过推断目标 g i , j ∗ g_{i,j}^* gi,j过滤的目标特征获得的。
δ \delta δ是一个概率阈值,文中设置的是0.5。如果 g i , j , q ∗ > δ g_{i,j,q}^*>\delta gi,j,q>δ,那么智能体 i i i 会将目标 q q q 视为智能体 j j j 选择的目标。
然后将过滤后的特征 E i , j ′ = ∑ q = 1 m ( g i , j , q ∗ > δ ) ⋅ E i , q E_{i,j}^{\prime}=\sum_{q=1}^m (g_{i,j,q}^*>\delta)\cdot{E_{i,q}} Ei,j=q=1m(gi,j,q>δ)Ei,q与估计的观察表示 ϵ i , j \epsilon_{i,j} ϵi,j连接起来,形成估计的节点特征 u i , j = ( E i , j ′ , ϵ i , j ) u_{i,j} = (E_{i,j}^{\prime},\epsilon_{i,j}) ui,j=(Ei,j,ϵi,j)

Connection Choice连接选择模块

对于一个由n个agent组成的场景,一共有n个有向图 G = ( G 1 , G 2 , . . . , G n ) \mathcal{G}=(\mathcal{G_1,G_2,...,G_n}) G=(G1,G2,...,Gn) G i \mathcal{G_i} Gi 是代理 i i i 计算的通信连接本地图。 V i = f ( u i , j ) \mathcal{V_i}={f(u_{i,j})} Vi=f(ui,j)是节点特征. f f f是节点特征编码器, E i = σ ( u i , j , u i , k ) \mathcal{E_i}={\sigma(u_{i,j},u_{i,k})} Ei=σ(ui,j,ui,k), σ \sigma σ是边缘特征编码器。通过在图中传播节点和边的特征来得到聚合后的节点和边的信息。
在这里插入图片描述
h j h_j hj代表聚合后的节点特征, h j , k h_{j,k} hj,k代表聚合后的边的特征,根据最后得到的边的特征 ( E i , j , h i , j ) (\mathcal{E_{i,j}},h_{i,j}) (Ei,j,hi,j)来生成概率分布。表示这个通信的边“剪掉cut”还是“保留retain” ( p c u t i , j + p r e t a i n i , j = 1 ) (p_{cut}^{i,j}+p_{retain}^{i,j}=1) (pcuti,j+pretaini,j=1),使用Gumbel-Softmax来采样边是去是留(这是一个离散的值),这样就可以进行端到端的训练。如果 E i , j \mathcal{E_{i,j}} Ei,j最终被保留了,智能体 i i i就将 g i , j ∗ g_{i,j}^* gi,j发送给 j j j
这里为什么智能体 i i i g i , j ∗ g_{i,j}^* gi,j 发送给 j j j g i , j ∗ g_{i,j}^* gi,j代表的是智能体 i i i 估计的智能体 j j j 的意图,我的理解是智能体 j j j 接收到 智能体 i i i 对自己的意图的估计,根据别人对自己的意图估计来自适应地调整自己的决策来配合别人的行动。

Communication Reduction (CR)通信减少模块

由于接收者的决策并不总是收到接收的消息的影响,这说明有些通信的连接是冗余的。文中用的方法类似于“消融”,通过观察接收或不接收消息做出的决策之间的差异(实际上就是两个动作分布之间的差别,比如使用KL散度来衡量)。文中具体的方法是这样的,首先观察不通信的情况下得到的他人的意图即动作概率的分布 g i − g_i^{-} gi,然后就可以用KL散度来衡量消息的效果(有或者没有这个通信动作的情况下分布的差异)
χ = D K L ( g i − ∣ ∣ g i ) \chi=D_{KL(g_i^{-}||g_i)} χ=DKL(gi∣∣gi)
。文中设置了一个超参数 τ \tau τ,如果 χ < τ \chi < \tau χ<τ说明通不通信都无所谓,因此标记为"cut",否则标记为"retain",然后消息发送方网络的调整如下二元交叉熵损失:
在这里插入图片描述

Decision Maker 决策模块

在这里插入图片描述

一旦代理接收到所有消息,它就可以根据其观察、推断他人的意图和接收到的消息来决定自己的目标子目标。因此,特征 η i = ( E i , m a x j g i , j ∗ , ∑ s g s , i ∗ ) ) \eta_i=(E_i,max_j{g_{i,j}^*},\sum_s{g_{s,i}^*})) ηi=(Ei,maxjgi,j,sgs,i)) 是actor网络的输入。第二项 m a x j g i , j ∗ max_j{g_{i,j}^*} maxjgi,j 指的是另一个代理选择目标的最大推断概率。第三项 ∑ s g s , i ∗ \sum_s{g_{s,i}^*} sgs,i 指的是来自其他人的消息的总和,表示其他人推断智能体 i i i 应该选择的目标。 Actor 根据 η i \eta_i ηi 决定其目标 g i g_i gi。critic获得全局特征 ( η j , η k , η l ) (\eta_j,\eta_k,\eta_l) (ηj,ηk,ηl)来计算值。低级执行器 π i L ( a i ∣ o i , g i ) \pi_i^L(a_i|o_i,g_i) πiL(aioi,gi) 采取原始动作来完成子目标。

资源链接

论文链接

ToM2C: Target-oriented Multi-agent Communication and Cooperation with Theory of Mind

代码链接

https://github.com/UnrealTracking/ToM2C

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值