基于图注意力神经网络的多智能体博弈抽象
G2ANet
《Multi-Agent Game Abstraction via Graph Attention Neural Network》
关键词:大规模,博弈抽象,2级(硬+软皆有)注意力机制,图神经网络
通过简化策略学习过程解决了大规模智能体的问题。
贡献
1.用完全图来建模(构建)智能体之间的关系。因为大规模的智能体场景中不是每个智能体都相互作用的,我们需要确定关系(交互还是不交互?),就像足球后卫后卫不需要总是盯着对方守门员一样。(硬权重决定了智能体之间的关系)
2.提出基于2级(硬+软)注意力网络的博弈抽象机制,这可以表明两个智能体之间是否存在相互作用,以及相互作用的重要性。也是硬+软注意力机制所分别做的工作。
3.将这个检测机制集成到基于图神经网络的多智能体强化学习中,进行博弈抽象。
4.将G2Net分别与一个策略网络和一个Q网络结合,以此提出了两种新的学习算法GA-Comm(基于通信)和GA-AC(基于AC)。
背景
博弈抽象的主要思想是将多智能体强化学习(马尔可夫博弈)的问题模型简化为一个较小的博弈,从而降低求解(或学习)博弈均衡策略的复杂性。
注意力机制
两个主要类型:软注意力(就理解为soft max 的吧!),硬注意力
软注意力计算元素的重要性分布。特别是软注意力机制是完全可微的,因此可以很容易地通过端到端的反向传播来训练。Softmax函数是一种常见的激活函数。然而,这个函数通常将非零概率分配给不相关的元素,这削弱了对真正重要元素的关注。
硬注意力从输入元素中选择一个子集,这迫使模型只关注重要元素,完全丢弃其他元素。然而,硬软注意力机制是选择基于抽样的元素,因此是不可微的。因此,它不能直接通过端到端的反向传播来学习注意力的权重。
方法
1.基于二级注意力机制的博弈抽象
提出基于2级注意力机制的博弈抽象方法。再基于此机制,提出GA-Comm和GA-AC算法。
考虑一个局部可观测环境。局部观测oito^t_ioit被MLP编码成特征向量hith^t_ihit。 然后,利用特征向量hith^t_ihit通过注意力机制来学习智能体之间的关系(说的直接一点就是硬权重)。
首先用硬注意力机制来学习能够确定智能体之间是否有交互关系的硬权重。这篇论文是用LSTM来实现的,在每个时间步输出智能体i,j的的权重(0或者1)。 对于第i个智能体,将智能体i,j的嵌入向量合并为一个特征(hi,hj)(h_i,h_j)(hi,hj),并将该特征输入进LSTM模型:
hi,j=f(LSTM(hi,hj))(1)h_{i,j} = f(LSTM(h_i, h_j))\tag{1} hi,j=f(LSTM(hi,hj))(1)
其中fff是一个全连接层用来嵌入(解码)的。然而,传统的LSTM网络的输出只依赖于当前时间和前一时间的输入,而忽略了后期时间的输入信息。 也就是说,输入(智能体)的顺序在这个过程中扮演了重要角色并且输出重量值不能利用所有智能体的信息。这是短视且不合理的。所以用到了Bi-LSTM模型来解决此问题。
此外,在背景部分交代过,硬注意力机制因为采样过程,不能反向传播梯度。所以尝试利用gumbel-softmax函数来解决。
Whi,j=gum(f(LSTM(hi,hj)))(2)W^{i,j}_h = gum(f(LSTM(h_i, h_j)))\tag{2} Whi,j=gum(f(LSTM(hi,hj)))(2)
通过硬注意力机制,我们可以得到第i个智能体的子图GiG_iGi,在这个子图中第i个智能体刚好和需要协调的智能体连接。
然后,使用软注意力机制来学习子图GiG_iGi每条边的权重。使用查询键系统(键-值对),软注意力权重Wsi,jW^{i,j}_sWsi,j将嵌入eje_jej与eie_iei进行比较,并将这两个嵌入之间的匹配值传递到softmax函数中:
Wsi,j∝exp(ejTWkTWqeiWhi,j)(3)W^{i,j}_s ∝ exp(e^T_j W^T_k W_qe_iW^{i,j}_h)\tag{3} Wsi,j∝exp(ejTWkTWqeiWhi,j)(3)
其中WkW_kWk将eje_jej转换为一个密钥,WqW_qWq将eie_iei转换为一个查询,Whi,jW^{i,j}_hWhi,j是硬注意力值。最后,软注意力权重值Wsi,jW^{i,j}_sWsi,j是边的最终权重,被定义为Wi,jW^{i,j}Wi,j。
2.基于博弈抽象的学习算法
通过两个阶段的注意力模型,我们可以得到一个约简图,其中每个智能体(节点)只连接到需要交互的智能体(节点)。
2.1基于博弈抽象的策略网络 GA-Comm
ai=π(hi,xi)a_i = π(h_i, x_i) ai=π(hi,xi)
上式为第i个智能体的策略π\piπ,其中hi,xih_i,x_ihi,xi分别表示智能体的观测特征和其他智能体对第i个智能体的贡献。下面开始通过一系列方法得到hi,xih_i,x_ihi,xi,最后来求得策略π\piπ。
用一个LSTM层来提取特征,eee表示一个由全连接NN参数化的编码函数。hi,sih_i,s_ihi,si是LSTM的隐藏和cell状态。
hi,si=LSTM(e(oi),hi,,si,)h_i, s_i= LSTM(e(o_i), h_i^,, s_i^,) hi,si=LSTM(e(oi),hi,,si,)
至于其他智能体对第i个智能体的贡献xix_ixi怎么得到呢?首先要使用2级注意力机制来选择哪个智能体是第i个智能体需要通信的并且获得它的重要性:
Whi,j=Mhard(hi,hj),Wsi,j=Msoft(Wh,hi,hj)W^{i,j}_h = M_{hard}(h_i, h_j ), W^{i,j}_s = M_{soft}(W_h, h_i, h_j) Whi,j=Mhard(hi,hj),Wsi,j=Msoft(Wh,hi,hj)
其中Whi,jW^{i,j}_hWhi,j表示硬注意力权重值,$ W^{i,j}s是软注意力值,这两者都由是软注意力值,这两者都由是软注意力值,这两者都由h_i, h_j计算得到,后者还需要一个计算得到,后者还需要一个计算得到,后者还需要一个W_h。同理,。同理,。同理,M{hard}是硬注意力模型,是硬注意力模型,是硬注意力模型,M_{soft}$是软注意力模型。
现在万事俱备,我们通过GNN来计算得到其他智能体对第i个智能体的贡献xix_ixi,具体计算方法如下:
xi=∑j≠xwjhj=∑j≠xWhi,j,Wsi,j,hjx_i = \sum _{j\neq x} w_jh_j = \sum _{j\neq x} W_h^{i,j},W_s^{i,j},h_j xi=j=x∑wjhj=j=x∑Whi,j,Wsi,j,hj
最后,我们通过ai=π(hi,xi)a_i = π(h_i, x_i)ai=π(hi,xi)得到了第i个智能体的动作。在训练过程中,用的是经典REINFORCE算法来训练策略π\piπ。
2.2基于博弈抽象的演员评论家网络 GA-AC
受到MAAC[Actor-Attention-Critic for Multi-Agent Reinforcement Learning]的启发,现在提出一个基于G2ANet的新算法。为了计算第i个智能体的Q值Qi(oi,ai)Q_i(o_i,a_i)Qi(oi,ai),评论家网络接收所有智能体的观测值o=(o1,...,oN)o=(o_1,...,o_N)o=(o1,...,oN)和动作a=(a1,...,aN)a=(a_1,...,a_N)a=(a1,...,aN):
Qi(oi,ai)=fi(gi(oi,ai),xi)Q_i(o_i, a_i) = f_i(g_i(o_i, a_i), x_i) Qi(oi,ai)=fi(gi(oi,ai),xi)
其中fIf_IfI和gig_igi是一个多层感知机(MLP),其他智能体对第i个智能体的贡献xix_ixi依然是由GNN计算得到,方法如下:
xi=∑j≠xwjvj=∑j≠xwjh(Vgj(oj,aj))x_i = \sum _{j\neq x} w_jv_j = \sum _{j\neq x} w_jh(Vg_j(o_j,a_j)) xi=j=x∑wjvj=j=x∑wjh(Vgj(oj,aj))
这里的值vjv_jvj是第j个智能体的嵌入,用一个嵌入函数编码,然后通过一个共享矩阵V变换得到。h()h()h()是一个元素上的非线性。
通过2级注意力机制计算注意权重wjw_jwj,将嵌入eje_jej与ei=gi(oi,ai)e_i=g_i(o_i,a_i)ei=gi(oi,ai)进行比较,并将这两个嵌入之间的关系值传递到一个softmax函数中:
wj=Whi,jWsi,j∝exp(h(BiLSTMj(ei,ej))ejTWkTWqei)w_j = W_h^{i,j}W_s^{i,j} ∝ exp(h(BiLSTM_j (e_i, e_j ))e^T_j W^T_k W_qe_i) wj=Whi,jWsi,j∝exp(h(BiLSTMj(ei,ej))ejTWkTWqei)
其中WqW_qWq将eie_iei转换为一个查询,WkW_kWk将eje_jej转换为一个密钥。 这样,我们就可以得到注意力权重wjw_ jwj,并计算出每个智能体的Q值。
基于图注意力神经网络的多智能体博弈抽象相关推荐
- 通过图注意力神经网络进行多智能体游戏抽象_[读论文] AttnPath: 将图注意力机制融入基于深度强化学习的知识图谱推理中...
论文原文:Incorporating Graph Attention Mechanism into Knowledge Graph Reasoning Based on Deep Reinforcem ...
- 【Pytorch神经网络实战案例】22 基于Cora数据集实现图注意力神经网络GAT的论文分类
注意力机制的特点是,它的输入向量长度可变,通过将注意力集中在最相关的部分来做出决定.注意力机制结合RNN或者CNN的方法. 1 实战描述 [主要目的:将注意力机制用在图神经网络中,完成图注意力神经网络 ...
- layui table动态选中_NeurIPS 2020 | 伯克利新工作: 基于动态关系推理的多智能体轨迹预测问题...
公众号:将门创投(thejiangmen)作者:加州大学伯克利分校在读博士生 李家琛卡内基梅隆大学在读硕士生 杨帆 NeurlPS 2020系列论文解读 第·1·期 本文将分享来自UC Berkele ...
- (21) 出行需求预测新视角---基于图卷积神经网络GCN的出租车OD需求预测
交通预见未来(21): 出行需求预测新视角---基于图卷积神经网络GCN的出租车OD需求预测 1.文章信息 <Origin-Destination Matrix Prediction via G ...
- GNN学习笔记(四):图注意力神经网络(GAT)节点分类任务实现
目录 0 引言 1.Cora数据集 2.citeseer数据集 3.Pubmed数据集 4.DBLP数据集 5.Tox21 数据集 6.代码 嘚嘚嘚,唠叨小主,闪亮登场,哈哈,过时了过时了,闪亮登场换 ...
- Chemistry.AI | 基于图卷积神经网络(GCN)预测分子性质
GCN: Graph Convolutional Network(图卷积网络) 环境准备 Python版本:Python 3.6.8 PyTorch版本:PyTorch1.1.0 RDKit版本:RD ...
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第11章-基于邻居相关状态的多智能体非合作行为检测与隔离
第10章 回到目录 无 代码地址:https://github.com/Jichao-Zhao/MAS_CooperativeClusterMotionControl 第11章-基于邻居相关状态的多智 ...
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第3章-基于代数连通度估计的多智能体系统群集运动控制
第2章 回到目录 第4章 第3章-基于代数连通度估计的多智能体系统群集运动控制 3.1 研究背景 3.2 问题描述 系统方程 (3.1) 3.3 控制律设计 控制协议 (3.7) 3.4 λ2\lam ...
- 【控制】《多智能体系统的动力学分析与设计》徐光辉老师-第6章-基于间歇控制的非线性多智能体系统的多一致
第5章 回到目录 第7章 第6章-基于间歇控制的非线性多智能体系统的多一致 6.1 引言 6.2 预备知识与模型描述 6.3 间歇控制下的非线性多智能体系统的多一致 6.4 仿真模拟 6.5 本章小结 ...
最新文章
- 首发 | 驭势科技推出“东风网络”:如何找到速度-精度的最优解?| 技术头条...
- 讨论UML概念和模型UML九种图。
- 浏览器的内核及版本的判断
- 手写自己的MyBatis框架-操作流程
- 牛客网【每日一题】7月8日 Alliances
- word一键排版工具_超赞的Word标尺小工具,轻松帮你搞定各种「对不齐」排版问题...
- ​技术沙龙 | 移动云Teatalk(西安站)带你走进云网融合
- elementUI 分页器使用时遇到的Bug
- for(;;)和while(true)的区别
- spark中local模式与cluster模式使用场景_详细总结spark基于standalone、yarn集群提交作业流程...
- CF1399E2 Weights Division (hard version)
- 基于华为云IoT设计的智能门锁
- 2021最新阿里Java面经
- 解析ICMAX国产存储芯片eMMC和UFS的区别
- 转载:java 7新特性-TWR(Try-with-resources)
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 HDU - 2191(特殊01背包)
- 通信中台的概念界定与能力拆解
- 两个实体不是同个类同名字段赋值问题
- 计算机毕业设计Java校园闲置物品交易平台(系统+源码+mysql数据库+lw文档)
- SAP 特殊采购类遇到Q库存
热门文章
- 【渝粤题库】陕西师范大学209018 现代城市管理 作业
- Office365与Office2016差异汇总
- H5 app开启web调试
- 无线扩展器怎么连接好友服务器失败怎么办,TP-Link TL-H28R无线扩展器的使用教程...
- 二代测序技术相匹配的de novo组装工具
- matlab ccdf,ADS模拟数字加MATLAB联合仿真
- [JAVAEE]实验06:基于XML和基于注解的声明式事务管理方式模拟银行转账程序
- VCSA6.7-VCSA7.0部署经常踩中的坑【 两个 】
- 关于 Qt在线安装速度较慢 的解决方法
- 超声波定向传送:驱动功率电路制作