[AAAI2020] Neighborhood Cognition Consistent Multi-Agent Reinforcement Learning 笔记

前言

社会心理学和真实经验展示了,认知一致性在保持人类社会有序方面扮演了重要角色。如果人们对于他们的环境具有更一致的认知,他们更可能实现更好的合作。同时,只有一个邻居范围内的认知一致性才重要,因为人们只直接与邻居交互。这篇文章将neighborhood cognitive consistency(NCC)引入MARL,提出一个整体的设计。
社会心理学中,认知一致性理论展示人们通常试图以一种简单一致的方式理解环境。不一致会不舒服,并趋于一致。维护邻居认知一致性通常足够保证系统级(system-level)协作。
作者通过三步实现邻居认知一致性,第一,将多智能体环境建模为图,使用图卷积网络从邻居agents的联合观察中提取高层表征;第二,然后将这个高层表征分解为一个agent-specific认知表征和一个neighborhood-specific认知表征;第三,假设每个neighborhood有一个真隐藏认知变量,然后所有的邻居agent学习通过这个真隐藏认知变量进行变分推断(variational inference)来对齐他们的neighborhood-specific认知表征,最后所有的邻居agent将最终形成一致的邻居认知。

方法

定义认知为agent对局部环境的理解,包含对所有邻居agent的观察,和从观察中提取的高层知识。定义邻居认知一致性为邻居agent对他们的neighborhood形成了相似的认知(认知变量的分布相似)

NCC-Q

在这里插入图片描述

  1. 首先是FC将局部观察 o i o_i oi编码为低层认知向量 h i h_i hi,只包含agent-specific信息。
  2. 通过图卷积网络整合整个neighborhood中所有的 h i h_i hi,包含agent自己,得到高层认知向量 H i H_i Hi,具体公式如下。共享参数 W W W,减少overfitting风险,更鲁棒。同时正则化也降权了high-degree neighbors。这里估计符号错了,应该是union不是conjunction。在这里插入图片描述
  3. 认知模块将 H i H_i Hi分解为两个,一个agent-specific认知 A i A_i Ai,应该捕获关于agent自己处境的局部知识;另一个是 C i ^ \widehat{C_i} Ci ,neighborhood-specific认知,提取关于neighborhood的整体知识。这部分的具体实现基于两个假设:
    1)对于每一个neighborhood,都有一个true hidden cognitive variable C来获得每个agent 的观察。即作者提出NCC-MARL,将全局状态 S S S分解为一些隐藏认知变量 C k C_k Ck,观察 O i O_i Oi是基于 C k C_k Ck产生的。当只有一个agent时,跟DEC-POMDP一致。但在大规模设置下,仅通过一个状态产生观察是不准确且不实际的,因为不同agent的观察可能非常不同。在这里插入图片描述2)如果邻居agent可以恢复隐藏认知变量 C C C,他们最终会形成一致的周边认知,因此实现更好的协作。换言之,学到的认知变量应该与真实认知变量相似。作者最小化原始分布 p ( C ∣ o i ) p(C|o_i) p(Coi)与近似分布 q ( C ∣ o i ) q(C|o_i) q(Coi)之间的KL散度,等价于最大化这个等式。在这里插入图片描述作者使用VAE建模,encoder 将 o i o_i oi 编码为 C i ^ \widehat{C_i} Ci ,但不是直接将 o i o_i oi映射为 C i ^ \widehat{C_i} Ci ,采用重参数化trick从单位高斯分布中采样 ϵ \epsilon ϵ,然后 C i ^ = C i μ ^ + C i σ ^ ⨀ ϵ \widehat{C_i}=\widehat{C_i^{\mu}}+\widehat{C_i^{\sigma}}\bigodot\epsilon Ci =Ciμ +Ciσ ϵ
    decoder尝试将其还原为 o i ^ \widehat{o_i} oi ,loss函数为最小化观察的L2 loss和观察产生这个认知变量的分布于真实认知变量分布的KL散度。在这里插入图片描述所有的邻居agent使用相同的 p ( C ) p(C) p(C),最终会在neighborhood级别上实现一致的认知。
  4. Q值模块通过元素间求和整合 A i A_i Ai C i ^ \widehat{C_i} Ci
  5. 混合模块对所有的Q值求和得到联合Q值函数,所有agent共享。
    以上过程仅针对同一个neighborhood中的agent。

训练主要最小化两个loss的结合,
在这里插入图片描述
一个是所有agent共享的TD-loss,这个鼓励所有的agent协作地产生大的 Q t o t a l Q_{total} Qtotal,确保整个队伍层面的协作。
在这里插入图片描述然后是CD-loss,若只有一个邻居,假设 p ( C ) p(C) p(C) 遵循 unit Gaussian distribution。若有更多的邻居,使用邻居agent的替换真实的 p ( C ) p(C) p(C)。这种方式惩罚任意有巨大认知分歧的agent i i i j j j,进一步限制了KL散度的大小,保证了邻居认知一致性。这么做的原因在于不关心邻居agent是否收敛到了特定的认知分布 p ( C ) p(C) p(C),只要他们形成了一致的认知即可。在这里插入图片描述

NCC-AC

这里使用标准的 actor-critic 架构,每个 agent 都有一个独立的 actor μ θ i ( o i ) \mu_{\theta_i}(o_i) μθi(oi)
对于critic Q i ( < o i , a i > , o i → , a i → ∣ w i Q_i(<o_i,a_i>,\overrightarrow{o_i}, \overrightarrow{a_i}|w_i Qi(<oi,ai>,oi ,ai wi
这里有两个细节,1)GCN模块分别整合动作和观察, H i a , H i o H_i^a,H_i^o Hia,Hio。2)直接使用 h i a h_i^a hia 产生 agent-specific 认知变量 A i A_i Ai
critic 训练最小化与 NCC-Q 一样的损失
在这里插入图片描述
actor 使用DDPG的多智能体扩展版本:
在这里插入图片描述

实验

对于连续动作,作者使用数据包路由(packet routing)任务,离散动作使用wifi配置和 google football 环境。在这些环境中,agent 之间天然的拓扑可以被用来形成邻居。

Google Football

基于物理的 3D 模拟器,观察是 115 个浮点数,包括玩家和球的坐标,玩家和球的方向等。21个离散动作,移动(上下左右),不同的踢球方式(短、长、高传球,射门),冲刺等。
实验场景为两个标准场景:1)2v2,我方两个尝试从盒子边缘得分。一个在边缘和球一起,跟后卫挨着;另一个在中间,面对对方守门员。2)3v2,我方三个尝试得分,一边一个,中间的有球,面对后卫。
CD-loss的权重为 0.2,为了加速学习,探索时的动作集为{top-right-move, bottom-right-move, high-pass, shot},如果agent得分,给最后三个动作分别1,0.7,0.3。
DGN取得了好的平均奖赏因为参数共享对于同质环境有用,但是方差比较大。
VDN在简单场景超过QMIX,但是复杂场景不行。
IDQN总是最差的,因为其既没有联合Q的分解,也没有agent分解这种明确的协作机制,这也说明了大规模场景中协作机制的必要性。
认知一致性对高困难设置的优秀表现很重要,CD-loss有这个能力。认知一致性和agent之间的协作有密切联系。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值