最新多智能体强化学习方法总结

Posted 汀、

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最新多智能体强化学习方法总结相关的知识,希望对你有一定的参考价值。

1.连续动作状态空间算法

1.1 MADDPG

Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments

这是OpenAI团队和McGill大学、UC Berkeley于2017合作发表在NIPS(现在称NeurIPS)上,关于多智能体强化学习(Multi-agent reinforcement learning, MARL)特别经典的一篇文章。本文不仅给出了MADDPG (Multi-agent deep deterministic policy gradient) 这种针对连续动作确定性策略学习的普适性算法,还开源了其仿真环境,包括了合作、竞争以及通信等不同场景,十分方便研究人员在该环境上验证算法性能[1]

原论文链接:https://proceedings.neurips.cc/paper/2017/file/68a9750337a418a86fe06c1991a1d64c-Paper.pdf

具体分析可以参考以下文章:

本人:多智能体强化学习算法【二】【MADDPG、QMIX、MAPPO】

Papers的知乎专栏:Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments

np.random知乎专栏:多智能体连续行为空间问题求解——MADDPG

1.1.1 总结

本文以比较直接的形式将DDPG[2]算法扩展到多智能体强化学习中,通过“集中式训练分布式执行”的思路,计算出每个智能体的最优策略。个人觉得在论文贡献上,其仿真实验的重要性远大于算法设计的本身。

此外,当智能体数量比较大的时候,该算法的计算规模将会非常大。因为每个智能体都对应两个actor网络(另一个是target actor网络)和两个critic网络(另一个是target critic网络)。如果再加上对其它智能体策略的估计,或者策略集合的训练,更是如此

1.2 COMA算法解析

:Counterfactual Multi-Agent Policy Gradients

基于策略梯度的MARL算法——COMA[1],全称为counterfactual multi-agent (COMA) policy gradients。论文发表在2018年的AAAI上,由牛津大学Shimon Whiteson教授领导的Whiteson Research Lab团队成员合作发表。这个团队我们在后面会经常提起,因为他们在MARL领域做出了很多相当有影响力的工作。相关链接如下:

http://whirl.cs.ox.ac.uk/

论文链接:

https://link.zhihu.com/?target=https%3A//ojs.aaai.org/index.php/AAAI/article/download/11794/11653

这篇paper基于三个主要的想法:

1. 使用一个集中式critic网络,在训练的过程中可以获取所有智能体的信息;
2. 采用反事实基线(counterfactual baseline)来解决信用分配的问题;
3. Critic网络要能够对反事实基线进行高效的计算。

具体分析可以参考以下文章:

Papers的知乎专栏:COMA算法解析: Counterfactual Multi-Agent Policy Gradients

Handsome Wu的知乎专栏:【文章精读 -- 多智能体3】COMA

天津包子馅儿知乎:多智能体强化学习笔记04 COMA算法原理介绍

np.random知乎专栏:多智能体强化学习论文——COMA讲解

【COMA】一种将团队回报拆分为独立回报的多智能体算法

1.2.1 总结

COMA同MADDPG算法[4]一样,都是基于策略梯度的算法。它们都是基于“集中式训练分布式执行”的学习算法,不同的地方在于:

a. COMA针对离散动作,学习的是 随机策略。而MADDPG针对连续动作,学习的是确定性策略。这在它们策略梯度函数的表达式上能够体现出区别。
b. COMA主要针对多智能体 协作任务,因此只有一个critic评价团队整体的回报。MADDPG既可以做协作任务,也可以做竞争任务,每个智能体都对应一个奖励函数,因此每个智能体对应一个critic。
c. 在原文中,COMA使用了 历史观测、动作序列作为网络的输入,而MADDPG没有使用历史序列。因此COMA的网络结构中包含了GRU层,而MADDPG的网络均为2-3个隐层的MLP。当然,这个不是特别重要,针对实际问题时,可以比较灵活一些;
d. COMA中所有智能体的actor网络 共享参数,输入端加上智能体ID以示区别。而MADDPG则没有共享参数;
d. COMA使用 反事实基线作为actor网络的优化目标,而MADDPG直接使用Q函数作为每个智能体actor网路的优化目标。

2.连续离散并存动作状态空间算法

2.1 MAPPO

来自清华大学与 UC 伯克利的研究者在一篇论文中针对这一传统认知提出了不同的观点:MARL 算法需要综合考虑数据样本效率(sample efficiency)和算法运行效率(wall-clock runtime efficiency)。在有限计算资源的条件下,与 off-policy 算法相比,on-policy 算法 --MAPPO(Multi-Agent PPO)具有显著高的算法运行效率和与之相当(甚至更高)的数据样本效率。有趣的是,研究者发现只需要对 MAPPO 进行极小的超参搜索,在不进行任何算法或者网络架构变动的情况下就可以取得与 SOTA 算法相当的性能。更进一步地,还贴心地给出了 5 条可以提升 MAPPO 性能的重要建议,并且开源了一套优化后的 MARL 算法源码

具体分析可以参考以下文章:

小小何先生的知乎专栏:多智能体强化学习(二) MAPPO算法详解

本人:多智能体强化学习算法【一】【MAPPO、MADDPG、QMIX】

3. 离散动作状态空间算法

3.1 VDN算法解析

 Value-Decomposition Networks For Cooperative Multi-Agent Learning

VDN (Value Decomposition Networks) 算法[1]。本来打算将此算法和QMIX[2]放到一起介绍的,但是考虑到VDN在MARL领域的知名度和影响力,还是决定先单独介绍此篇。此外,作为QMIX前身,对VDN算法的剖析应该有助于我们更加充分地理解QMIX算法。这样,我们也能够对这两种算法的优势和弊端有着更加全面的认识。

先说说这篇论文吧,完整版于17年6月份挂在arXiv上。后来在AAMAS 2018上正式发表了一个mini版,只有三页,由DeepMind团队完成。论文PDF链接如下:

https://arxiv.org/pdf/1706.05296.pdf

http://ifaamas.org/Proceedings/aamas2018/pdfs/p2085.pdf

具体分析可以参考以下文章:

Papers的知乎专栏:VDN算法解析: Value-Decomposition Networks For Cooperative Multi-Agent Learning

Handsome Wu的知乎专栏:【文章精读 -- 多智能体2】VDN

3.1.1 总结

VDN算法结构简洁,通过它分解得到的  可以让智能体根据自己的局部观测选择贪婪动作,从而执行分布式策略。其集中式训练方式能够在一定程度上保证整体Q函数的最优性。此外,VDN的“端到端训练”和“参数共享”使得算法收敛速度非常快,针对一些简单的任务,该算法可以说既快速又有效。

但是对于一些比较大规模的多智能体优化问题,它的学习能力将会大打折扣。其根本限制在于缺少值函数分解有效性的理论支持。VDN以简单的求和方式将整体Q函数完全分解开,使得多智能体Q网络的拟合能力很受限制。

QMIX[2]算法中,这种端到端训练的思路被继续沿用。作者改善了值函数分解的网络结构,考虑了系统全局状态  以及分布式策略的单调性约束,有效地增强了网络对整体Q函数的拟合能力。

3.2 QMIX

 Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning

提到了QMIX。虽然它是VDN算法的进阶版本,但它们不是由同一个团队发表的。QMIX算法由牛津大学的Whiteson Research Lab团队俄罗斯-亚美尼亚大学(共同一作)合作完成,发表于ICML 2018,是多智能体强化学习领域广为人知的算法。论文链接如下[1]

https://link.zhihu.com/?target=http%3A//proceedings.mlr.press/v80/rashid18a/rashid18a.pdf

具体分析可以参考以下文章:

本人:多智能体强化学习算法【三】【QMIX、MADDPG、MAPPO】

Papers的知乎专栏从 VDN 到 QMIX: Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning

Handsome Wu知乎:【文章精读 -- 多智能体1】QMIX

np.random知乎专栏:【QMIX】一种基于Value-Based多智能体算法

3.2.1 总结

QMIX算法的设计在理论上和实验验证上,都比VDN有更多的优势。作为基于值函数的MARL算法,广受研究人员的欢迎。

但是正如作者指出的那样,QMIX在执行策略的时候并不考虑其它智能体的动作。在实际场景中,这是不太合理的。针对合作任务的多智能体场景,只有充分考虑其它智能体可能对自己决策产生的影响,才能更好地进行合作。因此,考虑智能体之间更复杂的关系,例如任务/角色分配、智能体通信等,也是QMIX算法扩展的重要方向。

3.3 QTRAN

论文全称为:QTRAN: Learning to Factorize with Transformation for Cooperative Multi-Agent Reinforcement learning

这篇论文发表于ICML 2019,由韩国技术学院 (KAIST) 的 LANADA (LAboratory of Network Architecture, Design, and Analysis) 实验室成员合作发表,在对比实验的分析部分提到过QTRAN,它在非单调任务上 (合作围捕任务) 的性能表现直接碾压QMIX、MADDPG等经典算法,仅次于WQMIX。相关链接请点击:

https://link.zhihu.com/?target=http%3A//lanada.kaist.ac.kr/

https://link.zhihu.com/?target=http%3A//proceedings.mlr.press/v97/son19a.html

具体分析可以参考以下文章:

Papers的知乎专栏:QTRAN 算法详解(VDN和QMIX的升级版本)

小小何先生知乎:多智能体强化学习(一) IQL、VDN、QMIX、QTRAN算法详解

3.3.1总结

QTRAN算法其实和VDN更加相似一些,因为它学习  的过程和VDN没有什么区别。但是,QTRAN比VDN多出一个  函数,它可以帮助算法找到合适的  使其和  在最优动作的选择上是等价的。这是QTRAN算法的基本思路。

但是在实际操作过程中,  并不是那么好学的。为了使  能够随着  的更新而同步更新,作者在原始版本QTRAN-base的基础上提出了QTRAN-alt。

QTRAN作为VDN和QMIX的改进算法,被大量的MARL相关论文引用并作为baseline,例如前面介绍的WQMIX算法

虽然现在已经有了VDN,QMIX,QTRAN,WQMIX等,但是关于值函数分解的研究仍然在继续进行着,因为它们都不是最完美的解决方案

3.4MAVEN算法

全称为 Multi-Agent Variational Exploration[1],也是基于值函数的多智能体强化学习方法。它是在QMIX算法基础上,为解决多智能体探索效率低而提出的改进算法。这篇论文发表在NeurIPS 2019上,由相同的团队完成:论文链接

https://link.zhihu.com/?target=http%3A//whirl.cs.ox.ac.uk/

论文链接:

https://link.zhihu.com/?target=https%3A//proceedings.neurips.cc/paper/2019/hash/f816dc0acface7498e10496222e9db10-Abstract.html

在前面曾提到过,QMIX算法是一种满足单调性约束的Q值拟合器。这种约束能够解决大部分MARL问题,但是对于一些非单调性的任务,QMIX的函数拟合能力就会受到比较大的限制。这种限制也体现在智能体在联合动作空间中的探索上,由于智能体的策略总是满足单调性约束,因此探索也就被限制在一个特定的流形上,而不是整个联合动作空间。最后,算法就只能找到局部最优解。针对这样的问题,作者结合policy-based和value-based方法,基于QMIX框架提出了一个新的分层学习算法——MAVEN (Multi-agent variational exploration)

具体分析可以参考以下文章:

Papers的知乎专栏:多智能体高效探索 —— MAVEN 算法

3.4.1总结

总的来说,该算法借鉴了bootstrapped DQN的思想,考虑了一个隐策略来生成隐变量。这种思想经常在因果推断中用到,即变量X和变量Y之间,在不同场景下它们的联合概率分布P(X, Y)是不一样的。这样就导致我用现有的样本学不出来从X到Y之间的映射。出现这样的原因往往是没有从不同场景的样本中找到它们共同的隐变量Z。

在bootstrapped DQN中,也考虑隐变量z,将不同的Q值和隐变量关联起来。这样我就能扩大值函数的探索方向和范围,也就能帮助算法收集更多不一样的数据。数据越具有多样性,就越有可能学习到全局最优解。

因此,MAVEN继续发扬这种思想,将每个智能体的值函数或策略都赋予该隐变量。这种隐变量能够使智能体的策略和轨迹数据更加多样化,不会受到单调性的严格限制。因此,这样的算法就容易找到非单调的最优解。

3.5 Weighted QMIX

:Expanding Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning

基于值函数的多智能体强化学习 (MARL) 算法——WQMIX[1]。一听这名字就知道这个算法是QMIX[2]的改进版本,WQMIX算法同样是由牛津大学的Whiteson Research Lab团队成员合作完成,发表在NeurIPS 2020,论文链接如下:

https://link.zhihu.com/?target=https%3A//proceedings.neurips.cc/paper/2020/hash/73a427badebe0e32caa2e1fc7530b7f3-Abstract.html

具体分析可以参考以下文章:

Papers的知乎专栏:从 QMIX 到 WQMIX —— Weighted QMIX 算法详解

3.5.1总结

本文是针对QMIX算法函数表达能力上的限制,通过理想形式下对QMIX的分析,提出了加权QMIX算法。该算法在理论上能够保证将QMIX输出的满足“单调性”约束的函数,经过权重函数对每个联合动作的加权,映射到非单调值函数,并得到对应的最优策略,从而避免QMIX算法得到的策略陷入局部最优。

为了学习权重函数,WQMIX算法还要学习一个不受“单调性”约束的  函数,并保证其能收敛至  。但是在实际学习的过程中,由于各种近似关系,对  结构的设计,反而会导致整体性能的下降。

作者指出,WQMIX还有更多的改进空间,例如权重函数的选择。本文中的权重函数比较简单,只考虑了全局状态和联合动作信息,并且取值要么是1,要么是  。因此,更复杂的权重函数应该是未来针对该算法的研究方向。

以上是关于最新多智能体强化学习方法总结的主要内容,如果未能解决你的问题,请参考以下文章

多智能体强化学习(MARL)近年研究概览 {Learning cooperation(协作学习)Agents modeling agents(智能体建模)}

多智能体强化学习(MARL)近年研究概览 {Analysis of emergent behaviors(行为分析)_Learning communication(通信学习)}

常见多智能体强化学习仿真环境介绍{推荐收藏,真的牛}

强化学习|多智能体深度强化学习(博弈论—>多智能体强化学习)

多智能体强化学习算法QMIXMADDPGMAPPO

多智能体强化学习和分布式强化学习的区别?