利用反向传播解决多智能体通信

介绍

存在的问题
  • 在现实世界中,每个参与者的能力和对世界的可见性都有限

  • 虽然控制每个代理的模型通常是通过强化学习来学习的,但通信的规范和格式通常是预先确定的(每个时间步交流信息)

本文工作
  • 提出了一个模型,在该模型中,合作的智能体在采取动作之前学会在他们之间进行沟通,每个智能体都由深度前馈网络控制

  • 模型能够应用于涉及到环境部分可见的问题上

  • 模型允许智能体的数量和类型在允许时发生动态变化

通信模型

  • s j s^j sj :第j个智能体对环境的状态值
  • 控制器Φ, a=Φ(s) ,其中 s={ s 1 s^1 s1,…,} s j s^j sj 是所有的状态值, a={ a 1 a^1 a1,…, a j a^j aj} 是所有动作的拼接。 这个单个控制器Φ包含每个代理的单独控制器,以及代理之间的通信
控制器Φ结构
  • 主要结构

    • 由模块 f i f^i fi构建 i ∈ { 0 , … , K } i∈\{0,…, K\} i∈{0,…,K},其中K为网络中的通信步数

    • f i f^i fi为每个智能体j取两个输入向量:隐藏状态 h j i h{^i_j} hji​和通信 c j i c{^i_j} cji​,并输出一个向量 h j i + 1 h{^{i+1}_j} hji+1​。由 f i f^i fi单一线性层+非线性层构成。 整体的输入: h 0 = [ h 1 0 , h 2 0 , … , h j 0 ] h^0 = [h{^0_1}, h{^0_2},…,h{^0_j}] h0=[h10​,h20​,…,hj0​];

    • 整个模型可视为由多个层次构成: h i + 1 = σ ( T i h i ) h^{i+1}=\sigma(T^ih^i) hi+1=σ(Tihi) 其中 h i h^i hi是所有 h j i h{^i_j} hji​的拼接 而 T i T^i Ti相当于模型系数; T的大小是动态的 通过公式2( J-1)的归一化因子可以实现

    • 模型第一层使用编码器函数: h j 0 = r ( s j ) h{^0_j}=r(s_j) hj0​=r(sj​); 输入为每个agent的状态 s j s_j sj​输出为特征向量 h j 0 h{^0_j} hj0​ ;r是一个单层神经网络 ;对于所有的agent有 c j 0 = 0 c{^0_j}=0 cj0​=0

    • 模型的输出端使用解码器函数: q ( h j K ) q(h{^K_j}) q(hjK​);输出所有action空间的分布;q是单层网络的形式,最后有一个softmax;最后为了产生离散的action,会从分布中进行采样 a j a_j aj​~ q ( h j K ) q(h{^K_j}) q(hjK​)

    • 智能体变化,N(j)会随之变化,所以模型被解释为动态图,N(j)是当前时刻连接到顶点j的顶点集,图内的边表示agent之间的通信通道,于是公式2变成:

  • 其他变化

    • 跳过连接:对于某些任务,将输入编码 h j 0 h{^0_j} hj0​作为第一层以外的通信步骤的输入。因此,对于第i步的智能体j,有: h j i + 1 = f i ( h j i , c j i , h j 0 ) h{^{i+1}_j=f^i(h{^i_j},c{^i_j},h{^0_j})} hji+1​=fi(hji​,cji​,hj0​)
    • 暂时重现:将网络变成一个RNN:每个时间步t使用相同的 f t f^t ft 同时从 q ( h j t ) q(h{^t_j}) q(hjt​)中采样动作
  • 模型总结 * 最右边的图是模型的整体结构,名为ϕ,代表了整个MAS一次输入状态到获取动作的全过程,一次整个ϕ 模型的前向传播类似于仿真中的一个time step,相当于强化学习中的一次根据状态决策动作的过程,也就是一次执行策略的过程。模型输入的是每个agent的状态,输出是每个智能体的动作action,和策略一样很好理解,J就是agent的个数。整个ϕ 模型包括了2个阶段的通讯过程(2是定义的参数,代表做一次决策MAS系统经历两步交互),每一个交互阶段的过程如中间图所示,其中 f i f^i fi 代表ϕ 中的第i层模型,也是第i阶段的交互模型层。图中四个灰色方块(一个f)代表了四个智能体。在 f i f^i fi 到 f i + 1 f^{i+1} fi+1 过程中, f i f^i fi的一部分(蓝色)直接输入给每个agent对应的 f i + 1 f^{i+1} fi+1 ,而另一部分(红色)则和其他agent的 f i f^i fi 一起求和取平均后再无差别的送给每个 f i + 1 f^{i+1} fi+1 。下面看每个小灰方块里的内容,对应最左边的图,实际上这就是一个两层的神经网络,输入是状态向量和交互向量的组合(红色和蓝色向量直接拼接起来),用于迭代每一次的交互过程,输出就是下一个交互交互阶段的状态向量 [ 1 ] ^{[1]} [1]。

总结:

参考文章
[1] 普通攻击往后拉.[经典论文分享]CommNet 多智能体通讯网络模型.https://blog.csdn.net/weixin_43483381/article/details/112800873

利用反向传播学习多智能体通信相关推荐

  1. 多智能体通信:基于通信的多智能体强化学习研究综述

    题目:A Survey of Multi-Agent Reinforcement Learning with Communication 出处:arXiv 2022 摘要:通信是协调多个智能体行为的有 ...

  2. 技术图文:如何利用 C# 实现 误差反向传播 学习规则?

    背景 我们在 如何利用 C# 对神经网络模型进行抽象? 中完成了神经网络的抽象结构: 三个接口:激活函数.有监督学习.无监督学习 三个抽象类:神经元.网络层.网络拓扑 我们在 如何利用 C# 实现神经 ...

  3. 带有时间信息的简单且稳健的多智能体通信

    1.文章信息 <Succinctand Robust Multi-Agent Communication With Temporal Message Control>这是哈弗大学发表在计算 ...

  4. 强化学习—— 多智能体强化学习

    强化学习-- 多智能体强化学习 1. 多智能体关系分类 1.1 合作关系(Fully Cooperative) 1.2 竞争关系(Fully Competitive) 1.3 混合关系(Mixed C ...

  5. AI 大战 AI,一个深度强化学习多智能体竞赛系统

    小伙伴们快看过来!这是一款全新打造的 ⚔️ AI vs. AI ⚔️--深度强化学习多智能体竞赛系统. 这个工具托管在 Space 上,允许我们创建多智能体竞赛.它包含三个元素: 一个带匹配算法的 S ...

  6. DeepMind 综述深度强化学习:智能体和人类相似度竟然如此高!

    来源:AI科技评论 近年来,深度强化学习(Deep reinforcement learning)方法在人工智能方面取得了瞩目的成就,从 Atari 游戏.到围棋.再到无限制扑克等领域,AI 的表现都 ...

  7. 不用地图如何导航?DeepMind提出新型双路径强化学习「智能体」架构

    来源:deepmind.arXiv 作者:Piotr Mirowski.Matthew Koichi Grimes.Mateusz Malinowski.Karl Moritz Hermann.Kei ...

  8. 中科院自动化所利用光学定位系统实现多智能体编队避障

    协同控制提高智能体系统鲁棒性,编队避障是重点 随着工业技术的发展,任务复杂程度和规模逐渐增加,单个智能体获取信息及解决问题的能力有限,在多数情况下无法满足任务要求.而多智能体系统强调单体之间的合作与协 ...

  9. 【强化学习】不用地图如何导航?DeepMind提出新型双路径强化学习「智能体」架构

    来源:deepmind.arXiv 作者:Piotr Mirowski.Matthew Koichi Grimes.Mateusz Malinowski.Karl Moritz Hermann.Kei ...

最新文章

  1. Vue.js 第二天: 列表渲染
  2. Linux同步自己的配置,Linux学习心得之——Rsync同步配置
  3. javascript document对象 第21节
  4. 开发高性能的WebService应用 zhuan
  5. DBA(二):percona软件、innobackupex备份与恢复
  6. 10分钟免费开启全站https
  7. easybcd 支持 windows 10 和 ubuntu 14.04 双系统启动
  8. 视频编解码:第一章 编解码基础
  9. Flowable 数据库表结构 ACT_HI_IDENTITYLINK
  10. ogg启动报错libnnz11.so: cannot open shared object file
  11. 练手级计算机,快来打怪
  12. Leetcode 410.分割数组的最大值(最优解是二分法)
  13. 楼主,不知道为什么这么流行
  14. php无框架开发web项目,web.framework
  15. Python编程从入门到实践学习内容包含哪些?
  16. VM ware 12安装教程
  17. cydia下载地址_Cydia下载完整安装包_cydia软件源官方下载-PChome下载中心
  18. 市场项目交接文档初稿
  19. Docker可视化工具——Portainer全解
  20. oracle创建交叉表,SQL交叉表常用实例(转载网络)

热门文章

  1. 【AlphaGo】AlphaGo背后的力量:蒙特卡洛树搜索入门指南
  2. 什么是相对路径?什么是绝对路径?
  3. c语言微信抢红包的随机算法,微信抢红包的算法实现(C++)
  4. 阿里达摩院证实叶杰平、薄列峰入职,网易科技数字化产业周报来了
  5. Archlinux配置邮件(以qq邮箱为例)
  6. “程序媛”是怎样的一种存在?
  7. Java中的条件语句
  8. tightvnc卸载vnc,tightvnc如何卸载vnc
  9. vs2019创建webapi
  10. 数据迁移测试实施方案