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 的通信机制和一种通信缩减方法来提高多代理通信的效率
- 在两个典型的面向目标的任务中进行了实验:合作导航和多传感器多目标覆盖问题
关键方法
整体网络结构
整体网络结构主要分为四个部分
- 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
Qi、Ki、Vi ,
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(dkQiKiT)⊙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),GI∗∈R(n−1)×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(ai∣oi,gi) 采取原始动作来完成子目标。
资源链接
论文链接
ToM2C: Target-oriented Multi-agent Communication and Cooperation with Theory of Mind