[基础论文阅读]QMIX: Monotonic Value Function Factorization for Deep Multi-agent Reinforcement Learning
[基础论文阅读]QMIX: Monotonic Value Function Factorization for Deep Multi-agent Reinforcement Learning
题目含义:QMIX: 用于多智能体深度强化学习的单调值函数分解
文章来源:2018 ICML
原文链接:http://proceedings.mlr.press/v80/rashid18a.html
这是一篇非常经典的合作式多智能体深度强化学习论文,后续博主大概会上传个人对于代码的解读。如有错误,还请斧正。
摘要
在CTDE中尚不清楚如何提取decentralized policy的最佳策略。文章为了解决这个问题,提出了基于价值分解的QMIX方法,可以端到端的、集中的方式训练分散的策略。 QMIX 使用了一个网络将joint action values估计为每个智能体values的复杂非线性组合,该组合仅以local observation为条件。在结构上强制joint-action value和每个智能体的values中是单调关系,这允许在off- policy中最大化joint action value,并保证集中和分散策略之间的一致性。
简介
Cooperative Multi-Agent Reinforcement learning的主流算法分为Communication和CTDE两种。
MARL中的难点:①部分可观察。②不稳定性。来自于部分可观测让不同oio_ioi对应了一个sss,和其他智能体的干扰。
为什么使用值分解方法? 参考知乎up主的讲解文档
QIMX认为,去中心化策略也自然地缓解了联合行动空间随代理数量呈指数增长的问题。
QMIX学习了一个centralized and factored QtotQ_{tot}Qtot,类似VDN的想法。VDN通过将 QtotQ_{tot}Qtot表示为仅以individual observations and actions为条件的individual value function QaQ_aQa的总和,decentralized policy仅来自每个智能体贪婪地选择与其 QaQ_aQa相关的动作。VDN 严重限制了可以表示的centralised action-value function 的复杂性,并忽略了训练期间可用的任何额外状态信息。
preliminaries
framework
QMIX认为,VDN 的完全分解对于提取去中心化策略是不必要的。 只需要确保在QtotQ_{tot}Qtot上执行的全局 argmax 产生与在每个QaQ_aQa上执行的一组单独的argmax相同的结果。
这允许每个智能体aaa仅通过选择与其QaQ_aQa相关的贪婪动作来参与分散执行。 VDN也可以满足(4)。QMIX 是可以推广到更大的单调函数族,这些单调函数也足以但不必满足 (4)。 可以通过对 QtotQ_{tot}Qtot和每个QaQ_aQa 之间关系的约束来强制执行单调性:
[?]要达到(4)的效果只需要满足(5)。为了保证(5)成立,使用包含agent networks, a mixing network, a set of hypernetworks的结构,如图2所示。
每一个智能体a,通过agent network得到Qa(τa,ua)Q_a(\tau^a,u^a)Qa(τa,ua)。agent network的主体部分是DRQN。
mixing network是前向传播网络,输入为agent networks的输出,将其混合,输出QtotQ_{tot}Qtot。为了保证单调性,即公式(5),mixing network的weights应为非负数(但不是biases)。所以weights由单独的hypernetworks产生(图a红色部分),每一个hypernetwork的输入为状态sss,产生每一层混合网络的weights。biases也是通过这种方式产生,不过biases没有非负数的限制。最后的biases通过一个两层的hypernetwork和relu产生。
state传入了hypernetwork而不是直接传入到混合网络中,因为允许QtotQ_{tot}Qtot以非单调方式依赖额外的状态信息。使用hypernetworks可以以任意方式调节单调网络的权重,从而尽可能灵活地将完整状态 s 集成到联合动作值估计中。
QMIX的损失函数:
representational complexity
可以用 QMIX 表示的价值函数类包括任何价值函数,这些价值函数可以分解为在完全可观察的环境中智能体的个体价值函数的非线性单调组合。 这扩展了由 VDN 表示的线性单调值函数。 然而,(5) 中的约束阻止 QMIX 表示不以这种方式分解的值函数。 直观地说,任何一个智能体的最佳动作取决于其他智能体在同一时间步的动作的任何价值函数都不会适当地分解,因此不能用 QMIX 完美地表示。 但是,QMIX 可以比 VDN 更准确地逼近此类值函数。
[基础论文阅读]QMIX: Monotonic Value Function Factorization for Deep Multi-agent Reinforcement Learning相关推荐
- 阅读QMIX: Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning
接上文VDN,本来我觉得QMIX全文会很难读,后来发现不是,哈哈,又畏难了,希望我挑战QTRAN和Qatten的时候也能这样. QMIX 题目作者 摘要 方法 实验和结果 其他 题目作者 ICML18 ...
- QMIX: Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning
摘要 在许多现实环境中,一组代理人必须协调他们的行为,同时以分散的方式行事.同时,通常有可能在模拟或实验室环境中以集中的方式训练代理,其中全局状态信息可用并且通信约束被解除.学习联合行动以额外的全局信 ...
- 论文阅读:Natural Language Processing Advancements By Deep Learning: A Survey
文章目录 一.介绍 二.背景 1.人工智能和深度学习 (1)多层感知机 (2)卷积神经网络 (3)循环神经网络 (4)自编码器 (5)生成对抗网络 2.NLP中深度学习的动机 三.NLP领域的核心概念 ...
- 【论文阅读】DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning
[论文阅读]DouZero: Mastering DouDizhu with Self-Play Deep Reinforcement Learning 1 本文解决了什么问题? 斗地主是一个非常具有 ...
- 【论文阅读】A Survey of Image Synthesis Methods for Visual Machine Learning --- 图像生成,计算机视觉
论文原文地址:A Survey of Image Synthesis Methods for Visual Machine Learning ,是对目前image synthesis方法的一个总结和归 ...
- RL论文阅读【一】Playing Atari with Deep Reinforcement Learning
1 废话 开始要认真的读论文的,计划每天晚上回宿舍看一半,两天看完一篇,第三天写博客总结,虽然有点慢吧,但是积少成多嘛~ 今天先介绍第一篇,也是深度强化学习的开山之作. 2 动机 一般把这篇论文称作深 ...
- 论文阅读:Natural Language Processing Advancements By Deep Learning: A Survey 深度学习在自然语言处理中的进展
Natural Language Processing Advancements By Deep Learning: A Survey 深度学习在自然语言处理中的进展 目录 Natural Langu ...
- 【论文阅读】DeepGauge: multi-granularity testing criteria for deep learning systems.
文章目录 一.论文信息 二.论文结构 三.论文内容 摘要(原文) 摘要(中文版) 实验结果分析与总结 三.相关笔记 一.论文信息 题目: DeepGauge: multi-granularity te ...
- 论文阅读问题总结(六):Meta-Learning with Domain Adaption for Few-shot Learning Under Domain Shift
1.这篇paper作者提出要解决的问题? 作者提出,大部分现存的小样本元学习领域的一些工作都基于两个假设: training task和testing task都是从满足同一task distribu ...
最新文章
- 二进制与十进制的小数位怎么转?
- 【NLP】darmatch: 一个非常高效的多模式字符串匹配工具
- python修改文件内容,不需要read,write多个动作。
- Spring集成redis(Spring Data Redis)
- I/O设备的编址方式(统一编址,独立编址)
- UI设计不能忽略的字体设计素材
- 用CSS制作日历弹出框的心得
- 文本溢出处理,出现省略号,单行文本溢出处理,多行文本溢出处理
- 素数筛——区间段内最小,最大素数,以及这个区间中素数的个数
- 我的团长我的团第十七集
- 悟空互动:如何让百度更快的收录网站,试试快速收录提交入口!
- Edit plus | ecli pse配色方案
- 使用pyqt弹出消息提示框
- ThreeJs 学习之旅(七)
- 【Sharding-JDBC】 (五)整合mybatis-plus 解决分布式事务(基于XA)
- echarts生成图表的简单使用
- latex常见错误之缺少sty文件
- 学习区块链(一)--我为什么要学习区块链?
- 赶紧收下这四个安卓手机通讯录丢失怎么恢复的技巧吧
- Javaweb 实现简单的用户注册登录(含数据库访问功能)