← 上级:RL-03.算法分类与选型 · 前置:RL-03-11-算法-PPO · 前置:RL-03-12-算法-DDPG-TD3-SAC · 实战:RL-07.应用实战
单智能体 RL 假设环境转移只依赖一个 Agent 的动作。多智能体强化学习(Multi-Agent Reinforcement Learning,MARL)中多个 Agent 同时决策,环境对所有动作联合响应——博弈、车队协同、多机调度均属此类。
段末注释:多智能体强化学习(Multi-Agent Reinforcement Learning,MARL)指多个 Agent 在同一环境中序贯决策的 RL 范式;后文沿用 MARL。
一、形式化:随机博弈
将 MDP 推广为 随机博弈(Stochastic Game)或 Markov Game:
$$
\mathcal{G} = (N, S, {A_i}{i=1}^N, P, {R_i}{i=1}^N, \gamma)
$$
| 符号 | 含义 |
|---|---|
| $N$ | Agent 数量 |
| $S$ | 全局状态(或联合观测) |
| $A_i$ | Agent $i$ 的动作空间 |
| $P(s’ | s, a_1,\ldots,a_N)$ |
| $R_i(s, a_1,\ldots,a_N)$ | Agent $i$ 的奖励(可同可异) |
部分可观测时各 Agent 只见 $o_i$,为 Dec-POMDP 的多 Agent 版本。
二、三类设定
| 类型 | 奖励结构 | 目标 | 例子 |
|---|---|---|---|
| 完全协作 | $R_1 = \cdots = R_N$ | 团队回报最大 | 多机搬运、集群调度 |
| 完全竞争 | 零和 $R_1 = -R_2$ | 纳什均衡 | 围棋、乒乓球 |
| 混合 | 分组或异构 | 联盟 + 竞争 | MOBA、交通混合流 |
RL-07 博弈案例 中 AlphaGo 类系统常用 自对弈(Self-Play)——可看作 MARL 的特殊训练方式。
三、核心难题:非平稳性
对 Agent $i$ 而言,环境转移不仅依赖自身策略 $\pi_i$,还依赖其他 Agent 策略 $\pi_{-i}$:
$$
P_i(s’|s,a_i) = \sum_{a_{-i}} P(s’|s,a_i,a_{-i}) \prod_{j \neq i} \pi_j(a_j|s)
$$
当其他 Agent 同时学习时,$P_i$ 随时间变化——非平稳(Non-Stationary)。直接套用单智能体 Q-Learning / DQN 往往不收敛。
应对思路:
| 思路 | 做法 |
|---|---|
| 独立学习(IL) | 各 Agent 把他人当环境噪声,简单但不保证收敛 |
| CTDE | 训练时见全局信息,执行时去中心化 |
| 对手建模 | 显式估计 $\pi_{-i}$ |
| 自对弈 / 种群 | 与历史策略或策略池对练 |
段末注释:集中训练分散执行(Centralized Training with Decentralized Execution,CTDE)指训练阶段 Critic 可用全局状态/动作,部署时各 Agent 仅依本地观测行动;后文沿用 CTDE。
四、MADDPG(连续协作/竞争)
Multi-Agent DDPG:每个 Agent 有 Actor $\mu_{\theta_i}(o_i)$;Critic 输入全局 $(s, a_1,\ldots,a_N)$。
Critic 更新(Agent $i$):
$$
y_i = r_i + \gamma Q_{\bar{\phi}_i}(s’, a_1’, \ldots, a_N’)
$$
其中 $a_j’ = \mu_{\bar{\theta}_j}(o_j’)$。集中式 Critic 缓解非平稳性——训练时知道他人动作。
| 优点 | 缺点 |
|---|---|
| 连续动作 | Critic 维数随 Agent 数增 |
| 可竞争可协作 | 需全局信息训练 |
| 扩展 DDPG | 大规模 Agent 难扩展 |
五、QMIX(离散协作)
完全协作且动作为离散时,团队回报 $R_{\text{team}}$ 可用 值分解:
$$
Q_{\text{tot}}(s, \mathbf{a}) = f_{\text{mix}}\big(Q_1(o_1,a_1), \ldots, Q_N(o_N,a_N); s\big)
$$
QMIX 约束 $f_{\text{mix}}$ 对各 $Q_i$ 单调递增,保证:
$$
\arg\max_{\mathbf{a}} Q_{\text{tot}} = \big(\arg\max_{a_1} Q_1, \ldots, \arg\max_{a_N} Q_N\big)
$$
即分散贪心 = 联合最优(在单调假设下)。适合 StarCraft 微操等多 Agent 协作。
| 算法 | 分解方式 | 动作 |
|---|---|---|
| VDN | $Q_{\text{tot}} = \sum_i Q_i$ | 离散 |
| QMIX | 单调混合网络 | 离散 |
| Qatten | 注意力加权 | 离散 |
六、MAPPO / IPPO(On-Policy 协作)
将 PPO 扩展到多 Agent:
| 变体 | 说明 |
|---|---|
| IPPO | 各 Agent 独立 PPO,共享或独立网络,实现简单 |
| MAPPO | 集中式价值函数 $V(s)$ 或 $V(s, \mathbf{o})$,On-Policy 稳定 |
| HAPPO | 序贯更新多 Agent 策略,理论更严 |
工程上 MAPPO / IPPO 在 SMAC、MPE 等基准上常作默认基线;超参与单 Agent PPO 相近(Rollout、GAE、Clip)。
七、自对弈与种群训练
| 方法 | 思路 |
|---|---|
| Self-Play | 与当前策略对练,策略迭代逼近纳什(博弈) |
| Fictitious Self-Play | 对历史策略池取平均最佳响应 |
| PSRO | 策略空间响应或元博弈 |
AlphaGo / OpenAI Five 等:RL + 自对弈 + 搜索(MCTS),见 Model-Based 简介。
八、信用分配与通信
协作中「谁贡献了团队奖励?」——多 Agent 信用分配(Credit Assignment):
- 差分奖励(Difference Reward)
- 注意力 / 值分解(QMIX 类)
- 显式通信信道(CommNet、TarMAC)
通信在部分可观测下可学习 何时、传什么 给队友。
九、选型速查
| 场景 | 首选 | 备选 |
|---|---|---|
| 离散协作(SMAC) | QMIX、MAPPO | VDN、Qatten |
| 连续协作 | MADDPG、MAPPO | 独立 SAC |
| 两 Agent 竞争 | MADDPG、Self-Play PPO | 纳什求解(小博弈) |
| 大规模同质 Agent | IPPO + 参数共享 | 独立 PPO |
| 围棋 / 完整信息博弈 | MCTS + 自对弈 | — |
生态:PyMARL、E-PyMARL(QMIX);PettingZoo(多 Agent 环境);RLlib 多 Agent API。
十、与单智能体 RL 对照
1 | 单 Agent MDP |
十一、小结
- MARL = 随机博弈 + 非平稳性;CTDE 是深度 MARL 主流范式。
- MADDPG(连续)、QMIX(离散协作)、MAPPO/IPPO(On-Policy)覆盖大部分基准。
- 上一篇:Model-Based 简介 · 相关:模仿学习(专家演示替代纯奖励)