多智能体强化学习¶
参考资料¶
本文完全来自于以下文章,并大量摘抄原文,仅供个人学习使用。
《第十六章 多智能体强化学习与协作》 俞扬(南京大学 人工智能学院教授)知乎 2026-07-15
概述¶
在零和博弈等典型的对抗场景中,策略学习的目标不再是单纯意义上的最优控制,而更接近于在相互依赖的行为过程中寻找某种稳定的相互作用方式。
特有的困难:
- 非平稳性。其他智能体策略的变化会直接改变每一个智能体所面对的数据分布(即“环境”)。
- 信用分配。在协作任务中,所有智能体共享同一个团队奖励,但难以确定每个智能体在该任务中贡献几何,应当分配多少奖励。
- 可扩展性。随着智能体数量增加,联合动作空间与联合价值函数的规模迅速膨胀。
分布式多智能体问题通常具有 规模大、实时性强、不确定性高、信息分散以及控制接口天然分布 等特征,倘若将整个系统视为单智能体建模,则存在“控制接口不匹配”、“信息结构不匹配”和“鲁棒性与可扩展性差”等问题。
问题分类:
- 按收益关系,可分为完全合作、完全竞争、混合关系、利己主义等;
- 同构/异构智能体;
- 信息可见性:智能体是能够访问环境完整信息,还是只能获得受限观测;
- 训练与执行范式:DTDE(distributed training distributed execution),CTCE,CTDE;
- 学习范式:基于策略梯度的算法、基于值函数的算法。
随机博弈模型¶
通常使用随机博弈(马尔可夫博弈)建模多智能体强化学习。
令智能体集合为 \(\mathcal{N}=\{1,2,\dots,n\}\) 。在时刻 \(t\) ,系统处于全局状态 \(s_t\in\mathcal{S}\) ,每个智能体 \(i\in\mathcal{N}\) 选择动作 \(a_t^i\in\mathcal{A}^i\) ,所有智能体在该时刻采取的动作组合记为联合动作
环境按照转移核 \(\mathcal{P}(s_{t+1} | s_t,\mathbf{a}_t)\) 演化。对每个智能体 \(i\) 而言,即时奖励写为 \(R^i(s_t,\mathbf{a}_t,s_{t+1})\in\mathbb{R}\) ,折扣因子为 \(\gamma\in[0,1)\) 。智能体 \(i\) 的策略可写为 \(\pi_i(a^i|s)\) 。我们把联合策略记为 \(\boldsymbol{\pi}=(\pi_1,\dots,\pi_n)\) ,把除 \(i\) 之外的其他智能体策略集合记为 \(\boldsymbol{\pi}_{-i}\) 。
多智能体均衡¶
若联合策略 \(\boldsymbol{\pi}^*=(\pi_1^*,\dots,\pi_n^*)\) 满足,对任意智能体 \(i\) 与任意可选策略 \(\pi_i\) 都有
则称 \(\boldsymbol{\pi}^*\) 为纳什均衡。
要注意:一个联合策略是纳什均衡,不意味着它在团队角度就是最优的。
如果允许系统在每一轮决策时向各智能体发送一个公共的相关信号,让它们据此相关地选择动作,就得到一个更一般的稳定性概念,即相关均衡。
顺序决策:多智能体系统中,一部分智能体先行动,另一部分智能体在观察到前者的决策之后再作反应。此时,仅用“所有人同时决策”的均衡语言已经不足以完整刻画问题。斯塔克尔伯格均衡(Stackelberg equilibrium)更适合描述这种由先后次序带来的优势关系。
帕累托最优性¶
帕累托最优性用于比较不同 联合策略 之间的优劣。
在给定比较状态或给定初始状态分布的前提下,若满足
并且至少对某个智能体 \(j\) 在比较基准下有严格不等式成立,则称联合策略 \(\boldsymbol{\pi}\) 帕累托优于 \(\hat{\boldsymbol{\pi}}\) . 若一个策略不存在任何帕累托更优的策略,则称其为帕累托最优。
一个典型的现象是,系统中可能同时存在若干个稳定的协作模式,其中有些模式虽然团队回报较低,却更容易在带噪声的学习过程中被学到。这意味着学习算法不仅要面对“是否存在好解”的问题,还要面对“训练最终会把系统带到哪一个解的附近”的问题,后者通常被称为均衡选择问题。
为什么较差的均衡反而更容易被学到?¶
遮蔽均衡(shadowed equilibrium)可以用来刻画这类现象。设想有两个均衡:一个帕累托较差、但对单边偏离更“宽容”(偏离一点也不会损失太多),另一个帕累托更优、但对失配更“敏感”(稍有偏离就损失严重)。对于一个基于局部试探、平均回报或有限探索的学习过程而言,它更容易被那个宽容的、较差的均衡所吸引,而那个更优但脆弱的均衡反而更难被稳定地学到,此时我们就说前者对后者形成了“遮蔽”。这个概念强调的是一个训练层面的事实:学习过程往往更偏好稳妥但次优的协调模式,而不是脆弱但更优的协调模式。
与遮蔽均衡密切相关的还有相对过泛化(relative overgeneralization)。在协作任务中,真正最优的协作行为通常要求队友之间形成较为精确的动作配合,一旦其中任意一方偏离了理想动作,团队回报就会急剧下降;相反,某些次优的均衡虽然上限较低,却对队友的失配更不敏感。因此在训练早期,这些次优均衡更容易给出“平均意义上看起来还不错”的回报,基于局部探索与经验平均的更新规则便会对它们产生一种系统性的偏好。理解这一点,对于理解协作学习中“明明有更好的配合、却学不出来”的现象很重要。
部分可观测博弈¶
前述的形式化都默认每个智能体可以访问全局状态 \(s_t\) ,然而在机器人集群领域,该假设通常不成立,每个智能体往往只能观察到自身周围的局部信息。此时更常用的形式化对象是 部分可观测随机博弈 (partially observable stochastic game, POSG)。
一个 POSG 可表示为
其中 \(\mathcal{O}^i\) 为智能体 \(i\) 的观测空间,\(\mathcal{Z}\) 为观测核
在时刻 \(t\) ,智能体 \(i\) 基于自身观测及其历史选择动作,常写为
其中 \(\tau_t^i=(o_0^i,a_0^i,o_1^i,a_1^i,\dots,o_{t-1}^i,a_{t-1}^i,o_t^i)\) ,表示智能体 \(i\) 在当前时刻可用的信息历史,即智能体从初始时刻到当前时刻能够访问到的全部局部观测与自身历史动作。
为什么策略要写成依赖于整个历史 \(\tau_t^i\) ,而不是仅仅依赖于当前观测 \(o_t^i\) ?原因在于,在部分可观测的环境中,单个观测通常不足以恢复环境的马尔可夫状态。若忽略历史、仅依据当前一帧局部信息来决策,许多从长期角度看合理的行为便无法被学到,例如根据先前看到的敌方位置来选择包围方向,或者根据前几步队友的移动来判断其意图。
实践中应对部分可观测性的思路大致可以归为三类。
- 显式记忆:使用神经网络(RNN、LSTM、Transformer等)对历史观测与历史动作进行编码,以神经网络的隐状态近似替代不可见的环境状态
- 显式通信:让智能体在决策之前交换一些摘要信息,从而扩大各自在局部决策时所能利用的信息范围。
- 训练期补全:在训练阶段借助全局状态或其他智能体的信息,构造更准确的价值函数与学习信号,而在执行阶段仍然保持策略的局部性,这正是后文 CTDE 范式的核心思想。
在完全协作的任务中,POSG 还可以进一步特化为去中心化部分可观测马尔可夫决策过程(decentralized partially observable MDP,Dec-POMDP)。Dec-POMDP 是 POSG 的特殊情形,其中所有智能体共享同一个奖励函数,即 \(R^1=\dots=R^n\)。它把问题从一般的多方博弈,转化为一个“在局部观测与分布式执行约束下,共同最大化同一个目标”的学习问题。
训练与执行¶
单智能体强化学习中,训练与执行两阶段所能访问到的信息差异不大;多智能体强化学习中,执行阶段每个智能体通常只能依赖局部观测信息做出决策,但在训练阶段可以借助仿真环境、离线日志或集中式的采集平台获得更为丰富的全局信息,构造更加准确的学习信号。
围绕以上差异,MARL 逐渐形成了分布式训练分布式执行 DTDE,集中式训练集中式执行 CTCE,集中式训练分布式执行 CTDE 这三类最常见的范式。
DTDE 范式下,每个智能体只利用自己的局部信息独立地进行策略更新与策略执行,训练过程不显式使用其他智能体的信息,也不依赖集中式模块。该范式隐含地把其他智能体的动作当成了环境噪声的一部分,不可避免地存在 非平稳 的缺陷,仅适用于信息本就高度局部、智能体间耦合较弱的场景。
CTCE 范式下,系统学习一个集中式联合策略,并且执行阶段同样根据联合观测输出联合动作。该范式类似于将整个多智能体系统视为一个单智能体,理论上能获得最优效果。但是,随着智能体数量增加带来的状态空间、联合动作空间规模指数爆炸问题,给工程实践带来了极大的不便。此外,CTCE 要求系统持续获得全局信息,并通过集中式控制器统一输出联合动作,不适用于许多分布式的场景。
在 CTDE 框架下,训练阶段允许使用全局信息来学习价值函数或 Critic,以提供更稳定的学习信号。执行阶段则要求每个智能体仅基于自身局部信息作出决策,即
CTDE 之所以成为主流范式,是因为它恰好取了前两种范式之长。训练阶段“看得更多”,有助于缓解非平稳、部分可观测以及共享奖励所带来的噪声,这是它优于 DTDE 之处;执行阶段只依赖局部信息,能够满足真实系统在通信、隐私与鲁棒性方面的约束,这是它优于 CTCE 之处。
需要进一步澄清的是,CTDE 中的“集中式训练”并不一定意味着所有参数都由一个网络统一更新。它更常见的含义是:训练阶段允许某些模块访问全局状态、联合动作、其他智能体的局部观测、额外的通信记录或标识信息,从而构造出更准确的价值估计和更低方差的梯度信号。
协作 MARL¶
本节关注所有智能体拥有一个共同团队目标的协作任务。
完全协作¶
称一个 MARL 任务为完全协作,若所有智能体共享同一个奖励函数
理论上说,如果存在一个中心控制器能够直接输出联合动作 \(\mathbf{a}\) ,那么这个问题就可以被视为一个动作空间为 \(\boldsymbol{\mathcal{A}}\) 的单智能体 MDP 。此时,相应的联合动作 Q 学习写为
现实系统通常要求每个智能体只能依据自己的局部信息输出自己的动作 \(a^i\) ,而无法在执行时枚举、比较所有可能的联合动作,可以注意到上式中的 \(\max_{a_{t+1}}\),它需要遍历整个指数级的联合动作空间。因此,虽然上式描述了团队最优控制的理想形式,它并不能直接转化为一个可以在真实协作系统中部署的分布式策略。完全协作任务的核心问题,是在不破坏分布式执行约束的前提下,尽可能地逼近联合最优决策。
信用分配¶
在完全协作 MARL 中,所有智能体共享全局奖励 r。信用分配问题是指,如何评估某个智能体的动作对整体回报的边际贡献,从而为该智能体提供有效的学习信号。
共享奖励带来的一个直接后果,是奖励信号往往过于粗粒度。某个智能体的关键动作可能决定了系统的成败,而另外一些智能体在同一时刻的动作对最终奖励几乎毫无影响;可是在最朴素的更新中,所有智能体接收到的却是同一个全局奖励。这样一来,那些真正有价值的行为改进,就会被大量与自身无关的随机因素所淹没,从而显著增大梯度的方差、降低学习的效率。尤其在奖励稀疏或延迟的任务中,某个智能体可能要经过很长时间,才能从团队回报中间接地感受到自己早先某一步动作的价值,这使得探索和学习都变得格外困难。
信用分配的困难还会与前文的均衡选择问题相互叠加。最优的协作解通常要求较为精确的协调,一旦探索的噪声破坏了配合,回报便可能急剧下降;而某些次优的协调模式虽然总体收益较低,却对个体的偏差更为宽容,从全局奖励的角度看反而显得更“稳定”。此时,如果学习信号无法准确反映个体动作的边际作用,训练过程就容易把那些“容易获得的、稳定的中等回报”误认为是真正值得强化的优良行为。
非平稳¶
在随机博弈中,对智能体 \(i\) 而言,由其他智能体策略诱导出的有效转移核可写为
只要存在 \(\boldsymbol{\pi}_{-i} \neq \bar{\boldsymbol{\pi}}_{-i}\) 使得
则从智能体 \(i\) 的视角看,环境是非平稳的。
非平稳性来源于其他智能体被边缘化为了环境的一部分。这导致智能体 \(i\) 所面对的有效转移和有效奖励分布是变化的。
对于依赖自举目标的值函数方法而言,这种变化尤其有害,因为回放池中历史样本所对应的“未来行为分布”,与当前策略下的“未来行为分布”已经不一致,目标值的语义在不断漂移。对于策略梯度方法而言,非平稳则会增大梯度估计的方差,并使“当前的更新是否仍然有利”变得更难判断。
这一段没能完全理解
从实践的角度看,非平稳与部分可观测性往往同时出现,从而使问题进一步复杂化:一个智能体本来就只能看到局部的观测,如今还要面对由队友学习所引起的持续分布漂移,它就更难区分究竟是环境本身发生了变化,还是仅仅因为队友更新了策略。CTDE 之所以更受欢迎,正是因为它允许我们在训练阶段利用全局信息,构造更稳定的 Critic 或更合理的价值分解结构,以减轻这种“移动目标”的问题。可以说,许多现代协作 MARL 算法的首要目标,是先让学习目标本身保持足够的稳定。
可扩展性¶
当智能体数量 \(n\) 增加时,联合动作空间 \(\boldsymbol{\mathcal{A}}=\mathcal{A}^1\times\dots\times\mathcal{A}^n\) 的规模通常呈指数级增长,集中式策略与集中式价值函数的表示、搜索与优化开销也会随之迅速上升。
- 在表示层面,若一个集中式网络需要直接输入所有智能体的观测、并输出所有的联合动作(或估计所有联合动作的价值),它的输入维度与输出维度都会迅速膨胀。
- 在搜索层面,诸如 \(\max_{\mathbf{a}}Q(s,\mathbf{a})\) 这样的操作,一旦作用于指数级的联合动作空间就难以实现。
- 在统计层面,当高维的联合动作带来更复杂的相互作用模式时,学习算法往往需要更多的样本才能可靠地区分“真正有用的协作结构”与“偶然出现的高回报组合”,样本效率随之下降。
常见的缓解思路包括参数共享(尤其适用于同构智能体)、分组训练、利用注意力或图结构进行信息聚合,以及在值函数层面引入可分解的结构。
学习算法的合理性与可收敛性¶
合理性:若其他智能体使用恒定策略 \(\boldsymbol{\pi}_{-i}\) 不变,智能体 \(i\) 使用某学习算法更新策略,若当学习收敛时,所得策略为 \(\boldsymbol{\pi}_{-i}\) 下的最有反应或近似最优反应,称该算法满足合理性。
收敛性:若系统中所有智能体都使用同一种学习算法更新策略,并且在训练过程中策略序列能收敛到一个稳定的联合策略,则称该算法满足收敛性。
协作 MARL 策略梯度算法¶
这里的核心问题在于:当每个智能体都拥有自己的参数 \(\theta^i\) 时,如何写出一个可估计的 \(\Delta_{\theta^i}J\),并让这个梯度更新真正推动协作行为的形成?
为便于叙述,本节采用 CTDE 的视角,即执行阶段策略保持分布式,训练阶段则允许 Critic 使用更充分的全局信息。这样设置的原因是,在多智能体环境中,策略梯度方法若缺少集中式的价值估计,往往会面临过高的方差以及较弱的信用分配能力,这正是前几节讨论的困难。
协作 MARL 的策略梯度形式¶
设智能体 \(i\) 的策略为 \(\pi_{\theta^i}^i(a^i|o^i)\) ,联合策略取可分解的形式,即智能体的策略相互独立
这里需要注意,采用因子化的联合策略,并不意味着智能体之间不存在协同,它仅仅意味着在执行阶段,每个智能体依据自己的局部策略独立地产生动作。至于协同行为最终能否出现,取决于训练阶段是否为这些局部策略提供了足够准确的团队价值信号,这正是 CTDE 发挥作用的地方。
由于协作任务中所有智能体共享团队回报,可将优化目标写为
设 \(b_t^i\) 是一个不依赖智能体 \(i\) 当前动作 \(a_t^i\) 的基线函数,则协作 MARL 中智能体 \(i\) 的策略梯度可写为
在协作 MARL 中,基线如何设计往往不只是一个方差缩减的技巧,更是能否把团队奖励转化为个体可学习信号的关键环节。
从直觉上看,这个梯度形式表示,如果某一时刻的联合动作 \(\mathbf{a}_t\) 在团队意义上优于基线,那么参与形成该联合动作的那些局部动作的概率就应当被提升;反之则应当被降低。但问题在于,\(Q_π(s_t,\mathbf{a}_t)\) 告诉我们的只是整个联合动作的团队价值,它没有直接揭示当前这个智能体的这一步究竟贡献了多少。这正是为什么在多智能体策略梯度中,Critic 的表达能力与基线的设计方式,会比单智能体情形更加重要。
MADDPG:集中式 Critic 与分布式 Actor¶
多智能体深度确定性策略梯度(multi-agent deep deterministic policy gradient, MADDPG)是 CTDE 框架下的一个经典方法。它的基本思想是:为每个智能体保留一个用于执行的分布式 Actor,同时在训练阶段为每个智能体配置一个集中式的 Critic,这个 Critic 以全局状态与联合动作为输入,从而在估计价值时能够显式地考虑其他智能体的行为影响。
MADDPG 算法
Require: 智能体数 \(n\),Actor 参数 \(\{\theta^i\}_{i=1}^n\) ,Critic 参数 \(\{\phi^i\}_{i=1}^n\),折扣因子 \(\gamma\),软更新系数 \(\eta\),经验回放池 \(\mathcal{D}\)
Ensure: 分布式执行策略 \(\{\mu_{\theta^i}^i\}_{i=1}^n\)
初始化目标网络参数 \(\theta^{i-}\leftarrow\theta^i, \phi^{i-}\leftarrow\phi^i\)
FOR \(\text{episode} = 1,2,\dots,M\) DO
初始化探索噪声过程
获取初始状态 \(s\) 与各智能体观测 \(\mathbf{o}\)
FOR \(t=0,1,\dots\) 直到终止或达到最大步数 DO
每个智能体执行动作 \(a^i \leftarrow \mu_{\theta^i}^i(o^i)+\varepsilon_t, i=1,\dots,n\)
执行联合动作 \(\mathbf{a} = (a^1,\dots,a^n)\),得到奖励 \(r\),下一状态 \(s'\) 与下一观测 \(\mathbf{o}'\)
将 \((s,\mathbf{o},\mathbf{a},r,s',\mathbf{o}')\) 写入经验回放池 \(\mathcal{D}\)
\((s,\mathbf{o})\leftarrow(s',\mathbf{o}')\)
FOR \(i=1,2,\dots,n\) DO
从 \(\mathcal{D}\) 采样小批量 \(\left\{(s_j,\mathbf{o}_j,\mathbf{a}_j,r_j,s'_j,\mathbf{o}'_j)\right\}_{j=1}^B\)
用目标 Actor 构造目标动作 \({a_{j}^{k}}' \leftarrow \mu_{\theta^{k-}}^{k}({o_j^{k}}'),k=1,\dots,n\)
构造目标值 \(y_j \leftarrow r_j + \gamma Q_{\phi^{i-}}^i(s_j',{a_j^1}',\dots,{a_j^n}')\)
更新 Critic:\(\phi^i \leftarrow \arg\min_{\phi}\frac{1}{B}\sum_{j=1}^B\left(Q_{\phi}^i(s_j,\mathbf{a}_j)-y_j\right)^2\)
更新 Actor(路径梯度):$\(\nabla_{\theta^i}J\approx\frac{1}{B}\sum_{j=1}^{B}\nabla_{\theta^i}\mu_{\theta^i}^{i}(o_j^i)\nabla_{a^i}Q_{\phi^i}^i(s_j,a_j^1,\dots,a_j^{i-1},a^i,a_j^{i+1},\dots,a_j^n)|_{a^i=\mu_{\theta^i}^i(o_j^i)}\)$
END
软更新目标网络 \(\theta^{i-}\leftarrow\eta\theta^{i}+(1-\eta)\theta^{i-}, \phi^{i-}\leftarrow\eta\phi^{i}+(1-\eta)\phi^{i-},i=1,\dots,n\)
END
END
- 目标网络 \(\theta^{i-}\) 和 \(\phi^{i-}\) 是 Actor 和 Critic 的“复制体”,参数更新慢,用来计算训练目标,能稳定训练。
- 经验回放池给了从 \(s_j,\mathbf{a}_j \rightarrow s_j'\) 的奖励 \(r_j\) 和 \(\mathbf{o}_j'\),用目标 Actor 和 Critic 估计 agents 在 \(s_j'\) 和 \(\mathbf{o}_j'\) 下后续可能采取的动作以及可能获得的收益,把它和 \(r_j\) 相加作为 \(s_j , \mathbf{a}_j\) 下的收益,再以此更新 Critic 和 Actor .
- 多次更新 Critic 和 Actor 之后,更新一次目标 Actor 和 Critic .
MADDPG 缓解非平稳的关键,在于集中式 Critic 能够在训练阶段显式地看到其他智能体的动作,从而减少把队友变化误当成环境噪声的估计偏差。然而,随着智能体数量的增加,Critic 的输入维度(所有智能体的观测与动作)会迅速膨胀,其训练难度与泛化压力明显增大;若不同智能体之间存在较强的异构性,分别为每个智能体维护一个集中式 Critic 的代价也会相应上升。
两个局限: 1. 它是异策略方法,依赖经验回放,而回放池中的旧样本对应的是旧的队友策略,非平稳带来的分布漂移问题只是被缓解、并未消除。 2. 它给出的学习信号主要回答“这个联合动作有多好”,对“当前这个智能体的这一动作具体贡献了多少”刻画得还不够精细。
MAPPO:多智能体近端策略优化¶
每个智能体拥有一个基于局部观测(或局部历史)的随机策略 \(\pi_{\theta^i}^{i}(a^i|o^i)\) ,同构智能体之间通常共享策略参数;训练阶段维护一个集中式的状态值函数 \(V_{\phi}(s)\),它以全局状态(或各智能体观测的拼接)为输入,用于估计团队回报并计算优势。策略更新沿用 PPO 的截断目标:记概率比率 \(\rho_t^i = \dfrac{\pi_{\theta^{i}}(a_t^i | o_t^i)}{\pi_{\theta_{\text{old}}^{i}}(a_t^i | o_t^i)}\),智能体 \(i\) 最大化
其中 \(\hat{A}_t\) 是利用集中式值函数 \(V_{\phi}(s_t)\) 与团队奖励,通过广义优势估计(GAE)计算得到的优势;实践中通常还会加上熵正则项以维持探索。
MAPPO 算法
Require: 各智能体策略参数 \(\{\theta^i\}_{i=1}^n\) (同构智能体可共享参数),集中式值函数参数 \(\phi\) ,截断参数 \(\epsilon\) ,折扣因子 \(\gamma\) ,GAE 参数 \(\lambda\)
Ensure: 分布式执行策略 \(\{\pi_{\theta^i}^i\}_{i=1}^n\)
WHILE 训练未结束 DO
用当前联合策略 \(\{\pi_{\theta^i}^i\}\) 与环境交互,采集一批轨迹 \(\{(s_t,\mathbf{o}_t,\mathbf{a}_t,r_{t+1})\}\)
用集中式值函数 \(V_{\phi}(s_t)\) 计算各时间步的 GAE 优势估计 \(\hat{A}_t\) 与回报目标 \(\hat{R}_t\)
FOR \(\text{epoch}=1,\dots,K\) DO
FOR 每个智能体 \(i\) (参数共享时合并为一次更新) DO
计算概率比率 \(\rho_t^i = \dfrac{\pi_{\theta^{i}}(a_t^i | o_t^i)}{\pi_{\theta_{\text{old}}^{i}}(a_t^i | o_t^i)}\)
沿截断目标的梯度方向更新 \(\theta^i\) :$\(L^{i}(\theta^i)=\frac{1}{T}\sum_{T}\min(\rho_{t}^{i}\hat{A}_{t},\text{clip}(\rho_{t}^{i},1-\epsilon,1+\epsilon)\hat{A}_t)\)$
END
最小化函数损失 \(\frac{1}{T}\sum_{T}(V_{\phi}(s_t)-\hat{R}_t)^2\) ,更新 \(\phi\)
END
\(\theta_{\text{old}}^{i}\leftarrow\theta^i,i=1,\dots,n\)
END
与 MADDPG 的差异: 1. MADDPG 是异策略,MAPPO 是同策略; 2. PPO 限制了更新幅度; 3. MADDPG 的 Critic 估计联合动作价值 \(Q(s,\mathbf{a})\) ,MAPPO 的 Critic 只估计状态值 \(V(s)\) .
需要指出的是,MAPPO 中所有智能体共享同一个优势估计 \(\hat{A}_t\) ,它衡量的是团队层面的动作好坏,并没有区分个体的边际贡献。也就是说,MAPPO 主要改善的是学习信号的稳定性,信用分配问题仍然存在,因此实践中它常依靠参数共享与大量并行采样来部分掩盖这一问题。
反事实基线与信用分配¶
在协作任务中,一个自然的想法是:固定住队友的动作不变,只考察如果当前这个智能体动作与团队回报的关系。这样所得信号剔除了队友行为的干扰,更接近个体动作的边际贡献。
COMA(counterfactual multi-agent policy gradients)中的 反事实优势(counterfactual advantage):在完全协作 MARL 中,固定除智能体 \(i\) 之外的其他智能体动作 \(\mathbf{a}^{-i}\) ,定义智能体 \(i\) 的反事实优势为
其中 \(\tau^i\) 为智能体 \(i\) 可用的信息历史或其编码。
该定义中,第一项 \(Q(s,\mathbf{a})\) 是当前实际采取的联合动作的价值;第二项是固定队友动作的前提下,对智能体 \(i\) 所有可能的动作按其当前策略取期望之后得到的基线值(baseline)。两者之差衡量了该智能体当前动作相对于自身平均动作的增益。
从实现的角度看,COMA 通常采用一个集中式 Critic 来估计联合动作价值,然后在计算某个智能体的优势时,只对该智能体自己的动作做边缘化,对其他智能体的动作保持不变。
在大规模的连续动作空间中,这种边缘化往往更难精确实现,因此 COMA 更常用于离散的协作任务。
值分解方法¶
对复杂的协作任务,集中式 Critic 的 Actor-Critic 方法并不总是最高效的选择。 1. 联合动作空间巨大时,策略梯度的估计往往噪声较大; 2. 信用分配的困难进一步放大这种梯度方差。
值分解方法提供了另一条路线。
IGM 条件:局部贪心何时等价于全局贪心¶
局部—全局最大,individual-global-max,IGM 条件:设联合动作价值为 \(Q_{\text{tot}}(\boldsymbol{\tau},\mathbf{a})\) ,其中 \(\boldsymbol{\tau}=(\tau^1,\dots,\tau^n)\) 为各智能体的信息历史或其编码。若存在局部动作价值函数 \(\{Q_i(\tau^i,a^i)\}_{i=1}^{n}\) ,使得
则称该分解满足 IGM 条件。
IGM 条件指每个智能体对自己的局部动作价值函数做贪心决策,所得到的联合动作,恰好是联合动作价值函数的贪心最优动作。
如果满足 IGM 条件,执行阶段就不需要在高维的联合动作空间里寻优,每个 agent 各自贪心即可。
IGM 条件实际上是在对联合价值函数 \(Q_{\text{tot}}\) 施加约束:如果不约束 \(Q_{\text{tot}}\) ,它可以表达非常复杂的协同关系,但执行时就可能需要集中式地寻优;反过来,若对其结构施加强约束,使其满足 IGM 条件,执行就会变得简单,但其表达能力受限。
VDN、QMIX 与 QPLEX¶
首先,满足 IGM 最简单的方式,就是把联合动作价值函数直接写成局部动作价值函数的和。值分解网络(value decomposition networks, VDN)就采用了该方法:
VDN 结构简洁,训练稳定,实现直接,但是表达能力有明显的局限。许多协作任务中的团队收益,并不等于各个局部收益的简单相加,复杂的协同效应很难通过线性组合被精确刻画。
QMIX 为了增强表达能力引入了混合(mixing)网络。该网络以各智能体的局部 \(Q\) 值和全局状态为输入,输出全局的 \(Q_{\text{tot}}\) 。但是,引入了非线性组合,如何保证 IGM 成立?QMIX 给出的答案是施加单调性约束 :
这一约束的含义是,增大每个 \(Q_i\) ,\(Q_{\text{tot}}\) 至少不会减少。因此,让每个 \(Q_i\) 达到最大,也就是让 \(Q_{\text{tot}}\) 达到最大。
实践中,混合网络的参数通常由一个依赖全局状态的超网络(hypernetwork)生成,这使得局部 Q 值的组合方式可以随状态变化,从而比 VDN 具有强得多的表达能力。
这段话没看懂。
QMIX 算法
Require: 局部 Q 网络参数 \(\{\theta_i\}\) ,mixing 网络参数 \(\theta_{\text{mix}}\) ,目标网络参数 \(\{\theta_i^{-}\},\theta_{\text{mix}}^{-}\) ,经验回放池 \(D\) ,学习率 \(\alpha\)
Ensure: 分布式执行的局部 Q 网络 \(\{Q_i\}\)
初始化 \(\{\theta_i\}\) 与 \(\theta_{\text{mix}}\) ,并令 \(\{\theta_i^{-}\}\leftarrow\{\theta_i\}, \theta_{\text{mix}}^{-}\leftarrow\theta_{\text{mix}}\)
WHILE 训练未结束 DO
用当前分布式策略与环境交互,收集轨迹并写入经验回放池 \(D\)
IF \(|D|\) 足够大 THEN
从 \(D\) 中采样一个小批量轨迹
FOR 批量中每条轨迹的每个时间步 \(t\) DO
计算每个智能体局部 Q 值 \(Q_{i,\theta_i}(\tau_t^i,a_t^i)\)
通过 mixing 网络得到全局 Q 值 \(Q_{\text{tot}}(t)=\text{Mix}(Q_1(t),\dots,Q_{n}(t),s_t,\theta_{\text{mix}})\)
用目标网络构造一步 TD 目标 \(y_{\text{tot}}(t)\)
END
最小化全局 TD 误差平方并更新参数:\(\theta\leftarrow\theta-\alpha\nabla_{\theta}\sum_t(y_{\text{tot}}(t)-Q_{\text{tot}}(t))^2\),其中 \(\theta=\{\theta_i\}\cup\{\theta_{\text{mix}}\}\)
周期性更新目标网络 \(\theta^{-}\leftarrow\theta\)
END
END
没搞明白 mixing 网络是怎么满足单调性约束的。
QMIX 并不直接学习一个集中式的联合 Q 函数,而是先学习各智能体的局部 Q 函数,再通过混合网络将它们组合为全局的 \(Q_{\text{tot}}\),并借助单调性约束来维持分布式贪心执行的正确性。
具体的,在构造目标时,通常先利用目标局部 Q 网络得到每个智能体的贪心动作 \(a_{t+1}^{i*}=\arg\max_{a^i}Q_{i,\theta_i^{-}}(\tau_{t+1}^i,a^i),i=1,\dots,n\) ,再将这些局部的贪心动作通过目标混合网络组合成目标总价值,从而形成一步 TD 目标。
注意到,单调性约束是保证 IGM 的一个充分非必要条件。也就是说,QMIX 虽然相较于 VDN 放宽了很多限制,表达能力增强了不少,但仍然不能表示全部满足 IGM 的联合价值函数。为了进一步提升表达能力,QPLEX 引入了双重争斗多智能体结构(duplex dueling multi-agent,DDMA),在保持分布式贪心执行的前提下,更细致地刻画个体价值与协同优势之间的关系。其核心思想是在满足 IGM 原则的同时,尽可能扩大可表示的联合价值函数类。从理论上看,QPLEX 能够覆盖完整的 IGM 函数类,因此可以视为对 VDN 与 QMIX 表达能力不足的一种重要补充。