多智能体强化学习 (MARL) 算法框架综述 (一)

多智能体强化学习问题不仅有环境交互问题,还有智能体之间的动态影响,因此为了得到最优策略,每个智能体都需要考察其他智能体的动作及状态得到联合动作值函数。以何种形式怎么获取其他智能体的信息成为了研究焦点。
本文主要关注协作学习

文章目录


前言

简写全称翻译
Dec-POMDPDecentralized-Partially Observable Markoc Decision Process非中心部分可观马尔可夫决策过程
C \mathbb C CDec-POMDPcollective Dec-POMDP形式化了不确定性下的集体多智能体顺序决策问题
CTDECentralized Training Decentralized Execution中心化训练去中心化执行
CTCECentralized Training Centralized Execution中心化训练中心化执行
  1. 多智能体强化学习核心问题
    1)如何学习联合动作值函数。特别是当动作值函数的输入空间过大,则很难拟合出一个合适函数来表示真实的联合动作值函数,因为联合动作值函数的参数会随着智能体数量的增多而成指数增长。
    2)如何通过联合值函数提取出一个优秀的分布式的策略
  2. MARL的分类:
    MARL简单的可以分为四类:
    1)Analysis of emergent behaviors(行为分析)(又可称为独立学习,IL。仅将其他主体对系统的影响视为环境的一部分。学习主体不仅面临着一个非平稳的环境,而且还遭受着虚假的奖励。该方法的一般做法是:将单智能体强化学习算法直接应用到多智能体环境之中,每个智能体之间相互独立,遵循 Independent Q-Learning(暴力的使每个智能体执行各自的Q-learning算法,但由于多智能体的环境其实在变,所以大部分情况下是无法收敛的)。e.g., IQL+DQNDQN/TRPO/DDPG+IQL)。
    2)Learning communication(通信学习)(智能体之间存在显式的通信交互,在训练过程中学习如何根据自身的局部观察来生成信息,或者来确定是否需要通信、与哪些智能体通信等。训练完成后,要显式的依据其余智能体传递的信息进行决策。e.g., RIAL and DIALCommNetBiCNet基于注意力机制的通信模型 ATOCSchedNet )。
    3)Learning cooperation(协作学习)(隐式的学习智能体间通信,将多智能体领域一些思想引入MARL中。e.g., VDN QMIXQTRANMADDPGCOMAMASQLMAACconcurrent experience replay trajectories 的概念importance sampling 的角度)。
    4)Agents modeling agents(智能体建模)(聚焦于通过对其他智能体的策略、目标、类别等等建模来进行更好的协作或者更快地打败竞争对手。e.g., episode 索引号+exploration rate, 预测智能体未来行为)。

本文主要关注协作学习

[Multi-Agent Determinantal Q-Learning] 给出了另一种分类方式:
在这里插入图片描述
3. 协作学习简单的可以分为三种方式:

  • 基于值函数的方法:通过 value decomposition 方式来解决可扩展性问题。(VDN,QMIX,QTRAN
  • 基于演员-评论家的方法:由于其结构的特殊性,可以通过中心化学习(共享/独立)评论家但是每个智能体独立的演员,来很好的处理算法可扩展性问题的同时,拥有很好的抗环境非平稳能力。(MADDPG,COMA,MASQL,MAAC
  • 基于 经验回放 (ER) 的方法:使用 ER 训练 Q-function 时增加稳定性(CommNet 甚至因为 ER 在 multi-agent 环境下的不稳定性而禁用了 ER),所涉及的两个工作前者遵循 CTDE 框架,并且类似 MADDPG 方法一样,均假设每个智能体拥有自己独立的 Q-function;后者则是完全独立的 IQL。这两个方法都是基于 Q-Learning 算法。(Stabilising experience replay, DRQN
  1. Dec-POMDP问题:所有智能体共享一个全局的回报函数,且智能体只拥有自己的局部观察,而带来的种种问题。比如:多智能体信用分配问题(所有智能体共享同一个全局回报,因而每个智能体不知道自己的行为到底对这个全局回报产生了多大的影响);relative overgeneralization问题(某智能体的执行某动作大于另一联合动作带来的期望收益,而导致智能体收敛到次优点)

一、基于值函数的方法:

CTDE框架居多。基于值函数的方法中一个基本的挑战是:“如何正确地分解代理之间的联合值函数以进行分散执行。”
对于协作任务是可去中心化的任务,要求每个代理的值函数上的局部最大值应该等于联合值函数上的全局最大值

1. Value-Decomposition Networks For Cooperative Multi-Agent Learning (VDN)

解决Dec-POMDP问题。
满足联合值函数与局部值函数单调性相同的可以进行分布化策略的条件,即使得’局部值函数最大对应的动作也使得联合动作值函数最大’。

核心思想:联合Q函数等于所有智能体的局部值函数求和。

基本思想:对每个智能体的Q函数相加,整合为一个联合的Q函数。其中局部Q函数只依赖于每个智能体的局部观测。联合的Q函数等于局部值函数的累加。For example,联合动作-值函数 Q t o t = ∑ i = 1 n Q i ( τ i , a i ; θ i ) Q_{tot}=\sum_{i=1}^{n}Q_i(\tau_i,a_i;\theta_i) Qtot=i=1nQi(τi,ai;θi),其中 τ = ( τ 1 , . . . , τ n ) \tau=(\tau_1,...,\tau_n) τ=(τ1,...,τn)为联合动作-观测历史, τ i = ( a i , 0 , o i , 0 . . . , a i , t , o i , t ) \tau_i=(a_{i,0},o_{i,0}...,a_{i,t},o_{i,t}) τi=(ai,0,oi,0...,ai,t,oi,t), i i i 为agent的索引, t t t 是step的索引。

  • 基本原理:中心化地训练一个联合的 Q network,但是这个联合的网络是由所有智能体局部的 Q networks 加和得到,这样不仅可以通过中心化训练处理由于环境非平稳带来的问题,而且由于实际是在学习每个智能体的局部模型,因而解耦智能体之间复杂的相互关系。最后,由于训练完毕后每个智能体拥有只基于自己局部观察的 Q network,可以实现去中心化执行,即 VDN 遵循 CTDE 框架,并且解决的是 Dec-POMDP 问题。
  • Q network 是使用 LSTM 构建。
  • 可以保证训练完毕后去中心化执行时,即使整个系统只基于局部观察进行决策,其策略也是与基于全局观察进行决策是一致的。
  • VDN 采用了 parameter sharing 方法,并因此提出了 Agent Invariance,来解决大规模环境下的可扩展性和部分懒惰的智能体的问题。
  • 引入了类似于智能体索引号这样的额外信息来表示智能体的不同角色。整个多智能体系统是 conditionally agent invariant
  • 为了减小 value decompostion 带来的误差,显式加入了通信模块,并分为高层通信以及低层通信(低层通信其实是互相共享局部观察)。

2. QMIX: Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning

是 VDN 算法的后续工作,它的出发点是 VDN 做联合 Q-value 分解时只是进行简单的加和(线性),没有办法捕捉到智能体之间更复杂的相互关系。QMIX的主要创新是采用一个混合网络对单智能体局部值函数进行合并,并在训练学习过程中加入全局状态信息辅助,来提高算法性能。

核心思想:用 Mixed network(一个神经网络)拟合所有智能体的局部值函数与联合值函数的非线性关系,来替代VDN中线性的加和。

  • 多智能体共用一个奖励(由联合动作和状态得到),只能用于合作不能用于竞争环境。针对分布式多智能体Dec-POMDP。
  • 包含 agent network(为了合并各智能体的Q值得到联合的Q值。DRQN网络,输入自己的局部观测和上一时刻自己的动作来拟合自身的Q值)、mixing network(非线性。表达能力超过VDN中的加和。其中每一个局部 Q-value 的权重必须非负,因此会加绝对值操作或者 ReLU 操作) 以及 hypernetworks(为了更多的利用整个系统的状态信息,将系统的状态作为输入,输出混合网络的权值及偏移量)的架构。
  • CTDE框架。训练的每个时刻的全局状态作为 mixing network 的额外输入来提高算法效果(相对VDN改进之一)。
  • 每个整体求得自己的局部Q值函数仅使用自己的局部观测(这一步是分布式的),选出累计期望奖励最大的动作执行。(算法使联合动作值函数与每个局部值函数的单调性相同,因此对局部值函数取最大动作也就是使联合动作值函数最大)。
  • 针对联合Q值函数用神经网络整合(而不是像VDN那样直接对Q函数求和,改进二)。
  • 更详细的

3. QTRAN: Learning to Factorize with Transformation for Cooperative Multi-Agent Reinforcement learning

VDN是对局部Q函数加和得到联合Q函数,指导多智能体行动,是线性的;
QMIX认为VDN这种线性的合并方式无法拟合复杂的函数关系,比如非线性的。因此他提出了更一般的单调性条件,i.e., 联合Q函数对局部Q函数的偏导≥0;
QTRAN的动机是他认为VDN和QMIX无法处理非单调收益的合作问题。作者声称其所提的QTRAN能分解任何可分解的任务。

在QMIX的基础上引入了一个改进的学习目标,以及特定的网络设计。
对 VDN 以及 QMIX 算法的进一步改进。将根据局部 Q 函数采用神经网络去逼近联合 Q 函数分为两步

  • 首先采用 VDN 的方式得到加和的局部 Q 函数,来作为联合 Q 函数的近似;
  • 接着拟合局部 Q 函数与联合 Q 函数的差值。
  • 定义一个 transformed joint-action value function (其实就是加和,用来逼近联合 Q 函数)。
  • QTRAN-base:独立 Q 网络;联合 Q 网络;联合 V 网络
  • QTRAN-alt:对QTRAN-base的进一步增强。

4. Multi-Agent Determinantal Q-Learning (Q-DPP,Deep Q-DPP)

文章认为现有的 value-based CTDE 方法,例如 VDN / QMIX / QTRAN 的性能会受到其定义的函数族的限制。具体地,限制了集中值函数的表征能力;并且阻碍了在应用于值函数分解时的有效探索。
为了解决这个问题,文章认为如果在算法执行的过程中,每个智能体执行的动作之间差异足够大,那么可以认为对于每个智能体而言其最优动作不受到其余智能体动作的影响。这样就意味着在每个智能体的值函数上分别求得的局部最优等价于在联合值函数上求得的全局最优。

  • 由于结构约束(如QMIX中的单调性假设),在多智能体设置中,增加随机探索只会降低获得最优值函数的概率。
  • CTDE框架,解决Dec-POMDP问题。
  • 引入了 Determinant Point Process (DPP) 这样一个一般性的概率模型,以使算法能够为每个智能体执行差异足够大的动作,且算法的性能不受到所选函数族的限制。这个概率模型衡量的是从一个 ground set 中采样出一个 subset 的概率。这个概率的大小会受到这个 subset 中各元素的质量以及元素之间的多样性的影响。
  • 采用 Q-DPP 作为中心化价值函数的函数逼近器。
  • MARL中Ground set Y = { ( o 1 1 , a 1 1 ) , … , ( o N ∣ O ∣ , a N ∣ A ∣ ) } \mathcal{Y}=\left\{\left(o_1^1, a_1^1\right), \ldots,\left(o_N^{|\mathcal{O}|}, a_N^{|\mathcal{A}|}\right)\right\} Y={(o11,a11),,(oNO,aNA)},将所有智能体所有可能的观测-动作对定义为Ground set. 因此,本文也是仅考虑了离散状态和空间
  • 然后将 Y \mathcal{Y} Y分为每个智能体各自的集合 Y i \mathcal{Y}_i Yi。随后定义DPP。该函数表明了在给定联合观测的情况下,所有智能体每一种联合动作被采样的概率,这样一来,我们就可以把上述 DPP 模型 “看作” MARL 中的联合策略。
  • 随后定义了该假设下的Q函数。用Q-learning最大化这个Q函数。
  • 文中提到,Q-DPP可以拓展到连续动作&状态。但并没有细说。
  • 更详细的

5. Mean Field Multi-Agent Reinforcement Learning(MFMARL)面向大规模智能体

随着智能体数量的增多,其状态空间跟动作空间迅速扩大,这给计算以及探索带来了非常大的困难。
借用平均场论(Mean Field Theory,MFT)的思想,将一个智能体与其邻居智能体之间的相互作用简化为两个智能体之间的相互作用(该智能体与其所有邻居的均值),以极大地简化智能体数量带来的模型空间的增大
成立的前提是:单个智能体的最优策略的学习是基于智能体群体的动态;同时,集体的动态也根据个体的策略进行更新。
由于每个智能体的策略还是需要全局的状态信息,并不算真正的分布式算法,并且算法的性能依赖于通信获取邻居智能体的动作i.e., a k a_k ak。 不可否认的是,这是一个解决大规模MA学习的方法,并且理论证明很严格。

  • Nash-Q算法:在每个状态s处的阶段博弈中找到一个纳什平衡点,使得每个智能体的策略是在其他智能体策略下的最优策略,这样就可以保证策略在特定情况下收敛
  • 用于集中式MARL中,联合动作 a a a的维度随智能体数量 n n n的增多极速扩大的情况。因为每个智能体是同时根据联合策略估计自身的值函数,因此当联合动作空间很大时,学习效率及学习效果非常差.
  • 算法核心是将值函数 Q π j ( s , a ) Q_{\pi}^j(s,a) Qπj(s,a) 转化为只包含邻居之间相互作用的形式。则每个智能体 j j j的局部值函数为 Q j ( s , a ) = 1 N j ∑ k ∈ N ( j ) Q j ( s , a j , a k ) Q_j(s, a)=\frac{1}{N_j} \sum_{k \in N(j)} Q_j\left(s, a_j, a_k\right) Qj(s,a)=Nj1kN(j)Qj(s,aj,ak) N j {N_j} Nj表示邻居节点的个数。仅对联合动作a做了近似,状态信息s仍然是全局信息。
  • 假定所有智能体都是同构的,其动作空间相同,并且动作空间是离散的,采用one-hot编码。paper中同时提到了连续的算法也可以用该思想设计,比如说DPG
  • 设智能体 j 的动作 a j {a}_j aj是one-hot编码的, a ˉ j \bar{a}_j aˉj 是智能体 j j j 邻居 N ( j ) N(j) N(j) 的平均动作,其邻居 k k k 的one-hot编码动作 a k a_k ak可以表示为 a ˉ j \bar{a}_j aˉj 与一个波动 δ a j , k \delta a_{j, k} δaj,k的形式 a k = a ˉ j + δ a j , k , a_k=\bar{a}_j+\delta a_{j, k}, \quad ak=aˉj+δaj,k, where a ˉ j = 1 N j ∑ k a k \bar{a}_j=\frac{1}{N^j} \sum_k a^k aˉj=Nj1kak。推导后可得 Q j ( s , a ) ≈ Q j ( s , a j , a ˉ j ) Q_j (s, a) \approx Q^ j (s, a_j,\bar{a}_j) Qj(s,a)Qj(s,aj,aˉj) Q j ( s , a j , a ˉ j ) Q^ j (s, a_j,\bar{a}_j) Qj(s,aj,aˉj) 称为MF-Q函数。因此将智能体之间两两作用求和转化为中心智能体j与一个虚拟智能体的动作 a ˉ j \bar{a}_j aˉj的相互作用。更具体的更新公式请见 paper
  • 更详细的

二、基于演员-评论家的方法

充分利用Actor-critic的架构,中心化学习(共享/独立)Critic 但是每个智能体独立的 Actor,处理算法可扩展性问题,提高抗环境非平稳能力

1. Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments (MADDPG)

  • 通过中心化学习一个联合的critic解决以下问题:由于策略梯度是由根据其余智能体当前策略得到的一个期望联合 Q-value 来进行放缩的,其余智能体的当前策略不一定是最优的回应该智能体的策略,会导致策略梯度估计不准确。仍然存在relative overgeneralization问题

  • 每个Agent的Critic部分能够获取其余所有Agent的动作信息,进行中心化训练和非中心化执行,即在训练的时候,引入可以观察全局的Critic来指导Actor训练,而测试的时候只使用有局部观测的actor采取行动。

  • MADDPG的一个启发就是,如果我们知道所有的智能体的动作,那么环境就是稳定的,就算策略在不断更新环境也是恒定的,因为模型动力学是稳定的。

  • 假定每一个智能体拥有自己独立的 critic- and actor-network,并且有独立的回报函数,可以同时解决协作、竞争以及混合环境下的多智能体问题。

  • CTDE框架:假定每个智能体在训练时都能够获取其余所有智能体的局部观察以及动作,因而 critic network 独立,但需要中心化训练。

  • 由于每个智能体的 critic 网络是基于全局信息的,因而可以处理环境非平稳问题。也就是每个智能体i的Q函数 Q i Q_i Qi是由所有的智能体的联合动作和观测所求得的。

  • 提出估计其余智能体 policy 的方法。(因为假设中心化训练每个智能体的 critic network 时,需要知晓所有智能体当前时间步的局部观察以及动作,知晓每个智能体的动作(即策略)是一个比较强的假设。)每个智能体均维护一个其余智能体 actor network 的估计,通过历史每个智能体的数据,使用损失函数监督训练这个估计的 actor network。

  • Policies Ensemble:给每个智能体同时训练 k 个 actor network 的方式,使得智能体对于其他智能体策略的变化更加鲁棒。(因为训练出的针对每个智能体的 policy 容易对其余智能体过拟合,但是其余智能体的 policy 随着训练过程的进行是不断更新的。其中每个 actor 都有独立的 experience replay)

  • 只有一个buffer。其中存储的是 ( s , a , r , s ′ ) (\mathbf s,\mathbf a,\mathbf r,\mathbf s') (s,a,r,s)所有智能体的联合观测、动作和奖励。

  • 更详细的:多智能体强化学习:MADDPG算法

2. Counterfactual Multi-Agent Policy Gradients (COMA)

旨在解决 Dec-POMDP 问题中的 multi-agent credit assignment 问题
multi-agent credit assignment 问题:多智能体信用分配问题。这个问题简单概括来说,由于 Dec-POMDP 问题中所有智能体共享同一个全局回报,因而每个智能体不知道自己的行为到底对这个全局回报产生了多大的影响

  • CTDE 框架:所有的智能体共享一个联合的 critic network,该 network 与 MADDPG 一样,基于所有智能体的局部观察以及动作,但是 actor network 是独立的并且只基于局部观察。(为了解决Dec-POMDP 问题)i.e., COMA employs a central critic to train distributed actors.
  • Actor:使用的是 GRU 网络,以更好的处理局部观察问题。(MADDPG使用的是DNN)
  • 引入了一个 counterfactual 的 baseline 函数(受difference rewards 方法启发)通过智能体遵循当前 actor network 进行决策得到的全局回报与遵循某个默认策略进行决策得到的全局回报的对比,解决多智能体信用分配问题。但是它的弊端在于:由于需要知道遵循某个默认策略得到的全局回报,需要重复访问仿真环境信令消耗);默认策略得到的回报可能并不在仿真器的建模之中,因而需要进行估计;默认策略的选取是完全主观的。
  • 通过使用联合的 critic 来去计算每个智能体独自的优势函数来解决上述问题,该优势函数计算的是智能体遵循当前 actor 决策得到的全局回报与一个反事实 baseline 之间的差值。

3. Multiagent Soft Q-Learning (MASQL)

类似于 MADDPG 的遵循 CTDE 框架的 MASQL(论文中没有这样进行缩写) 算法,本质上是将 Soft Q-Learning 算法迁移到多智能体环境中,因而与将 DDPG 算法迁移到多智能体环境中的 MADDPG 算法类似,不过 MASQL 算法解决的是 Dec-POMDP 问题。

  • 相比MADDPG,不是简单的迁移单智能体到多智能体算法中,而为了解决relative overgeneralization 问题 (连续场景下,联合动作 M M M相比于联合动作 N N N有更高的全局回报,但对某智能体i来说,执行动作 i M i_M iM带来的期望收益低于执行动作 i N i_N iN带来的期望收益 ,那么整体会收敛到次优点 N N N
  • 中心化的critic。(与MADDPG相同)
  • 每个智能体输出所有智能体的 joint action,而不像MADDPG每个智能体输出自己的动作。
  • SQL方法目的在于解决最优策略不是唯一的的任务,因而尝试学习一个最优策略的分布,从而学到所有可能的最优策略。

4. Actor-Attention-Critic for Multi-Agent Reinforcement Learning (MAAC)

将 MADDPG 采用的 DDPG 算法替换为 SAC(soft actor-critic)算法,并将 COMA 提出的 counterfactual baseline 引入进来,因而可以同时处理协作、竞争以及混合环境,遵循 CTDE 框架。

核心思想体现在: 将注意力机制引入到 Q function 的构建之中,并在critic网络进行参数共享。(MADDPG中每个智能体对应的 Q function 都是将其余智能体的局部观察以及动作无差别的作为输入,但是在现实场景中,智能体对于其余智能体的关注度是不一样的。)

  • 与MADDPG类似,每个agent有自己的一套actor-critic网络,均为集中式的训练所有智能体的critic网络。MADDPG是基于观测共享,即每个智能体的critic可以看到所有智能体的观测+动作,并作为输入;MAAC使用了多个attention heads,每个head使用一套独立的参数 (Wk,Wq,V),将每个head得到的vj连接后作为critic的输入。**参数(Wk,Wq,V)**在所有智能体之间共享。
  • 将其他智能体的观测-动作先embedding,然后利用注意力权重加权,相加,再与自身的局部观测+动作连接起来作为critic的输入。注意力权重度量了两个智能体embedding的相似程度。这样可使智能体更多关注与自己相似的智能体,提高信息利用率。
  • 所有智能体的观测-动作合并成一个单维向量,提高可拓展性
  • 用一个联合的损失函数来训练各个critic,这是因为不同critic之间用到了共享的采纳数
  • 借鉴了COMA中用counterfactual baseline计算优势函数的方法来解决信用分配问题。

三、基于经验回放(ER)缓存的方法:

聚焦于使用 ER 训练 Q-function 时增加稳定性

1. Stabilising experience replay for deep multi-agent reinforcement learning (concurrent experience replay trajectories 的概念)

  • CTDE框架。
  • 类似MADDPG,即假设每个智能体拥有自己独立的 Q-function;后者则是完全独立的 IQL。
  • 从 importance sampling 的角度:发现不同时刻收集的数据 π − a ( u − a ∣ s ) \pi_{-a}(u_{-a}|s) πa(uas) 不同(部分原因),而这导致了ER在多智能体环境下不稳定。因此将每一时刻的该项作为额外项存入ER。其新的Q function基于全局观察。

2. Deep decentralized multi-task multi-agent reinforcement learning under partial observability (importance sampling 的角度)

解决 partial observation 的问题, 采用 DRQN 算法。
提出了 concurrent experience replay trajectories 的概念,即每个智能体在独立训练自己的 Q-function 时,从 ER 中 sample 出来的数据需要从 episode 层面以及时间层面上对齐。


  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值