Skip to content

QTRAN 多智能体值分解

论文链接:QTRAN: Learning to Factorize with Transformation for Cooperative Multi-Agent Reinforcement Learning, ICML 2019

代码:https://github.com/Sonkyunghwan/QTRAN

VDN 和 QMIX 都是值分解领域的两大标杆性文章,VDN 将联合动作价值函数分解为单个动作价值函数的和。QMIX 扩展了这种可加性的值函数,进行因子分解,将联合作用价值函数表示为单调函数,而不是仅仅为加和,从而实现了环境的更进一步扩展。

值分解其实就是在保证联合动作取 argmax 的时候能够是对各个智能体的值函数取 argmax。VDN 中采用的是线性求和的方式,QMIX 中采用的是保证单调性。对于一些任务,比如像联合动作的最优就是各个智能体的单独的最优的值函数,这样的问题可以采用这种方式,对于不是这类型的问题的话,这种限制就太强了。

QTRAN 提出了一种新的值分解的算法,将原来的联合行动价值函数转换为一种易于分解的函数,它们具有相同的最优行动,这种方法有更一般的降解,适合更多的场合,号称可以降解一切可以降解任务。

1. QTRAN 直观理解

在 VDN 和 QMIX 中是将 Qjt通过累加求和和保证单调性的方式来分解的,作者这里提出一种更加鲁棒的分解方式,将原始的 Qjt 映射成 Qjt,通过Qjt去分解值函数到各个子智能体上,来保证学到的Qjt与真实的动作值函数 Q 非常接近。这样在学习真实的动作值函数的时候,没有像 VDN 和 QMIX 那样对其加上一些累加求和和保证单调性的限制,所以它能学地更好。

但是由于部分可观测的限制,Qjt 无法直接用于决策,因此需要建立 QjtQjt[Qi] 三者之间的关系。

2. 背景

2.1 Decentralized POMDP

Decentralized POMDP 是用来给合作式多智能体任务建模的标准方法,简称 DEC-POMDP,表示为G=<S,U,P,r,Z,O,N,γ>

  • iN:={1,,N}:N 个 agents.
  • sS:环境的真实状态
  • uiU:每个 agent 的动作
  • u:=[ui]i=1NUN:联合动作向量
  • P(ss,u):S×UN×S[0,1]:状态转移方程
  • r(s,u):S×UNR:共享的联合奖励函数
  • γ[0,1):折扣因子
  • z=O(s,i):S×NZ:每个 agent 自己的部分观察
  • τiT:=(Z×U):每个 agent 的动作-观察历史

2.2 IGM Condition and Factorizable Task

下面给出 IGM 与可分解任务的定义。IGM 全称 Individual-Global-Max,可以理解为独立值函数最大化与联合值函数最大化的一致性,具体定义为;

给定一个联合动作值函数Qjt:TN×UNR,其中τTN是联合动作-观察历史,如果存在一系列的独立动作值函数[Qi:T×UR]i=1N使得如下条件成立:

argmaxuQjt(τ,u)=(argmaxu1Q1(τ1,u1)argmaxuNQN(τn,uN))

则认为[Qi]对于Qjt满足 IGM,即Qjt(τ,u)可以被[Qi(τi,ui)]分解。

如果某任务的Qjt(τ,u)对于所有的τTN都可分解,那么就认为该任务本身是可分解的。

VDN 和 QMIX 的分解方式其实本质上是满足 IGM 的充分非必要条件:

 (Additivity) Qjt(τ,u)=i=1NQi(τi,ui) (Monotonicity) Qjt(τ,u)Qi(τi,ui)0,iN

它们与本文 QTRAN 方法的关系可以用下图表示:

(图:VDN、QMIX 与 QTRAN 可表示函数集合的关系示意)

2.3 QTRAN

QTRAN 核心思想是将原有的联合行动价值函数Qjt(τ,u)转换为与Qjt(τ,u)共享最优联合行动的Qjt(τ,u)

2.3.1 可分解值函数

可分解值函数的特点由如下定理给出:

Theorem 1:令u_i=argmaxuiQi(τi,ui)为最优的局部动作,u=[u¯_i]_i=1N,当满足以下条件时,一个可分解的联合动作值函数Qjt(τ,u)可分解为[Qi(τi,ui)]

i=1NQi(τi,ui)Qjt(τ,u)+Vjt(τ)={0u=u¯,0uu¯

其中

Vjt(τ)=maxuQjt(τ,u)i=1NQi(τi,u¯i)

证明如下:

Qjt(τ,u¯)=i=1NQi(τi,u¯i)+Vjt(τ)( From(4a))i=1NQi(τi,ui)+Vjt(τ)Qjt(τ,u)( From(4b))

注意,对于映射变化ϕ(Q)=AQ+B来说,如果A=[aii]R_+N×N是对称的对角矩阵且aii>0,iB=[bi]RN,那么上述定理依旧成立。可以把AB看作是缩放与偏差。

因此可以找到一个转换联合动作值函数Qjt(τ,u)满足上述定理:

Qjt(τ,u):=i=1NQi(τi,ui)

这是因为这种加和形式下,[Qi]对于Qjt满足 IGM,又因为argmaxuQjt(τ,u)=argmaxuQjt(τ,u),所以[Qi]就是Qjt的分解。

2.3.2 方法框架

QTRAN 的框架如下图所示:

(图:QTRAN 网络结构示意)

其中包含三个网络:

独立动作值函数网络:fq:(τi,ui)Qi联合动作值函数网络:fr:(τ,u)Qjt状态值函数网络:fv:τVjt

其中,联合动作值函数网络使用所有独立动作值函数网络采样得到的动作进行更新,并连接各个所有独立动作值函数网络底层输出的隐性特征hi(τi,ui)=[hQ,i(τi,ui),hV,i(τi)]

2.3.3 损失函数

QTRAN 中的 loss 函数由三部分组成:

L(τ,u,r,τ;θ)=Ltd+λoptLopt+λnoptLnopt

其中:Ltd用于评估真实的动作值,LoptLnopt用于评估分解Qjt[Qi]时是否满足 Theorem 1。由于 Theorem 1 的条件需要在训练中采样大量样本才能满足,这里做了简化,即在训练LoptLnopt时固定Qjt,并使用Q^_jt来表示这个固定的Qjt。具体每个损失函数的定义如下:

Ltd(;θ)=(Qjt(τ,u)ydqn(r,τ;θ))2Lopt(;θ)=(Qjt(τ,u)Q^jt(τ,u)+Vjt(τ))2Lnopt(;θ)=(min[Qjt(τ,u)Q^jt(τ,u)+Vjt(τ),0])2

其中ydqn(r,τ;θ)=r+γQjt(τ,u;θ)u¯=[argmaxu1Qi(τi,ui;θ)]i1Nθ为 DQN 目标网络的参数。

2.3.4 修改对联合行动价值函数的追踪

上述版本的 QTRAN 称为 QTRAN-base,反映其如何追踪联合行动价值函数的基本性质。然而,Theorem 1 的第二个条件太宽,导致神经网络无法完成构建Qjt正确的分解,即对非最优行为施加不良影响,这进而影响了训练过程的稳定性和收敛速度。这促使去研究比 Theorem 1 的第二个条件更强的条件,同时满足 Theorem 1 的仿射变换的不变性:

Theorem 2:Theorem 1 的第二个条件替换为如下条件时,Theorem 1 依旧成立。当u=u¯时,

minuiU[Qjt(τ,ui,ui)Qjt(τ,ui,ui)+Vjt(τ)]=0,i=1,,N

其中u_i=(u1,,ui1,ui+1,,uN),即除了 agenti以外的所有动作。

为了实现 Theorem 2,使用反事实联合网络来替代联合动作值函数网络,即对于每个 agent 都设置一个反事实网络Qjt(τ,,u_i)。同时将Lnopt替换为Lnopt-min

Lnoptmin(τ,u,r,τ;θ)=1Ni=1N(minuiUD(τ,ui,ui))2

其中D(τ,ui,ui)=Qjt(τ,ui,ui)Q^_jt(τ,ui,ui)+Vjt(τ)

3. 实验内容

在下图的单状态马尔科夫博弈中,QTRAN 是唯一获得最优解的:

(图:单状态矩阵博弈实验结果示意)

QTRAN-alt 比 QTRAN-base 更好地区分最优动作与非最优动作:

(图:QTRAN-base 与 QTRAN-alt 动作区分能力示意)

将 Multi-domain Gaussian Squeeze、Modified predator-prey 等环境设置为强迫合作式的环境,表现超越了 VDN 与 QMIX:

(图:多个合作环境实验结果示意)

4. 缺点

  • 分解的 Q 值依旧没有实际含义

  • 在复杂的 MARL 任务上的实际表现很差,因为由于 QTRAN 使用的约束太过松散,实现时的过多近似会导致在很多任务上效果不如 Q-mix 理想

5. 优点

  • 进一步扩大了 Q 值分解理论的适用范围
  • 采用类似 dueling network 的结构可以提升学习效果, 加速收敛

Maintained by Robin