多智能体强化学习-DGN

DGN: Graph Convolutional Reinforencement Learning

论文地址

代码地址

代码(修正)

摘要

论文主要讨论协作的多智能体在部分可观测的场景下通过通信来最大化多智能体系统共同的效用函数。
在多智能体环境中学习合作是很重要的,合作的关键是理解智能体之间的交互。但是,多智能体环境是高度动态的,智能体不断运动,而他们的邻居不断变化,这使得很难学习智能体之间交互的抽象表示。本文提出图卷积强化学习解决该问题。图卷积适用于多智能体环境的基础图的动态,关系内核通过智能体之间的关系表示来捕捉他们之间的交互。利用逐渐增加的感受野中卷积层产生的潜在特征来学习合作,并通过时间关系正则化进一步改善合作以实现一致性。

Introduction

DGN将多智能体环境建模为图。 每个智能体都是一个节点,智能体的局部观察编码是节点的特征,节点和它的每个邻居之间都有一条边。采用多头注意力作为卷积核,图卷积能够提取节点之间的关系表示,并像卷积神经网络 (CNN) 中的神经元一样对来自相邻节点的特征进行卷积。 从逐渐增加的感受野中提取的潜在特征被用于学习合作策略。 此外,关系表示在时间上进行正则化以帮助智能体制定一致的合作策略。DGN,是基于深度Q网络进行实例化,并进行端到端的训练。 DGN 在所有智能体之间共享权重,易于扩展。 DGN 通过关系核抽象智能体之间的相互作用,通过卷积提取潜在特征,并通过时间关系正则化诱导一致的合作。
图卷积极大地增强了代理之间的合作。 与其他参数共享方法不同,图卷积允许通过联合考虑智能体接受域中的其他智能体来优化策略,促进互助。 独立于特征输入顺序的关系内核可以有效地捕捉智能体之间的相互作用和抽象关系表示,从而进一步提高合作。 时间正则化可以最小化连续时间步中关系表示的 KL 散度,促进合作,帮助智能体在具有许多移动智能体的高度动态环境中形成长期一致的策略。

相关工作

MARL: MADDPG和 COMA 分别是局部奖励和共享奖励设置的actor-critic模型,集中式的critic 将所有智能体的观察和动作作为输入,这使得它们难以扩大规模。 PS-TRPO 通过共享策略参数解决了大多数 MARL 算法以前认为难以解决的问题,这也改善了多智能体合作。但是,如果代理之间不共享信息,合作仍然是有限的。 (Zhang et al., 2018) 考虑了智能体之间价值函数的共享参数,并为线性函数逼近提供了收敛保证。然而,所提出的算法及其收敛性仅在完全可观察的环境中建立。值传播使用 softmax 时间一致性来连接值网络和策略网络更新。但是,此方法仅适用于智能体之间静态连接。CommNet 和 BiCNet 在智能体之间交流本地观察的编码。 ATOC 和 TarMAC 使代理能够分别使用注意力机制学习何时通信以及向谁发送消息。这些沟通模式证明沟通确实有助于合作。然而,充分的沟通成本高、效率低,而有限的沟通可能会限制合作的范围。
Graph Convolution and Relation.
图卷积网络(GCN)将特征矩阵作为输入,该矩阵总结了每个节点的属性,并输出节点级特征矩阵。 该功能类似于 CNN 中的卷积操作,其中内核在输入的局部区域中进行卷积以生成特征图。 使用 GCN,交互网络可以推理复杂系统中的对象、关系和物理,这对于 CNN 来说很困难。 已经提出了一些交互框架来预测未来状态和潜在属性,例如 IN (Battaglia et al., 2016)、VIN (Watters et al., 2017) 和 VAIN (Hoshen, 2017)。关系强化学习 (RRL) 将多头点积注意力作为关系块嵌入到神经网络中,以学习智能体状态下一组实体的成对交互表示 ,帮助智能体解决具有复杂逻辑的任务。 关系前向模型 (RFM) 使用监督学习来预测基于全局状态的所有其他智能体的动作。 然而,在部分可观察的环境中,RFM 很难仅通过局部观察来学习做出准确的预测。MAGnet(Malysheva et al.,2018)以关联图的形式学习关联信息,其中关系权重是通过基于启发式规则的预定义损失函数学习的,而DGN中的关系权重是直接通过端到端最小化值函数的时差误差来学习的。Agarwal et al. (2019) 利用注意力机制进行交流,提出了可转移合作的课程学习。 然而,这两种方法都需要对环境中的对象进行显式标记,这在许多实际应用中是不可行的。

方法

1.将多智能体环境构建为一个图,智能体由环境中的节点 i i i表示,每个节点有一组邻居 B i B_i Bi,由距离或者其他指标确定,具体取决于环境,并且随时间变化( i i i的通信范围或者局部观察)。相邻节点之间可以相互通信,此外,在许多多智能体环境中,将所有其他智能体考虑在内可能成本高昂且帮助较小,因为接收大量信息需要高带宽并导致计算复杂度高,并且智能体无法区分有价值的信息和全局共享的信息 。
2.(智能体的感受野就是它在该卷积层感知到的其他智能体)随着卷积层的增加,智能体的感受野逐渐增加,所以合作范围不受限制。所以,仅考虑邻居是有效且高效的。
3. 与GCN的静态图不同,多智能体环境图是动态的,随着智能体移动或进入\离开,环境随时间不断变化。

3.1 图卷积

该问题建模为POMDP,在时间步 t t t,每个智能体 i i i接受本地观测 o i t o_i^t oit,这是图中节点 i i i的属性,采取动作 a i t a_i^t ait,获得个体奖励 r i t r_i^t rit,目标是最大化所有智能体的期望收益之和。DGN由三类模块组成:观测编码器、卷积层和Q网络。
DGN由三类模块组成:观测编码器、卷积层和Q网络观测编码器:局部观测 o i t o_i^t oit通过全连接网络MLP或者CNN编码为一个特征向量 h i t h_i^t hit卷积层整合了局部区域的特征向量(包括节点 i i i和邻居 B i B_i Bi)并且生成隐层特征向量 h i ′ t h_i^{'t} hit。虽然单个智能体的观测范围有限(它和它的邻居进行信息传递),但是通过堆叠更多的卷积层,智能体的感受野逐渐扩大,收集更多的信息,因此合作范围也可以增加。
卷积层:即通过一个卷积层,节点 i i i可以直接从节点的编码器中一跳获取特征向量(one-hop:单跳/一跳,上下文和问题之间的交互只计算一次)。通过堆叠两层卷积层,节点 i i i可以得到该节点one-hop的卷积层的输出,包含了该节点tow-hop的信息。不论堆叠多少层卷积,节点只与它的邻居通信。
问题:由于智能体的数量和位置随时间变化,基础图(underlying graph)不断变化,这给图卷积带来了困难。
解决方法:在时间 t t t的所有智能体的特征向量合并为一个大小为 N ∗ L N*L NL的特征矩阵 F t F^t Ft N N N是智能体数量, L L L是特征向量的长度。然后,为每个智能体构建一个大小为 ( ∣ B i ∣ + 1 ) ∗ N (|B^i|+1)*N (Bi+1)N邻接矩阵 C i t C_i^t Cit,矩阵的第一行是节点 i i i的索引的one-hot表示,第 j j j行是第 j − 1 j-1 j1 j = 2 , . . . , ∣ B i ∣ + 1 j=2,...,|B_i|+1 j=2,...,Bi+1)个邻居的索引的one-hot表示(也就是邻居接节点索引的one-hot表示),因此,可以得到节点 i i i的局部观测视野内的特征向量 C i t ∗ F t C_i^t*F^t CitFt。对于每个智能体,将前面每一层的特征向量串联并馈送到Q网络中,以便组装和重用来自不同感受野的观察表示和特征,它们分别对考虑不同范围合作的策略有不同的贡献。

RELATION KERNEL

卷积核将感受野中的特征整合起来映射成隐层特征。 最重要的属性之一是核的操作应该独立,与输入特征向量的顺序无关。 此外,卷积核应该能够学习如何抽象智能体之间的关系,以便集成它们的输入特征。受RRL启发,本文使用多头点积注意力作为卷积核来计算智能体之间的交互关系。智能体的输入特征向量首先通过每个注意力头映射成询问向量(query),密钥(key)以及值表征(value)。
对于智能体 i i i, B + i B_{+i} B+i表示智能体 i i i和它的邻居 B i B_i Bi。每个智能体的特征投影到每个注意力头,进行查询,键和值表示(key-value)。对于每个注意力头 m m m,和其相关的智能体 i i i以及它的邻居 j ∈ B + i j\in B_{+i} jB+i计算如下:
attention计算 α i j m \alpha_{ij}^m αijm的操作实际上就是使智能体 i i i的询问向量与其所有邻居节点的密钥进行相关操作然后进行soft Max操作,得到注意力权重。其中 , W Q m W_Q^m WQm, W K m W_K^m WKm W V m W_V^m WVm分别表示注意力头 m m m 中分别对应于询问向量、密钥以及值表征的参数矩阵, τ \tau τ 为缩放因子,通常设置为 特征向量维度的倒数开根号。对于每个注意力头,单个智能体所有邻居节点输入特征的值表征都根据注意力权重的大小得到加权和。然后,将智能体 i i i m m m个注意力头的输出连接起来,送入反馈函数,通过一层非线性的MLP,产生卷积层的输出。
多头注意力内核
上图展示了卷基层计算。多头注意力使卷积核核独立于输入特征向量的顺序,并允许卷积核参与到不同的表示子空间。 此外,通过多个卷积层,可以提取更高阶的关系表示,有效捕捉智能体之间的相互作用,极大地帮助做出协同决策。

模型训练

损失更新
在训练的时候,每次将元组 ( O , A , O ′ , R , C ) (O,A,O',R,C) (O,A,O,R,C)(观测,动作,下一次观测,奖励以及邻接矩阵)保存在replay buffer,每次训练时从replay buffer采样大小为 S S S的样本,所有智能体的损失函数为 L ( θ ) L(\theta) L(θ)相加共同更新网络参数。
在这里边, y i = r i + γ m a x a ′ Q ( O i . c ′ , a i ′ ; θ ′ , O i . c ′ ⊆ O ) , y_i=r_i+\gamma max_{a'}Q(O'_{i.c},a'_i;\theta ', O'_{i.c}\subseteq O), yi=ri+γmaxaQ(Oi.c,ai;θ,Oi.cO),表示智能体 i i i感受野中的观测,其中感受野由 C C C决定。实际上, Q Q Q函数在动态图上学习。原文中的意思是在每个时间步 t t t进行更新,图变化的太快, Q Q Q网络很难收敛,因此,设定在2个连续的时间步 t t t内,保持邻接矩阵 C i t C_i^t Cit不变,即智能体感受到的特征不变,以缓解学习难以收敛的问题。此外,文中目标网络采用软更新的方法,即 θ ′ = β θ + ( 1 − β ) θ ′ \theta '=\beta\theta+(1-\beta)\theta ' θ=βθ+(1β)θ
与 CommNet (Sukhbaatar et al., 2016) 一样,DGN 也可以被视为集中策略的分解,它为所有智能体输出动作以优化平均预期回报。所有智能体共享参数 θ \theta θ,并且每个智能体的模型都连接到它的邻居,邻居节点由每个时间的智能体图动态确定。更多的卷积层(即更大的感受野)会产生更高程度的集中化,从而减轻非平稳性。此外,与其他具有参数共享的方法(例如 DQN,从单个智能体采样经验)不同,DGN 基于智能体图采样,而不是单个智能体,因此考虑了智能体之间的交互。尽管如此,DGN中的参数共享并不会阻止产生复杂的协同策略。在执行期间,每个智能体只需要其邻居(例如,通过通信)的(隐层)特征,而不管智能体的数量,这使得 DGN 很容易扩展。

时间关系正则化

协同是一个持久而长期的过程。 即使周围智能体的状态/特征发生变化,与谁合作以及如何合作也应该至少在短时间内保持一致和稳定。 因此,关系表示也应该在短时间内保持一致和稳定(即由关系核(等式 2)产生的相邻智能体上的注意力权重分布)。 为了使学习的注意力权重分布在时间步长上保持稳定,我们提出了时间关系正则化。
受时间差分学习的启发,我们使用下一个状态的注意力权重分布作为当前注意力权重分布的目标。采用 KL 散度来衡量当前注意力权重分布与目标注意力权重分布有何不同。 最小化 KL 散度作为正则化将鼓励智能体形成一致的关系表示,从而形成一致的合作(持续性的合作)。 在 CNNs/GCNs 中,由于高层网络能够学习更多的抽象表示。同样,在 DGN 中,上层捕获的关系表示应该更加抽象和稳定。 因此,对上层网络的注意力权重计算KL散度。
为了计算两个时间步注意力权重之间的KL散度,本文采用当前网络来计算目标注意力权重,这是因为注意力权重与特征提取参数高度相关,目标网络参数总是滞后于当前网络,使得其计算出来的注意力权重与当前网络产生的不匹配。
G m k ( O i , c ; θ ) G_m^k(O_{i,c};\theta) Gmk(Oi,c;θ)表示智能体 i i i的注意力头 m m m在在第 k k k层卷积层的注意力权重分布,则加上时间关系权重后的损失函数修正为:
在这里插入图片描述其中 λ 是正则化损失的系数。 DGN中上层的时间关系正则化有助于智能体在具有许多移动智能体的高度动态环境中形成长期且一致的动作策略,从而建立起持续的协作过程。

实验

在网格世界MAgent进行实验。30✖️30的网格环境中,每个智能体对应于一个网格,智能体的观察空间是以智能体为中心的一个11✖️11的网格空间。实验环境:battle,jungle,routing,来验证智能体之间的合作。

DGN-R:在DGN基础上没有使用时序关系正则化。

DGN-M:在DGN-R基础上没有使用关系核,利用均值替代attention。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多智能体强化学习是指多个智能体协同学习来解决一个共同的任务的方法。在多智能体强化学习中,每个智能体都是一个节点,并且节点之间通过边连接。通过采用多头注意力作为卷积核,图卷积可以提取节点之间的关系表示,并对来自相邻节点的特征进行卷积,类似于卷积神经网络中的神经元。通过逐渐增加的感受野提取的潜在特征被用于学习合作策略。此外,通过在时间上对关系表示进行正则化,可以帮助智能体制定一致的合作策略。多智能体强化学习可以使用深度Q网络进行实例化,并进行端到端的训练。在这种方法中,所有智能体之间共享权重,易于扩展。通过关系核抽象智能体之间的相互作用,并通过卷积提取潜在特征,并通过时间关系正则化诱导一致的合作。与其他参数共享方法不同,图卷积允许通过联合考虑智能体接受域中的其他智能体来优化策略,促进互助。关系内核可以有效地捕捉智能体之间的相互作用和抽象关系表示,从而进一步提高合作。时间正则化可以最小化连续时间步中关系表示的KL散度,促进合作,帮助智能体在具有许多移动智能体的高度动态环境中形成长期一致的策略。, 因此,多智能体强化学习中使用的是同一个网络和同样的参数。这意味着所有智能体共享相同的神经网络结构和参数,这使得算法更加简洁和可扩展。通过共享网络和参数,智能体可以学习到全局的信息,并且能够更好地协同合作来解决任务。这种共享网络和参数的方法在多智能体强化学习中被广泛应用,并取得了很好的效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [多智能体强化学习-DGN](https://blog.csdn.net/DAYUZHIBULESHUI/article/details/127034570)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [第八章-群体智能.doc](https://download.csdn.net/download/qq_43934844/87505743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值