最近准备把之前看过的MARL相关文章重新捡起来,一方面是综述,一方面是具体方法。因为我本人课题中的一部分使用了QMIX做应用,为之后思考可以改进的idea做准备。所以借这篇文章的机会重新回顾一下值分解的相关方法,本文先总结VDN/QMIX/QTRAN/Qatten这四篇文章,主要对每一篇文章中的理论及方法进行总结,尽量讲清楚这些方法的motivation,针对的具体问题,理论及从理论推导出的算法,一些算法结果记录和方法的局限性,文中使用英文的时候是为了保证意思尽可能准确。每一节对应一篇文章,标题用方法简称、文章名称和发表在arxiv上的时间表示。下一篇对之前看过的几篇MARL综述进行总结,输出倒逼输入吧。

问题大背景

本节内容是从这些文章中的introduction和preliminaries中找到的所要解决问题的大背景,和一些重要的前序工作。VDN/QMIX/QTRAN/Qatten对应的大背景就是cooperative multi-agent reinforcement learning (MARL) problem。这些Intro中均介绍了两类解决方案。一类最直接的解决办法就是centralized的方法,相当于把多智能体问题当作单智能体问题来解决,这种情况下,单智能体RL算法的输入是所有智能体拼接到一起的observations,输出的是联合最优策略(Joint Optimal Policies)。Centralization带来的问题是可扩展性(Scalability)差的问题,智能体的joint action space会随着智能体数量的增加而指数级增加,其中一种比较经典的方法是利用了反事实基线(Conterfactual Baseline)的COMA,其他的包括需要在执行阶段进行更多通信的CommNet和BicNet。而Cooperative MARL问题中的其他情况有可能是部分可观测的或要系统本身就存在通信限制,在这些限制条件下,如何学得decentralized policies是必要的。所以另一种方案是采用decentralization,但该类方法又会遇到环境非平稳性的问题(Non-stationarity Problem),因为每一个智能体都会在学习的过程中改变自己的策略,而在环境是部分可观测的情况下,智能体所得到的奖赏值信号很可能是有误导性的。例如,Independent Q-learning无法从随机的环境中分辨出其他智能体的探索行为。一个提升independent learning的方法是设计individual reward,让其与local observations的相关性更强。但是即便是在单智能体领域中,只有一小部分shaped reward能够保证最有策略。

通过综合centralization和decentralization这两类方法的优点,学者提出了一种名为centralized training with decentralized execution (CTDE) 的算法范式,CTDE的一个优点就是在训练的过程中可以获取智能体在学习decentralized policy中不能获取的全局状态信息,此外,使用CTDE也可以舍弃掉智能体之间的通信约束。VDN/QMIX/QTRAN/Qatten这类值分解的算法属于CTDE范式下,解决的是离散动作的任务,当然我认为通过控制动作空间离散化的细粒度,也可以用于解决连续动作问题(将连续动作空间进行离散化处理)。比较经典的直接解决连续动作空间任务的算法是MADDPG。VDN论文中提到的一些其他相关工作包括difference reward(这也是COMA算法引用的思路),其对单个智能体的动作对整个team reward的影响进行度量;QMIX中还提到了coordination graphs(Guestrin et al., 2002),该方法利用智能体之间的条件独立性(Conditional Independencies)将global reward分解成local reward之和。

VDN/QMIX/QTRAN/Qatten这一系列文章所需要的背景知识基本相同,第一,均使用了Dec-POMDP对cooperative MARL问题进行建模;第二,都介绍了Deep Q-learning的相关知识。Qatten中额外地回顾了一下注意力机制,这里就不再赘述了。总的来说,通过阅读这四篇文章的intro可以发现,其基本的大背景就是用CTDE的范式,以将global Q-value function QtotQ_{tot}Qtot分解成local Q-value function QiQ_iQi的方式解决cooperative MARL中的一类离散动作空间问题。当然,CTDE本身也存在训练使用global state这一假设比较强的问题;此外,值分解的方法也存在credit assignment的问题,即如何精确地用QiQ_iQi(本质上是utility function)描述每个智能体对团队的贡献进行分配,VDN/QMIX中的值分解属于对全局奖赏函数的隐式分配Implicit distribution。

I. (VDN) Value-Decomposition Networks For Cooperative Multi-Agent Learning,2017

1. Motivation

This additive value decomposition is specifically motivated by avoiding the spurious reward signals that emerge in purely independent learners.

VDN的动机就是为了避免independent learning会遇到的误导性的奖赏值问题,原因在于当前智能体无法观测到teammates的行为。所提出的additive value decomposition这一模式中每个智能体只需要根据local observations对该值进行估计,同时训练中对这些local Q-value相加一定程度上解决了智能体相互的协同问题。

2. 解决的具体问题

除了上文所述的大背景,VDN这种CTDE的范式解决了independent learning中的智能体相互协同的问题。之后作者向VDN中引入了weight sharing,和包括role information,information channels在内的额外信息,为了提升sample complexity和memory requirements。

3. 理论及方法

理论部分

VDN中的假设:joint Q-value能够被加性分解为local Q-value,为了本文的符号统一,用QtotQ_{tot}Qtot表示joint Q-value,QiQ_iQi表示local Q-value,公式如下:
Qtot((h1,h2,…,hd),(a1,a2,…,ad))=∑i=1NQi(hi,ai)Q_{tot}((h^1,h^2,\dots, h^d),(a^1,a^2,\dots,a^d))=\sum_{i=1}^N {Q_i}(h^i,a^i)Qtot((h1,h2,,hd),(a1,a2,,ad))=i=1NQi(hi,ai)
有了上述假设,每个智能体对自己的QiQ_iQi进行greedy action,等同于对Qtot=∑i=1NQiQ_{tot}=\sum_{i=1}^N Q_iQtot=i=1NQi进行greedy action,从而达到optimal policy。那么**如何更新网络参数呢?**这里VDN将QtotQ_{tot}Qtot用于经典的DQN损失函数,并使用了end-to-end的更新方式来更新Local policy。

这里为了解释上述假设,作者举了一种本身只有两个智能体,并且global reward本身就可以进行分解的情况(但是一般情况下global reward没那么容易被分解,所以VDN还是有局限性的),该情况下的global reward r(s,a)=r1(o1,a1)+r2(o2,a2)r(\bm s,\bm a)=r_1(o^1,a^1)+r_2(o^2,a^2)r(s,a)=r1(o1,a1)+r2(o2,a2),满足上述公式的一个情况是team games中每个智能体只能观测到自己的目标。这时候Qπ(s,a)=:Q1π(s,a)+Q2π(s,a)Q^{\pi}(\bm s,\bm a)=:Q_1^{\pi}(\bm s, \bm a)+Q_2^{\pi}(\bm s, \bm a)Qπ(s,a)=:Q1π(s,a)+Q2π(s,a),如果用LSTM网络的话,其Hidden layer中的信息可以对状态信息进行估计,即Qπ(s,a)=:Q1π(s,a)+Q2π(s,a)≈Q1π(h1,a1)+Q2π(h1,a1)Q^{\pi}(\bm s,\bm a)=:Q_1^{\pi}(\bm s, \bm a)+Q_2^{\pi}(\bm s, \bm a)\approx Q_1^{\pi}(h^1, a^1)+Q_2^{\pi}(h^1,a^1)Qπ(s,a)=:Q1π(s,a)+Q2π(s,a)Q1π(h1,a1)+Q2π(h1,a1),具体公式推导见下图:


随着智能体数量的增加,就算是Independent learning,其网络数量也会剧增。因此一种方式是只采用一个网络(Weight sharing),也就引出了智能体不变性agent invariance的概念,见下图,该概念用于避免Lazy agent的问题。lazy agent问题文中没有完整的描述。但个人理解lazy agent其实就是credit assignment问题,在多智能体环境中,有些智能体会对整个集体的贡献高于其他智能体,那么这时候其他智能体就没有动力再为这个系统做出贡献,不会再探索环境,因为过多的探索很可能会导致目前已经不错的策略失效(类比20%的人养着80%的人)。


在需要有特殊的智能体来优化系统的时候,并不希望出现agent invariance,这时候每个智能体有自己的role information,其实就是one-hot编码后的identifier,和各自的local observations一起输入给网络。当智能体共享网络参数的时候,其实是满足条件智能体不变性的(Conditional agent invariance),只有在基于相同的role条件下其策略才相同。

VDN的算法框架

首先是给出相比于Independent Q-learning,VDN中的centralization部分,各智能体在算法的前向传播中将QiQ_iQi求和为QtotQ_{tot}Qtot

每个智能体使用的网络架构及相关tricks:1)使用了LSTM网络层解决部分可观测问题;2)使用了advantage function A(s,a)A(s,a)A(s,a)对Q-function进行计算。3)有些智能体采用了information channels(low-level和high-level),具体实现就是选择将不同层的输出向量拼接到一起。 4)采用了eligibility traces。

4. 实验所用环境概述及结果截图

实验所采用的环境是2D 2-Player游戏环境 Switch, Fetch and Checkers

9种算法(其中有两个是完全centralized和完全decentralized方法)如下表,在7个任务上进行了测试(3个与fetch相关,3个与switch相关,1个是checkers):



结论就是VDN要好于centralized和independent learning。

5. 局限性(包括方法本身和论文中的论证)

VDN的局限性在于:1)(方法本身)其理论的加性假设过强,只适用于一小部分任务;2)VDN算法只在智能体数量较少(只有两个智能体)的情况下进行了验证,3)VDN在训练中没有明确使用global states(这个是否能算作是局限性还有待考量,因为CTDE的假设里,训练阶段能够获取所有全局状态的这一条件本来就很强,不适于非仿真环境下的训练。)

II. (QMIX) QMIX: Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning,2018

1. Motivation

Key to our method is the insight that the full factorisation of VDN is not necessary to extract decentralised policies that are fully consistent with their centralized counterpart.

QMIX的动机主要是针对VDN的局限性提出的。先大致翻译一下引用中的话,在VDN中,对QtotQ_{tot}Qtot简单的加性分解并不是提取出与中心化策略相一致的Local策略这一事实的必要条件。换句话说,VDN中的加性分解这一假设过强,而QMIX的目的就是放松这一假设条件,具体来说,对QtotQ_{tot}Qtot进行的argmax操作要等同于对任意一个QiQ_iQi做argmax操作。之后QMIX给出了一个monotonicity constraint:
∂Qtot∂Qi≥0,∀i\frac{\partial Q_{tot}}{\partial Q_i} \geq 0,\quad \forall iQiQtot0,i

2. 解决的具体问题

在问题大背景的基础上,QMIX通过引入了monotonicity constraint来解决VDN中加性分解这一假设条件过强的问题,使QMIX可以用每个智能体的QiQ_iQi非线性表征QtotQ_{tot}Qtot,因此提升了Q-value function的表征能力,使对QtotQ_{tot}Qtot的优化在Off-policy learning的前提下是可解的。

3. 理论及方法

值分解的这一系列算法首先都需要满足Individual-Global-Max(IGM)这一原理,然后才是加上不同的约束条件进行值分解。所以先将QTRAN中正式提及的IGM放在这里:

QMIX中的理论假设:在IGM的原理下给出了单调性约束monotonicity constraint,见上文。

QMIX构建了三个模块(agent networks, mixing network, 一组hypernetworks)来满足单调性约束条件,其中的mixing network模块尤为重要。算法的结构图见下图:


Agent networks的构造比较简单,输入是智能体的local trajectories (包括局部观测和动作),经过由MLP,GRU,MLP组成的网络之后输出QiQ_iQi,在ε−greedy\varepsilon-greedyεgreedy的策略下选择动作。Mixing network的输入是各个local Q value,其网络的参数是由Hypernetwork得到。其中这个hypernetwork的输入是全局的状态信息,经过神经网络(普通的线性层)后,并进行绝对值操作后得到非负的W1,W2W_1,W_2W1,W2和相应的biases项,最后输出得到QtotQ_{tot}Qtot

QMIX的损失函数是:
L(θ)=∑i=1b[(yitot−Qtot(τ,u,s;θ))2]\mathcal{L}(\theta)=\sum_{i=1}^b\big[(y^{tot}_i-Q_{tot}(\bm{\tau},\bm u, s;\theta))^2\big]L(θ)=i=1b[(yitotQtot(τ,u,s;θ))2]
这里bbb是从Replay buffer中采样得到样本的batch size,ytot=r+γmax⁡u′Qtot(τ′,u′,s′;θ−)y^{tot}=r+\gamma \max_{\bm{u'}}Q_{tot}(\bm{\tau'},\bm u', s'; \theta^{-})ytot=r+γmaxuQtot(τ,u,s;θ)θ−\theta^-θ是target network。QMIX的损失函数与DQN类似,只不过这里的TD target是与QtotQ_{tot}Qtot相关的量。整个QMIX的参数更新过程是end-to-end的,这也是为什么目前MARL中基于shapley value的方法先更新criticr的参数,再更新actor的参数。

4. 实验所用环境概述及结果截图

首先在two-step matrix game对QMIX的表征能力进行了测试,主要是输出VDN和QMIX的QtotQ_{tot}Qtot对utility function的表征能力。

第二类环境是SMAC,使用的地图是3 Marines (3m), 5 Marines (5m), 8 Marines (8m), 2 Stalkers and 3 Zealots (2s_3z), 3 Stalkers and 5 Zealots (3s_5z), or 1 Colossus, 3 Stalkers and 5 Zealots (1c_3s_5z).

实验结果如下图,可以看出VDN是好于IQL的,同时验证了QMIX的效果。

论文中ablation的设置:第一个是hypernetwork中额外状态信息输入的作用,命名为QMIX-NS、第二个是Non-linear mixing, 即通过去掉mixing network中的隐藏层达到,命名为QMIX-Lin,第三个是对比使用全局state和Non-linear mixing的效果,通过向VDN中sum of the local Q-values加入state-dependent term得到,在三个地图(3m, 2s_3z, 3s_5z)上的对比结果如下图:

5. 局限性(包括方法本身和论文中的论证)

方法本身的局限性
单调性约束条件就是QMIX最主要受限的地方,该条件并不是IGM原理的充分必要条件,后文的QTRAN提出了理论上满足IGM原理的充要条件。文中在表征复杂度(Representational Complexity)一节中提到了相关问题。当QtotQ_{tot}Qtot在fully observable的前提下能够表示为QiQ_{i}Qi的单调非线性函数的时候,QMIX是可以表征这类函数的。否则,QMIX的表征能力是受限的。直观上来理解,只要在智能体最优动作是基于同一时间步长下其他智能体的动作这种情况时,QMIX无法完美地对QtotQ_{tot}Qtot进行准确的分解,但是相比VDN,其分解的结果较为准确。更多关于QMIX等其他方法对矩阵博弈utility拟合效果好坏的分析可以参考以下博客:
https://zhuanlan.zhihu.com/p/421909836

论文中的论证还有那些可以提升的?
论文中只用了较为简单的两步矩阵博弈matrix game,QMIX是否能够表征其他更为复杂的矩阵博弈utility;第二,用于测试QMIX的SMAC地图较少,但这一点已经在最近的fine-tuned QMIX上得到了验证,所以暂且不算做论证中的局限性。

III. (QTRAN) QTRAN: Learning to Factorize with Transformation for Cooperative Multi-Agent Reinforcement learning,2019

1. Motivation

QTRAN的动机就是消除VDN/QMIX中的structural constraint(其中VDN中式加性约束,QMIX中是单调性约束),以达到能够分解任何任务的目的。具体一点的motivation就是通过对原本的joint Q-value QtotQ_{tot}Qtot (这里使用 QtotQ_{tot}Qtot是为了保证上下文符号一致) 进行变换,得到Qtot′Q_{tot}'Qtot(这里其实就是VDN中的加性和QtotQ_{tot}Qtot),对Qtot′Q_{tot}'Qtot进行argmax等同于对原始的QtotQ_{tot}Qtot进行argmax,即这两个变量共享相同的optimal joint action。

2. 解决的具体问题

在cooperative MARL大背景下,解决VDN/QMIX中joint action-value function表达能力不足的问题,QTRAN能够完全舍去VDN/QMIX中的结构化约束,按照推导出的IGM充要条件近似得到的实际算法(QTRAN-base,QTRAN-alt)在Multi-domain Gaussian Squeeze,Modified Predator-Prey环境下能够好于QMIX和VDN。

3. 理论及方法

QTRAN提出的理论:提出了满足IGM的充要条件,首先先证明该条件是充分的,条件如下:

充分性:原文条件中的QjtQ_{jt}Qjt就是本文中的QtotQ_{tot}Qtot。该充分条件的证明也比较简单,只需要将最优Local action uˉi=arg max⁡uiQi(τi,ui)\bar{u}_i=\argmax_{u_i}Q_{i}(\tau_i,u_i)uˉi=argmaxuiQi(τi,ui)和最优joint action uˉ=[uˉi]i=1N\bm{\bar{u}}=[\bar{u}_i]_{i=1}^Nuˉ=[uˉi]i=1N带入公式即可:(只需要证明(4a)能够推出IGM即可)

即对每个QiQ_iQi进行greedy action selection就等价于对QtotQ_{tot}Qtot进行greedy selection。

必要性:其次在affine transformation的条件下上述条件也是IGM的必要条件,即存在一个affine transformation ϕ(Q)=A⋅Q+B\phi(\bm Q)=A\cdot \bm Q+Bϕ(Q)=AQ+B,其中Q=[Qi]i=1N\bm Q=[Q_{i}]_{i=1}^NQ=[Qi]i=1N(从附录中推断得到),A=[aii]∈R+N×NA=[a_{ii}]\in \mathbb{R}_+^{N \times N}A=[aii]R+N×N是一个对称对角矩阵,其中aii>0,∀ia_{ii}>0,\forall iaii>0,iB=[bi]∈RNB=[b_i]\in \mathbb{R}^NB=[bi]RN,那么对于每个local Q-value function来说有ϕ(Qi(τi,ui))=aiiQi(τi,ui)+bi\phi(Q_{i}(\tau_i,u_i))=a_{ii}Q_i(\tau_i,u_i)+b_iϕ(Qi(τi,ui))=aiiQi(τi,ui)+bi。如果QtotQ_{tot}Qtot能被[Qi][Q_{i}][Qi]分解(即满足IGM原理,文中的可分解factorizable就指的是满足IGM条件),则上述条件通过将QiQ_{i}Qi换成aiiQi+bia_{ii}Q_i+b_iaiiQi+bi成立。

要证明的命题是:如果IGM原理成立,那么是否存在一个affine transformation能够满足(4)中的条件?(证明存在性即可),证明过程见论文的附录:

首先,假设IGM成立,存在一个affine transformation(α>0,bi=0,∀i\alpha>0,b_i=0, \forall iα>0,bi=0,i),由于线性变换并不影响argmax操作,所以IGM原理就变成了以下:

arg max⁡Qtot(τ,u)=(arg⁡max⁡u1αQ1(τ1,u1)⋮arg⁡max⁡uNαQN(τN,uN))\begin{equation}\argmax {Q_{{tot}}}({\bm{\tau }},{\bm{u}}) = \left( \begin{array}{l} \arg {\max}_{{u_1}}\alpha {Q_1}({\tau _1},{u_1})\\ \quad \quad \quad \;\; \vdots \quad \quad \\ \arg {\max _{{u_N}}}\alpha{Q_N}({\tau _N},{u_N}) \end{array} \right) \end{equation}argmaxQtot(τ,u)=

argmaxu1αQ1(τ1,u1)argmaxuNαQN(τN,uN)

那么在最优joint action的情况下,上述条件(4a)是成立的,推导如下:
∑i=1NαQi(τi,uˉi)−Qtot(τ,uˉ)+Vjt(τ)=0\sum_{i=1}^N \alpha Q_{i}(\tau_i,\bar{u}_i)-Q_{tot}(\bm{\tau},\bar{\bm u})+V_{jt}(\bm{\tau})=0i=1NαQi(τi,uˉi)Qtot(τ,uˉ)+Vjt(τ)=0

这里Vjt(τ)=max⁡uQtot(τ,u)−∑i=1NαQi(τi,uˉi)V_{jt}(\bm{\tau})=\max_{\bm u}Q_{tot}(\bm{\tau},\bm u)-\sum_{i=1}^N\alpha Q_{i}(\tau_i,\bar{u}_i)Vjt(τ)=maxuQtot(τ,u)i=1NαQi(τi,uˉi)。再来看(4b),一定能找到一个足够小的α\alphaα使得该条件成立(这里用到了Qtot(τ,u)−Qtot(τ,uˉ)<0Q_{tot}(\bm{\tau},\bm u)-Q_{tot}(\bm{\tau},\bm{\bar u})<0Qtot(τ,u)Qtot(τ,uˉ)<0),
∑i=1NαQi(τi,ui)−Qtot(τ,u)+Vjt(τ)=∑i=1Nα(Qi(τi,ui)−Qi(τi,uˉi))−(Qtot(τ,u)−Qtot(τ,uˉ))≥0\sum_{i=1}^N \alpha Q_{i}(\tau_i,u_i)-Q_{tot}(\bm{\tau},\bm u)+V_{jt}(\bm{\tau})=\sum_{i=1}^N \alpha (Q_{i}(\tau_i,u_i)-Q_{i}(\tau_i,\bar{u}_i))-(Q_{tot}(\bm{\tau},\bm u)-Q_{tot}(\bm{\tau},\bm{\bar u}))\geq0i=1NαQi(τi,ui)Qtot(τ,u)+Vjt(τ)=i=1Nα(Qi(τi,ui)Qi(τi,uˉi))(Qtot(τ,u)Qtot(τ,uˉ))0

如果是完全可观测的情况下Vjt=0V_{jt}=0Vjt=0,上述条件也是成立的,充分必要性的证明思路与上述类似。但这时候在optimal joint action前提下,∑i=1NQi(τi,uˉi)=Qtot(τ,uˉ)\sum_{i=1}^N Q_{i}(\tau_i,\bar{u}_i)=Q_{tot}(\bm{\tau},\bar{\bm{u}})i=1NQi(τi,uˉi)=Qtot(τ,uˉ)。这里本人有些疑惑,因为在这里没有提及的一个暗含假设是各智能体的credit都是相同的,实际情况未必如此。

如何理解上述条件?(Interpretation)
可以将VjtV_{jt}Vjt当作是在最优joint action的前提下,VDN中的QtotQ_{tot}Qtot与ground-truth joint Q-value QtotQ_{tot}Qtot的差值,相当于通过VjtV_{jt}Vjt来补偿这两者的误差。目前论文中的结论是这种误差可能是源自部分可观测这一条件。所以我相信QTRAN作者一开始的动机还是想从VDN的表达式上入手解决IGM原理问题,从而定义了VjtV_{jt}Vjt

根据理论近似的到的算法
作者首先定义了一个Qtot′=∑i=1NQi(τi,ui)Q_{tot}'=\sum_{i=1}^N Q_{i}(\tau_i,u_i)Qtot=i=1NQi(τi,ui),其实就是上述条件中的求和项,也是VDN中的QtotQ_{tot}Qtot,称之为transformed joint-action value function。这里由于真实的Qtot,[Qi]Q_{tot},[Q_i]Qtot,[Qi]是满足IGM的,而根据上述定义,Qtot′,[Qi]Q_{tot}',[Q_i]Qtot,[Qi]本身也是符合IGM的,所以Qtot,Qtot′Q_{tot},Q_{tot}'Qtot,Qtot的optimal joint action是一样的,即arg max⁡uQtot(τ,u)=arg max⁡uQtot′(τ,u)\argmax_{\bm{u}}Q_{tot}(\bm{\tau},\bm u)=\argmax_{\bm{u}}Q_{tot}'(\bm{\tau},\bm u)argmaxuQtot(τ,u)=argmaxuQtot(τ,u)

QTRAN-base:整个架构使用了三个神经网络,并以中心化的方式进行训练。算法架构(QTRAN-base和QTRAN-alt)图如下:

首先,QTRAN由3个网络组成,fqf_qfq用于估计QiQ_iQifrf_rfr用于估计QtotQ_{tot}Qtot(低层网络共享参数,并对RNN的hidden features进行拼接),fvf_vfv用于估计VjtV_{jt}Vjt(网络输入与动作无关,同样也对RNN的hidden features进行拼接)。三个网络在训练阶段是集中式的,执行阶段每个智能体根据QiQ_iQi选择greedy action。图中的Qjt′Q_{jt}'Qjt(即Qtot′Q_{tot}'Qtot)就是QiQ_iQi的和。

中心化训练的两个目标:1)网络frf_rfr的输出要逼近真实joint Q-value;2)使用的Qtot′Q_{tot}'Qtot要能很好地“跟踪”QtotQ_{tot}Qtot,使得两者的optimal action要相等。此外,作者设计的损失函数包含三项:
L(τ,u,r,τ′;θ)=Ltd+λoptLopt+λnoptLnoptL(\bm{\tau},\bm u, r,\bm{\tau'};\bm{\theta})=L_{\rm{td}}+\lambda_{\rm{opt}}L_{\rm{opt}}+\lambda_{\rm{nopt}}L_{\rm{nopt}}L(τ,u,r,τ;θ)=Ltd+λoptLopt+λnoptLnopt
各项的表达式如下:

第一项的目的是让网络输出的QjtQ_{jt}Qjt接近所谓真实的joint action-value(其实就是标准的DQN式更新,跟QMIX中的更新方式相似),第二项也是保证上述条件(4)能够被满足,注意在训练过程中最优策略被选择的概率极低,所以样本效率也会下降,所以将其中的QjtQ_{jt}Qjt设置为固定的,以稳定训练过程;第三项能够保证选择的动作是最优的,逐步将满足(4b)的动作变成满足条件(4a)(最小化至0)。

QTRAN-alt
与QTRAN-base不同的是其采用了counterfactual network。作者发现条件(4b)太宽松loose,导致由Qtot′+VjtQ_{tot}'+V_{jt}Qtot+Vjt构建出的joint Q-value不准确,其中的一种可能性是非最优与最优动作下的Qtot′Q_{tot}'Qtot之间误差较小,但代入到QtotQ_{tot}Qtot时就会导致两者的误差很大,即Qtot′(τ,uˉ)−Qtot′(τ,u)<<Qtot(τ,uˉ)−Qtot(τ,u)Q_{tot}'(\bm{\tau},\bar{\bm u})-Q_{tot}'(\bm{\tau},\bm u)<<Q_{tot}(\bm{\tau},\bar{\bm u})-Q_{tot}(\bm{\tau},\bm u)Qtot(τ,uˉ)Qtot(τ,u)<<Qtot(τ,uˉ)Qtot(τ,u),因此导致训练不稳定。所以作者进一步对此条件(4b)进行限制,从而得到定理2,其条件强于(4b):

该条件能够扩大Qtot′(τ,uˉ)Q_{tot}'(\bm{\tau},\bar{\bm u})Qtot(τ,uˉ)Qtot′(τ,u)Q_{tot}'(\bm{\tau},\bm u)Qtot(τ,u)的差距,从而保证算法更稳定。

如何证明?
该条件的充分性很容易证明,因为其范围小于(4b),所以将其替换为(7)也是满足IGM的。该条件的必要性证明思路是:如果存在一个满足(4)的[Qi][Q_i][Qi],则一定存在一个智能体的individual Q-value Qi′Q_i'Qi满足(7),作者从N=2N=2N=2N≠2N\neq 2N=2两个情况对Qi′Q_i'Qi进行了构造,使(7)成立。

如何理解定理2?
先重新看一下为什么(7)时缩小范围之后的(4b)。将(4b)重写之后如下:
[Qtot′(τ,u1,u−1)−Qtot(τ,u1,u−1)+Vjt(τ)Qtot′(τ,u2,u−2)−Qtot(τ,u2,u−2)+Vjt(τ)⋮Qtot′(τ,uN,u−N)−Qtot(τ,uN,u−2)+Vjt(τ)]≥0\begin{equation} \left[ \begin{matrix} Q_{tot}'(\bm{\tau},u_1,\bm{u_{-1}})-Q_{tot}(\bm{\tau},u_1,\bm{u_{-1}})+V_{jt}(\bm{\tau})\\ Q_{tot}'(\bm{\tau},u_2,\bm{u_{-2}})-Q_{tot}(\bm{\tau},u_2,\bm{u_{-2}})+V_{jt}(\bm{\tau})\\ \quad \quad \quad \;\; \vdots \quad \quad \\ Q_{tot}'(\bm{\tau},u_N,\bm{u_{-N}})-Q_{tot}(\bm{\tau},u_N,\bm{u_{-2}})+V_{jt}(\bm{\tau})\\ \end{matrix} \right]\geq0 \end{equation}

Qtot(τ,u1,u1)Qtot(τ,u1,u1)+Vjt(τ)Qtot(τ,u2,u2)Qtot(τ,u2,u2)+Vjt(τ)Qtot(τ,uN,uN)Qtot(τ,uN,u2)+Vjt(τ)

0
再将(7)展开可以写成:
min⁡[Qtot′(τ,u1,u−1)−Qtot(τ,u1,u−1)+Vjt(τ)Qtot′(τ,u2,u−2)−Qtot(τ,u2,u−2)+Vjt(τ)⋮Qtot′(τ,uN,u−N)−Qtot(τ,uN,u−2)+Vjt(τ)]=0\begin{equation} \min\left[ \begin{matrix} Q_{tot}'(\bm{\tau},u_1,\bm{u_{-1}})-Q_{tot}(\bm{\tau},u_1,\bm{u_{-1}})+V_{jt}(\bm{\tau})\\ Q_{tot}'(\bm{\tau},u_2,\bm{u_{-2}})-Q_{tot}(\bm{\tau},u_2,\bm{u_{-2}})+V_{jt}(\bm{\tau})\\ \quad \quad \quad \;\; \vdots \quad \quad \\ Q_{tot}'(\bm{\tau},u_N,\bm{u_{-N}})-Q_{tot}(\bm{\tau},u_N,\bm{u_{-2}})+V_{jt}(\bm{\tau})\\ \end{matrix} \right]=0 \end{equation}min

Qtot(τ,u1,u1)Qtot(τ,u1,u1)+Vjt(τ)Qtot(τ,u2,u2)Qtot(τ,u2,u2)+Vjt(τ)Qtot(τ,uN,uN)Qtot(τ,uN,u2)+Vjt(τ)

=0

相当于(7)对(4b)中的QtotQ_{tot}Qtot进行了更精细化处理(Qtot′Q_{tot}'Qtot真正的理论表达式其实没有变化,因为其自变量是local observations+actions),从每个智能体的层面保证最优动作的获取(我这里将其称为unilaterally check the optimal action)。之后QTRAN-alt为每个智能体构造其counterfactual joint network而不再使用上文中的frf_rfr,之后利用Qtot′(τ,⋅,u−i)=Qi(τi,⋅)+∑j≠iQj(τj,uj)Q_{tot}'(\bm{\tau},\cdot,\bm{u_{-i}})=Q_i(\tau_i,\cdot)+\sum_{j\neq i} Q_j(\tau_j,u_j)Qtot(τ,,ui)=Qi(τi,)+j=iQj(τj,uj)计算Qtot′Q_{tot}'Qtot

QTRAN-alt的损失函数仍然是三项,只是最后一项LnoptL_{\rm{nopt}}Lnopt与之前的QTRAN-base不同:

4. 实验所用环境概述及结果截图

第一种环境是single-state matrix game,在full exploration的情况下展示结果,因为full exploration保证能够探索到所有game states。从图中以看出QtotQ_{tot}QtotQtot′Q_{tot}'Qtot的最优动作是一样的。

QTRAN-alt的影响:在两个智能体每个都包含21个动作的矩阵博弈中进行训练,其global maximum point位于(u1,u2)=(5,15)(u_1,u_2)=(5,15)(u1,u2)=(5,15),local maximum位于(u1,u2)=(15,5)(u_1,u_2)=(15,5)(u1,u2)=(15,5)。结果表明QTRAN-alt更能够分辨出什么是optimal action,什么是Non-optimal action。其采样效率更高。结果如下图:

第二种环境是Gaussian-squeeze(GS, MGS)和改进版predator-prey(MPP),前者将GS,一个简单的多智能体资源分配问题进行了扩展;后者修改了经典的Predator-prey,只有在多个predators同时抓住prey时才能够获得正奖赏值。

结果说明QTRAN可以处理非线性的任务等。在MPP任务中,QTRAN-base和QTRAN-alt的性能差异可能取决于智能体数量N,N越大,QTRAN-alt的表现越好。

5. 局限性

在后续的MARL文章中,QTRAN在SMAC任务上的实际表现并不好,可能是方法中依靠神经网络对VjtV_{jt}Vjt等网络进行近似会导致估值不准确,进而使得策略学习变得非常困难;对credit assignment假设是各智能体平均分配;

IV. (Qatten) Qatten: A General Framework for Cooperative Multiagent Reinforcement Learning,2020

1. Motivation

目前已有的方法,例如QMIX,大多对QtotQ_{tot}QtotQiQ_iQi的关系进行了假设,并缺乏理论基础。进行展开之后,为了近似估计参数,引入了attention机制,这一思路我认为是很有借鉴意义的。

2. 解决的具体问题

在cooperative MARL的大背景下,从理论上以泰勒展开的方式推导出了QtotQ_{tot}QtotQiQ_iQi的一般形式,并自然地使用mulit-head attention机制近似公式中的参数从而估计QtotQ_{tot}Qtot的值,使得算法的decentralized policies的最大化是可解的。在SMAC任务上验证了算法的有效性并进行了attention heat map对attention weights进行了分析。

3. 理论及方法

Qatten理论推导中所需数学知识是单变量和多变量函数的泰勒展开公式;其理论部分的内容包括:

  1. 对individual Q-value function进行展开;
  2. 研究global Q value function的分解方式;
  3. 将individual Q-value的展开式代入global Q-value中,得到最终的分解式;

理论中的暗含假设

  • 假设每一个智能体都会对团队造成一些影响(there is no ‘independent’ agent unrelated to the whole group.),因此individual Q-value QiQ_iQi的变化对global Q QtotQ_{tot}Qtot有影响(正面或负面)。用表达式描述就是∂Qtot∂Qi\frac{\partial Q_{tot}}{\partial Q_{i}}QiQtot不等于0(如果等于0,说明QtotQ_{tot}Qtot不随QiQ_iQi进行变化)。
  • 之后假设最大值点为a0\bm {a_0}a0,并对QtotQ_{tot}QtotQiQ^iQi在最大值点附近进行展开,在最大值点处,以下导数为0。
    ∂Qtot∂ai∣ai=a0i=(∂Qtot∂Qi∂Qi∂ai)∣ai=a0i=0\frac{\partial Q_{tot}}{\partial a^{i}}|_{a^i={a_0^i}}=(\frac{\partial Q_{tot}}{\partial Q_{i}}\frac{\partial Q_{i}}{\partial a^{i}})|_{a^i={a_0^i}}=0aiQtotai=a0i=(QiQtotaiQi)ai=a0i=0
  • 应用implicit function theorem, Qtot(s,a)=Qtot(s,Q1,Q2,…,Qn),Qi=Qi(s,ai)≈Qi(τi,ai)Q_{tot}(s,\bm a)=Q_{tot}(s,Q_1,Q_2,\dots, Q_n),\quad Q_i=Q_i(s,a^i)\approx Q_i(\tau^i,a^i)Qtot(s,a)=Qtot(s,Q1,Q2,,Qn),Qi=Qi(s,ai)Qi(τi,ai)

首先得到local Q-value Qi(ai)Q_i(a^i)Qi(ai)的展开式(这里应该是省略了参数τi\tau^iτi):
Qi(ai)=αi+βi(ai−a0i)2+o((ai−a0i)2)Q_i(a^i)=\alpha_i+\beta_i(a^i-a^i_0)^2+o((a^i-a^i_0)^2)Qi(ai)=αi+βi(aia0i)2+o((aia0i)2)
其中αi,βi\alpha_i,\beta_iαi,βi均为常数。进而代入QtotQ_{tot}Qtot的展开式中可以推导出以下定理:

最后的表达式中,将QtotQ_{tot}QtotQiQ_iQi的关系表示成了线性。而其参数λi,h\lambda_{i,h}λi,h是所有h阶偏导数的函数(例如λi,2\lambda_{i,2}λi,2对应二阶交叉项QiQjQ_iQ_jQiQj)。

证明过程


之后将上述结论进行一般化,得到:

实际的算法
在实际的算法设计中,QiQ_iQi的结构与QMIX中的结构类似,均包含MLP和GRU层。而mixing network中利用了attention去估计参数λi,h(s)\lambda_{i,h}(s)λi,h(s),其输入中也包含了global state和local action,用attention对公式中的参数进行近似的理论基础是Universal Approximation Theorem(attention机制是Transformer为什么有效的主要原因)。

从上述公式出发,看一下作者是如何设计mixing network的。
Qtot≈c(s)+∑h=1H∑i=1Nλi,h(s)QiQ_{tot}\approx c(s)+\sum_{h=1}^H \sum_{i=1}^N\lambda_{i,h}(s)Q_iQtotc(s)+h=1Hi=1Nλi,h(s)Qi
该公式的内层求和(∑i=1Nλi,h(s)Qi\sum_{i=1}^N\lambda_{i,h}(s)Q_ii=1Nλi,h(s)Qi)使用differentiable key-value memory model对参数进行估计(该模型有着强大的函数估计能力),具体过程是:首先对global state sss和local action uiu^iui进行embedding(一到两层的embedding transformation),得到向量es(s),ei(ui)e_{s}(s),e_i(u^i)es(s),ei(ui),再求两者之间的similarity value,即用Wq,hW_{q,h}Wq,hese_{s}es变换成global query,用Wk,hW_{k,h}Wk,heie_{i}ei变换成给你individual key,最后经过softmax层之后得到参数λi,h\lambda_{i,h}λi,h
λi,h∝exp⁡(eiTWk,hTWq,hes)\lambda_{i,h} \propto \exp(e_i^TW_{k,h}^TW_{q,h}e_s)λi,hexp(eiTWk,hTWq,hes)

而对于外层求和,作者使用了multi-head机制实现对不同阶数hhh的偏导数的近似,并把不同的head Q-values进行相加:
Qtot≈c(s)+∑h=1HQh,where Qh=∑i=1Nλi,hQiQ_{tot}\approx c(s)+\sum_{h=1}^H Q^h, \text{where\ } Q^h=\sum_{i=1}^N\lambda_{i,h}Q_iQtotc(s)+h=1HQh,whereQh=i=1Nλi,hQi
这里的HHH是attention heads的数量。而上式中的c(s)c(s)c(s)通过输入为global state的神经网络学到。

整个算法流程图如下:

由于使用到了softmax机制,所以λi,h≥0\lambda_{i,h}\geq0λi,h0,所以Qatten也满足QMIX中的monotonicity constraint,即∂Qtot∂Qi≥0,∀i∈{1,2,…,N}\frac{\partial Q_{tot}}{\partial Q_i} \geq 0, \forall i\in\{1,2,\dots,N\}QiQtot0,i{1,2,,N}

作者还提出了一个改进版,weighted head Q-value,改进的目的是为了避免self-attention带来的boundary limitation并提高Qatten的representation ability。将上述公式改为:
Qtot≈c(s)+∑h=1Hwh∑i=1Nλi,h(s)QiQ_{tot}\approx c(s)+\sum_{h=1}^H w_{h} \sum_{i=1}^N\lambda_{i,h}(s)Q_iQtotc(s)+h=1Hwhi=1Nλi,h(s)Qi
即为来自每个不同head的Q-value分配一个权重系数whw_hwh。为了保证monotonicity constraint,这里作者使用了两层的神经网络fNNf^{NN}fNN与绝对值激活函数得到该权重系数,即wh=∣fNN(s)∣hw_h=|f^{NN}(s)|_hwh=fNN(s)h,与直接把各个head Q-values相加相比,加权相加放松了QtotQ_{tot}Qtot的upper and lower bound,此外,上述加权和也是满足之前的分解定理的:
Qtot≈c(s)+∑h=1Hwh∑i=1Nλi,h(s)Qi=c(s)+∑h,iwhλi,hQi=c(s)+∑i,hλ^i,hQiQ_{tot}\approx c(s)+\sum_{h=1}^H w_{h} \sum_{i=1}^N\lambda_{i,h}(s)Q_i=c(s)+\sum_{h,i}w_h\lambda_{i,h}Q_i=c(s)+\sum_{i,h}\hat{\lambda}_{i,h}Q_iQtotc(s)+h=1Hwhi=1Nλi,h(s)Qi=c(s)+h,iwhλi,hQi=c(s)+i,hλ^i,hQi
这里新的参数λ^i,h=whλi,h\hat{\lambda}_{i,h}=w_h\lambda_{i,h}λ^i,h=whλi,h。其实这里的改进我认为是对各智能体credit是相等的假设进行了放松。

4. 实验所用环境概述及结果截图

实验环境是SMAC,使用了easy, hard, super hard的地图。实验环境如下图所示:

实验结果如下:

Ablation study:比较Qatten-weighted和Qatten-base,使用的是三个困难的地图。


Attention Analysis:对attention weights λi,h\lambda_{i,h}λi,h进行可视化。得到的是每个head的attention weight heat map。heat map中的每张图对应每个head,每张heat map中的横轴表示每个智能体,纵轴从上到下表示timestep。从图a中可以看出,allies的attention weights是相似的;图中Unit 0获得的权重系数最高,因为其最终存活了。在图c中,这些weigts差距更大,Qatten相比VDN, QMIX来说可以估计出该场景下QtotQ_{tot}QtotQiQ_iQi的一些关系,例如,在任务开始时某个智能体获得了相比于其他智能体更多的attention。

5. 局限性(包括方法本身和论文中的论证)

由于作者在实际使用attention的过程中使参数非负,所以个人认为还是会遇到与QMIX中monotonicity constraint相同的问题。

其他值分解相关的博客

https://zhuanlan.zhihu.com/p/421909836
https://zhuanlan.zhihu.com/p/365470387
https://zhuanlan.zhihu.com/p/134209510

多智能体深度强化学习值分解方法总结(1)——VDN/QMIX/QTRAN/Qatten相关推荐

  1. 多智能体深度强化学习综述与批判——Matthew E. Taylor

    这篇综述是华盛顿大学的Matthew E. Taylor总结的,"A Survey and Critique of Multiagent Deep Reinforcement Learnin ...

  2. 基于通用学习环境和多智能体深度强化学习的列车运行图

    ‍ 1. 文章信息 <Train timetabling with the general learning environment and multi-agent deep reinforce ...

  3. 基于多智能体深度强化学习的空地协同通信系统轨迹设计与访问控制

    Trajectory Design and Access Control for Air-Ground Coordinated Communications System with Multi-Age ...

  4. 多智能体深度强化学习 # MADDPG

    前置基础: DDPG 多智能体深度强化学习 # 多智能体深度强化学习基础 Multi-Agent:多智能体 Deep:与DQN类似,使用目标网络+经验回放 Deterministic:直接输出确定性的 ...

  5. 论坛报名 | 从捉迷藏、星际争霸到新一代人工智能:多智能体深度强化学习的理论与实践...

    与6位图灵奖得主和100多位专家 共同探讨人工智能的下一个十年 长按图片或点击阅读原文,内行盛会,首次免费注册 2020年6月21-24日,第二届北京智源大会(官网:https://2020.baai ...

  6. 用于衍生品定价和动态对冲的多智能体深度强化学习和基于 GAN 的市场模拟

    计算能力的进步使机器学习算法能够直接从大量数据中学习.深度强化学习是一种特别强大的方法,它使用代理通过与数据环境交互来学习.尽管许多交易员和投资经理依赖传统的统计和随机方法来为资产定价并制定交易和对冲 ...

  7. 多智能体深度强化学习(MADRL)在大规模交通信号灯控制中的应用

    <Multi-Agent Deep Reinforcement Learning for Large-Scale Traffic Signal Control> IEEE Transact ...

  8. 基于图神经网络的多智能体深度强化学习

    参考文献 [1] Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[J]. a ...

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

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

  10. 《强化学习周刊》第33期:UdeM | 基于不确定性估计的样本高效深度强化学习

    No.33 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...

最新文章

  1. Yii2.0 RESTful API 之版本控制
  2. Meteor:网络应用开发的瑞士军刀
  3. 闪电网络真的是比特币最好的扩容解决方案吗?
  4. ASP.NET + SqlSever 大数据解决方案 PK HADOOP
  5. python【蓝桥杯vip练习题库】BASIC-16分解质因数(数论 质数分解)
  6. 手持GPS坐标系统的转换与应用
  7. noip2010关押罪犯
  8. 用ESP32玩转真彩屏
  9. qt中拖动窗口widget
  10. Java案例:自动点名程序
  11. OpenGL基础3:渲染管线
  12. 十足的跳槽理由有哪些?
  13. Elasticsearch 安装详细步骤(保姆级安装)
  14. Build Metal-based Core Image kernels with Xcode
  15. MATLAB仿真噪声信号、单多音信号、LFM、2ASK、2FSK、BPSK、16QAM
  16. CTO也糊涂的常用术语:功能模块、业务架构、用户需求、文档
  17. 关于移动端页面滑动报错 [InterUnableUnable to preventDefault inside passive或 fastclick.js:446 [InterUn :
  18. Cognos入门教程
  19. Apache shiro反序列化(CVE-2016-4437)复现
  20. 文件10:文件路径-信息查询方法

热门文章

  1. Tomcat 服务详解
  2. Android -- WiFi的NUD检测机制浅析
  3. easydarwin ffmpeg
  4. Python基础教程,Python入门教程(超详细)
  5. matlab difittool,matlab工具箱下载安装和使用方法的汇总|Toolbox 大全
  6. win8/10 bcdboot引导修复命令的原理和使用方法
  7. 国内常用的5个中文期刊论文网站,5个外文文献网站
  8. B站视频下载与字幕下载转换
  9. Revit二次开发——预制构件自动配筋演示
  10. kindle刷机ttl_[原创]只需USB线对Kindle 3修砖的小白教程