[基础论文阅读]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中的难点:①部分可观察。②不稳定性。来自于部分可观测让不同 o i o_i oi对应了一个 s s s,和其他智能体的干扰。
为什么使用值分解方法? 参考知乎up主的讲解文档
QIMX认为,去中心化策略也自然地缓解了联合行动空间随代理数量呈指数增长的问题。
QMIX学习了一个centralized and factored Q t o t Q_{tot} Qtot,类似VDN的想法。VDN通过将 Q t o t Q_{tot} Qtot表示为仅以individual observations and actions为条件的individual value function Q a Q_a Qa的总和,decentralized policy仅来自每个智能体贪婪地选择与其 Q a Q_a Qa相关的动作。VDN 严重限制了可以表示的centralised action-value function 的复杂性,并忽略了训练期间可用的任何额外状态信息。

preliminaries

[基础论文阅读]QMIX: Monotonic Value Function Factorization for Deep Multi-agent Reinforcement Learning_第1张图片

framework

QMIX认为,VDN 的完全分解对于提取去中心化策略是不必要的。 只需要确保在 Q t o t Q_{tot} Qtot上执行的全局 argmax 产生与在每个 Q a Q_a Qa上执行的一组单独的argmax相同的结果。
[基础论文阅读]QMIX: Monotonic Value Function Factorization for Deep Multi-agent Reinforcement Learning_第2张图片
这允许每个智能体 a a a仅通过选择与其 Q a Q_a Qa相关的贪婪动作来参与分散执行。 VDN也可以满足(4)。QMIX 是可以推广到更大的单调函数族,这些单调函数也足以但不必满足 (4)。 可以通过对 Q t o t Q_{tot} Qtot和每个 Q a Q_a Qa 之间关系的约束来强制执行单调性:
在这里插入图片描述
[?]要达到(4)的效果只需要满足(5)。为了保证(5)成立,使用包含agent networks, a mixing network, a set of hypernetworks的结构,如图2所示。

[基础论文阅读]QMIX: Monotonic Value Function Factorization for Deep Multi-agent Reinforcement Learning_第3张图片
每一个智能体a,通过agent network得到 Q a ( τ a , u a ) Q_a(\tau^a,u^a) Qa(τa,ua)。agent network的主体部分是DRQN。

mixing network是前向传播网络,输入为agent networks的输出,将其混合,输出 Q t o t Q_{tot} Qtot。为了保证单调性,即公式(5),mixing network的weights应为非负数(但不是biases)。所以weights由单独的hypernetworks产生(图a红色部分),每一个hypernetwork的输入为状态 s s s,产生每一层混合网络的weights。biases也是通过这种方式产生,不过biases没有非负数的限制。最后的biases通过一个两层的hypernetwork和relu产生。

state传入了hypernetwork而不是直接传入到混合网络中,因为允许 Q t o t Q_{tot} Qtot以非单调方式依赖额外的状态信息。使用hypernetworks可以以任意方式调节单调网络的权重,从而尽可能灵活地将完整状态 s 集成到联合动作值估计中。

QMIX的损失函数:
[基础论文阅读]QMIX: Monotonic Value Function Factorization for Deep Multi-agent Reinforcement Learning_第4张图片

representational complexity

可以用 QMIX 表示的价值函数类包括任何价值函数,这些价值函数可以分解为在完全可观察的环境中智能体的个体价值函数的非线性单调组合。 这扩展了由 VDN 表示的线性单调值函数。 然而,(5) 中的约束阻止 QMIX 表示不以这种方式分解的值函数。 直观地说,任何一个智能体的最佳动作取决于其他智能体在同一时间步的动作的任何价值函数都不会适当地分解,因此不能用 QMIX 完美地表示。 但是,QMIX 可以比 VDN 更准确地逼近此类值函数。

你可能感兴趣的:(论文阅读)