python实现多智能体一致性_多智能体强化学习入门(九)——注意力图网络的多智能体博弈...

73bdc88410fa83b2583ff5305a733002.png

Multi-Agent Game Abstraction via Graph Attention Neural Network

一、 概要及创新点

在多智能体环境中,大量智能体之间复杂的博弈关系导致策略学习非常困难。并且在决策过程中,每个智能体并不需要一直与所有智能体保持交互,只需要与邻居智能体交互,传统的方法只能通过先验知识来确定哪些智能体之间有交互,但当系统十分复杂时,基于规则定义交互十分困难。这篇文章主要想通过对两个智能体之间的交互关系进行建模,即判断两个智能体是否存在交互,如果存在,判断该交互对智能体策略影响的重要性。

这篇文章主要采用两种注意力机制(two-stage attention network,G2ANet)来进行处理。

  • 将多智能体系统建模为图网络,即拓扑图,每个节点表示一个智能体,节点之间的边表示两个智能体之间的交互关系。
  • Hard-attention:断开多智能体拓扑图中的边,只保留有交互的边,即一个判断是否存在交互的过程,建立一个有交互的拓扑图。通常的hard-attention是通过采样得到的,并且不可微,即不能学习,这篇文章对hard-attention做了改进,使其能够端到端地学习。
  • Soft-attention:对经过Hard-attention保留下的交互,判断交互关系的重要性。通常的soft-attention机制会对每个邻居智能体分配一个权重,即使对无关邻居智能体分配的权重非常小,也造成了计算量过大和削弱对重要交互关系的关注。
  • 并且将上述两种注意力机制与值函数强化学习和AC强化学习算法相结合应用于多智能体策略的学习。

总的来说hard-attention断开了无关交互边,soft-attention确定交互边的重要性权重,如下图所示。

afdab9793da1fb7c8f1fdf61269d4f83.png

二、 方法

2.1 hard-attention

文章attention逻辑如下图所示

8923a94347eb8297376630c6d446b8cc.png

先用hard attention确定断开哪些边,hard attention输出为

表示是否有交互(是否存在边)。采用LSTM作为可学习得核,如下式

其中

为gumbel-softmax函数,
表示一个全连接层,
表示节点
的特征。由于LSTM的输出与网络输入顺序有关,并且
只与
有关,与之后的
无关,为了避免这种情况,文章采用Bi-LSTM函数,两个LSTM函数分别从头尾两端开始计算,每次将正LSTM与反LSTM输出叠加进行hard-attention计算。

2.2 soft-attention

soft-attention就是对hard-attention保留的边确定重要性权重,采用最基础的attention机制处理如下

表示第
个智能体的特征,
分别为key线性映射与query线性映射。最终得到每个边
的重要性权重。

2.3 基于G2ANet的策略网络

文章将衍生出的该算法称为GA-Comm,是一种基于通信的算法,每个智能体能够通过通信得知邻居智能体的状态,算法如下所示

3861add4e506ccea89b6f34e1f9c1df9.png

每个智能体观测为

,利用LSTM提取每个智能体特征如下

其中

分别表示LSTM中的hidden state与cell state。
为一个全连接层,然后利用特征
通过hard与soft attention得到连接权重

最后利用soft-attention输出的权重对邻居特征进行加权处理得到邻居信息

最后利用策略梯度算法REINFORECE得到每个智能体的策略,这里其实可以拓展到很多RL算法

2.4 基于GA2Net的AC网络

与2.3 的主要区别在于对每个智能体计算一个

,其中
是多层感知机,
为邻居信息的加权,权重通过两种注意力机制计算得到

其中

为非线性函数与线性映射矩阵,

文章:https://arxiv.org/abs/1911.10715

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值