哇我先说一下,还真是技术/paper/理论像弹簧,我弱它就强,我一开始非常恐惧看这些啥啥分解的论文,最近看了VDN,QMIX,感觉真的就没我想得那么复杂,哎,惭愧惭愧,下一次会更勇敢一点的。我先放到这里,明天参加完活动顺利的话明天上午更一下,顺便把QMIX也更新一下,嘻嘻。


手动分隔线,果然人参加完活动是不可能心平气和坐下写东西的,新一天的下午,我来更新了


目录

  • 题目
  • 作者
  • 摘要
  • 方法
  • 环境
  • 结果
  • 代码
  • 其他

题目

Value-Decomposition Networks For Cooperative Multi-Agent Learning Based On Team Reward, AAMAS 18

作者


DeepMind 大佬团队

摘要

本文考虑的是合作多智能体强化学习的问题,即几个智能体依赖于自己的部分观测信息,在环境中不断学习,共同优化唯一的一个团队奖励,team reward,即agent自己是没有独属于自己的奖励的。在这一类问题中,目前有两大类比较直观的方法,完全集中式和完全分散式训练。前者完全集中式(CTDE,CTCE),就是在训练的时候将智能体的观测和动作空间分别联合起来,作为一个大的智能体统一训练,但是这样的训练方法扩展性不强,不太适合大规模问题,不好学习,而且会出现lazy agent的问题,即当其中一个智能体学到很好的方法的时候,其他智能体将不被鼓励去探索,因为他们的探索会使得team reward降低,另外对于在执行时无法集中执行的环境,有些中心化的方法(CTCE)未必能很好地提取出后续分布式执行的策略;后者完全分散式训练,每个智能体有自己的学习网络,算法的收敛性没有保证,因为一个智能体在学习的时候其他的智能体也同时在学习,环境始终是非静态的,此外由于智能体是部分可观测的,其无法判断当前收获的奖励是因为他自己的行动还是因为他没有观测到的队友们的行动,由此可能被一些奖励信息误导。由于这两类方法都没有很好解决基于team reward的多智能体强化学习合作这一问题,对此作者提出了一种新的训练方式,提出了值分解的网络结构,并在实验上验证了对于合作多智能体强化学习,这一训练结构比前两类方法的性能都要好。

方法

对于一些问题,出于通信负载,部分可观测等的限制,几个智能体需要分布式执行策略,而且分布式策略执行可以缓解在集中式训练和执行的方法中,动作空间随智能体数量指数级增长的问题。但是很多时候在训练几个智能体时是可以采用集中式训练的,从而利用更多的信息,只是目前如何利用好集中式训练所能提供的信息仍然是一个开放的问题。作者的做法可以认为是集中式训练分散执行中基于值的一套方法。

上图展示的就是VDN的核心算法图了,左图是独立的Q学习(DQN的变体),右图是作者提出的VDN的方法,作者认为:

团队的team reward可以近似成几个agent的QiQ_iQi​值得和的形式,从而通过减小∑i=1dQi\sum_{i=1}^d Q_i∑i=1d​Qi​和team reward的误差来反向学习QiQ_iQi​,也就是说对于每一个agent算法并没有单独设定一个奖励来明确学习QiQ_iQi​,而是通过这种假设来间接非明确的学习到QiQ_iQi​。而在具体执行的时候,智能体只要根据自己学到的QiQ_iQi​来选择动作就可以了,在作者的这种假设下,每个智能体使自己的QiQ_iQi​最大,也就是使得team reward最大,保证了集中式训练和分散式执行的一致性。

环境

实验环境是在Leibo 2017年发布的2D Gridworld中拓展的,重新定义了三个任务,任务图片是这样的:

环境中一共有三个任务,上面一行,和左下的地图都是前两个任务的,右下的地图是给第三个任务的,智能体都是部分可观测的,只能观测到自身周围的一点环境:

  • Switch: 两个智能体初始化在两端,分别要到另一端的某一个位置,在open map上任务相对简单,但是在有走廊的地图,右上,左下,两个智能体就需要好好协调了
  • Fetch: 两个智能体初始化在同一侧,需要到另一侧去pick up objects,再回来drop,(两个动作都分别有分),为了高效快速得分两个智能体需要好好配合,例如一个回来了一个就再过去pick。
  • Checkers: 环境中充满了苹果和柠檬,一个智能体比较敏感吃苹果+10,柠檬-10,另一个吃苹果+1,柠檬-1,但是苹果又夹杂在柠檬之中,需要两个智能体配合来得到高分,例如一个比较好的策略是不敏感的智能体多吃柠檬让出路让另一个去吃苹果。

感觉这个环节还是挺有趣的,尤其第三个。

结果

作者评价了这几种方法,v是值分解,IL是完全分布式学习,C是集中式学习,另外还考虑了增加几个辅助的增强方法,其中S参数共享,id是考虑角色,H,L分别是高层和低层通信。共享权重就比较好训,但是有些系统里不同智能体在面对相同观测的时候往往做的动作不同,因此也可以考虑加入角色信息,另外智能体不同模块之间的通信直觉上对于部分可观测问题也是有帮助的。



由此可以得出几个结论:

  • 任何一种加v的方法都比IL, C好
  • 共享权重的方法对于有些问题比较好,可以帮助克服lazy agent,但是有些时候又不好,例如对于checker的问题,智能体本身就是不同的
  • 对于智能体最好是不同的问题,加入角色信息就会起到帮助
  • 低层的通信比高层的通信效果要好一些,但是增加了算法的复杂度,因为网络要处理更多的信息。

代码

同COMA一样,有一些大佬把这个算法实现了 ,code link

其他

首先这篇文章写得真的不错(针不戳),很多东西分析的比较明白,句子用词啥也都比较好;其次算法的提出,虽然比较简单,但是算法图写得比较清楚,而且也是比较合理的,当然我始终感觉VDN缺少一个理论解释,这种认为team reward等于成员们的QiQ_iQi​和的形式保证了训练和执行的一致性,但是并不是所有的问题都是这种关系(当然QMIX对这里进行了补充,但是这个单调性除了保障训练执行一致性外应该还待商榷);最后实验上作者在别人的环境上自己改写了三个比较有意义的小实验,感觉还是挺踏实的,但是不知道这个环境去哪里找啊=.=

阅读VDN:Value-Decomposition Networks For Cooperative Multi-Agent Learning Based On Team Reward相关推荐

  1. 论文阅读:Regularizing Deep Networks with Semantic Data Augmentation

    论文阅读:Regularizing Deep Networks with Semantic Data Augmentation 动机 特征空间的语义变换 Implicit semantic data ...

  2. 文献阅读:Improving neural networks by preventing co-adaptation of feature detectors

    文献阅读:Improving neural networks by preventing co-adaptation of feature detectors ----通过防止特征检测器的共适应以改进 ...

  3. 论文阅读2018-Deep Convolutional Neural Networks for breast cancer screening 重点:利用迁移学习三个网络常规化进行分类

    论文阅读2018-Deep Convolutional Neural Networks for breast cancer screening 摘要:我们探讨了迁移学习的重要性,并通过实验确定了在训练 ...

  4. 谣言检测文献阅读四—Reply-Aided Detection of Misinformation via Bayesian Deep Learning

    系列文章目录 谣言检测文献阅读一-A Review on Rumour Prediction and Veracity Assessment in Online Social Network 谣言检测 ...

  5. Multi task learning多任务学习背景简介

    2020-06-16 23:22:33 本篇文章将介绍在机器学习中效果比较好的一种模式,多任务学习(Multi task Learning,MTL).已经有一篇机器之心翻译的很好的博文介绍多任务学习了 ...

  6. 多智能体强化学习Multi agent,多任务强化学习Multi task以及多智能体多任务强化学习Multi agent Multi task概述

    概述 在我之前的工作中,我自己总结了一些多智能体强化学习的算法和通俗的理解. 首先,关于题目中提到的这三个家伙,大家首先想到的就是强化学习的五件套: 状态:s 奖励:r 动作值:Q 状态值:V 策略: ...

  7. 【论文阅读】DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning

    [论文阅读]DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning 1 本文解决了什么问题? 斗地主是一个非常具有 ...

  8. Deep Learning Based Registration文章阅读(五)《Anatomy-guided Multimodal Registration by Learning Segment 》

    Deep Learning Based Registration文章阅读(五) 这篇文章是MIA2021新出的一篇文章<Anatomy-guided Multimodal Registratio ...

  9. 【预训练视觉-语言模型文献阅读文献阅读】最新BERT模型——UNITER: UNiversal Image-TExt Representation Learning

    [预训练视觉-语言模型文献阅读文献阅读]最新BERT模型--UNITER: UNiversal Image-TExt Representation Learning 文章目录 [预训练视觉-语言模型文 ...

  10. 论文解读《Structured Pruning for Deep Neural Networks with Adaptive Pruning Rate Derivation Based on Con》

    论文:Structured Pruning for Deep Neural Networks with Adaptive Pruning Rate Derivation Based on Connec ...

最新文章

  1. CentOS 设置网络(修改IP 网关 DNS)上网
  2. Win32汇编--加载菜单资源
  3. go int 转切片_「快学 Go 语言」第 4 课——低调的数组
  4. python创建dataframe表格不显示_创建列pandas DataFrame数据的表绘图时出现问题?
  5. IOS8模拟器设置中文输入
  6. Django ORM中原生JSONField的使用方法
  7. 音视频开发(27)---H264基本原理
  8. php基类控制器,控制器基类
  9. 体重测试java算法代码_标准体重计算示例代码
  10. win11如何执行干净启动 windows11执行干净启动的设置方法
  11. opencv之在图像上绘制标记---drawMarker
  12. 百度网盘kbengine - warring项目下载地址
  13. jquery类操作和className的区别
  14. python数据接口设计_基于python的接口测试框架设计(一)连接数据库
  15. mysql myisam commit_mysql autocommit对myisam,innodb的性能影响
  16. 【解决】Ubuntu安装NVIDIA驱动(咨询NVIDIA工程师的解决方案)
  17. img引用网络图片资源无法加载问题解决
  18. 弯管机程序使用三菱FX系列 PLC和昆仑通态触摸屏,也可以用三菱F940系列触摸屏
  19. 有哪些好用的低代码开发平台(2)
  20. 如何用hb制作一个html网页,HTML网页制作基础

热门文章

  1. RESTClient 使用,一个小巧方便的插件
  2. iOS13.4系统来袭CarPlay更好用,安卓微信内侧7.0.13支持黑暗模式了,附下载地址...
  3. 2.11 数值分析: 事后误差估计和迭代改善
  4. java se 通用能力-判断推理专项练习(选择题)
  5. HTML简单的登录页面--实例
  6. c语言怎么编程机器人,移动机器人(电子球)编程(c语言)
  7. 如何快速深入理解监控知识? | 技术干货
  8. mysql gis 高德_基于高德自定义地图数据的GIS矢量地图制作
  9. 《金字塔原理》之表达的逻辑
  10. 微信小程序图片显示以及动态数据修改(五六)