摘要:
AlphaGo 战胜人类标志着单智能体强化学习(Single-Agent RL)的巅峰,而 OpenAI Five 在 Dota 2 中的胜利则开启了多智能体强化学习(Multi-Agent RL, MARL)的时代。从“一个人玩游戏”到“一群人打群架”,难度不仅仅是数量的叠加。本文将从数学模型MDP 到 Markov Games的演变入手,剖析 MARL 面临的非平稳性(Non-Stationarity)、维度灾难以及信誉分配等核心挑战。
目录
- 引言:为什么我们需要 MARL?
- 理论基石的演变:从 MDP 到 Markov Games
- 单智能体:马尔可夫决策过程 (MDP)
- 多智能体:马尔可夫博弈 (Markov Games)
- 数学符号的本质区别
- 核心挑战一:环境的非平稳性 (Non-Stationarity)
- 什么是“移动的靶子”?
- 为什么 Experience Replay 在 MARL 中会失效?
- 核心挑战二:维度的诅咒与组合爆炸
- 核心挑战三:信息结构与信誉分配
- 部分可观测性 (POMDP)
- Lazy Agent 问题
- 总结与展望
1. 引言:为什么我们需要 MARL?
在传统的强化学习(RL)中,无论是玩 Atari 游戏还是控制机械臂,我们通常假设只有一个大脑在与环境交互。然而,现实世界往往不是孤独的:
- 自动驾驶:你的车不仅要看路,还要博弈旁边那辆试图加塞的出租车。
- 多机器人协作:一群仓储机器人需要配合搬运货物,互不碰撞。
- RTS 游戏:星际争霸中,数百个单位需要协同作战。
当智能体(Agent)数量N > 1 N > 1N>1时,世界变了。环境不再是单纯的物理反馈,还包含了其他智能体的策略博弈。
2. 理论基石的演变:从 MDP 到 Markov Games
理解 MARL 的第一步,是看懂数学定义的迁移。
2.1 单智能体:马尔可夫决策过程 (MDP)
单智能体 RL 的世界由一个五元组组成:⟨ S , A , P , R , γ ⟩ \langle \mathcal{S}, \mathcal{A}, P, R, \gamma \rangle⟨S,A,P,R,γ⟩。
- 状态转移:P ( s ′ ∣ s , a ) P(s' | s, a)P(s′∣s,a)。状态的变化只取决于当前状态s ss和智能体的动作a aa。
- 奖励函数:R ( s , a ) R(s, a)R(s,a)。
- 目标:寻找一个策略π ( a ∣ s ) \pi(a|s)π(a∣s)最大化累计回报。
2.2 多智能体:马尔可夫博弈 (Markov Games)
也称为随机博弈 (Stochastic Games)。元组变成了:⟨ N , S , { A i } i ∈ N , P , { R i } i ∈ N , γ ⟩ \langle \mathcal{N}, \mathcal{S}, \{\mathcal{A}^i\}_{i \in \mathcal{N}}, P, \{R^i\}_{i \in \mathcal{N}}, \gamma \rangle⟨N,S,{Ai}i∈N,P,{Ri}i∈N,γ⟩。
这里发生了三个关键变化:
- 智能体集合:N = { 1 , … , N } \mathcal{N} = \{1, \dots, N\}N={1,…,N},我们现在有N NN个玩家。
- 联合动作 (Joint Action):环境的状态转移不再取决于一个动作,而是取决于所有智能体的联合动作u = ⟨ a 1 , … , a N ⟩ \mathbf{u} = \langle a^1, \dots, a^N \rangleu=⟨a1,…,aN⟩。
P ( s ′ ∣ s , u ) = P ( s ′ ∣ s , a 1 , a 2 , … , a N ) P(s' | s, \mathbf{u}) = P(s' | s, a^1, a^2, \dots, a^N)P(s′∣s,u)=P(s′∣s,a1,a2,…,aN) - 奖励差异:每个智能体可能有自己独立的奖励函数R i ( s , u ) R^i(s, \mathbf{u})Ri(s,u)。
- 完全合作 (Cooperative):所有人的奖励一样,R 1 = R 2 = ⋯ = R N R^1 = R^2 = \dots = R^NR1=R2=⋯=RN。
- 完全竞争 (Zero-Sum):你赢即我输,R 1 = − R 2 R^1 = -R^2R1=−R2。
- 混合 (Mixed):既有合作又有竞争(如足球比赛中,队内合作,队外竞争)。
3. 核心挑战一:环境的非平稳性 (Non-Stationarity)
这是面试中最常被问到的 MARL 难点,也是导致单智能体算法(如 DQN, PPO)直接套用到 MARL 效果极差的根本原因。
3.1 什么是“移动的靶子”?
在单智能体 RL 中,环境的状态转移概率P ( s ′ ∣ s , a ) P(s'|s,a)P(s′∣s,a)是客观存在的物理规律,是平稳的 (Stationary)。
但在 MARL 中,对于智能体i ii来说,它的环境包含了两部分:物理环境 + 其他智能体。
当我们分析智能体i ii的状态转移时,实际上隐含了其他智能体的策略π − i \pi^{-i}π−i:
P ( s ′ ∣ s , a i ) = ∑ u − i P ( s ′ ∣ s , a i , u − i ) ⋅ π − i ( u − i ∣ s ) P(s' | s, a^i) = \sum_{\mathbf{u}^{-i}} P(s' | s, a^i, \mathbf{u}^{-i}) \cdot \pi^{-i}(\mathbf{u}^{-i} | s)P(s′∣s,ai)=u−i∑P(s′∣s,ai,u−i)⋅π−i(u−i∣s)
问题来了:在训练过程中,其他智能体π − i \pi^{-i}π−i也在不断学习、更新参数。
- 昨天,Agent A 往左走,Agent B 会避让它(环境反馈好)。
- 今天,Agent B 升级了策略,决定硬刚,Agent A 往左走撞车了(环境反馈变了)。
对于 Agent A 来说,同样的s ss和a i a^iai,得到的反馈分布却随时间在变。这就是非平稳性。
3.2 为什么 Experience Replay 会失效?
DQN 极其依赖经验回放池 (Experience Replay Buffer)。其假设是:历史数据( s , a , r , s ′ ) (s, a, r, s')(s,a,r,s′)在当前依然有效,依然服从环境的分布。
但在 MARL 中:
- Buffer 里的旧数据是基于旧的对手策略生成的。
- 当前的对手策略已经变了。
- 如果拿旧数据来训练现在的 Agent,相当于教它“如何打败昨天的对手”,而不是今天的对手。
解决方案思路:这就是为什么会有MADDPG或MAPPO(Centralized Training Decentralized Execution, CTDE)架构。通过在训练时引入全局信息,把“不平稳”的对手动作显式地输入到 Critic 中,让环境重新变得“平稳”。
4. 核心挑战二:维度的诅咒与组合爆炸
在单智能体中,动作空间是∣ A ∣ |\mathcal{A}|∣A∣。
在多智能体中,联合动作空间是指数级增长的:∣ A ∣ N |\mathcal{A}|^N∣A∣N。
- 假设有 10 个智能体,每个智能体只有 4 个动作。
- 联合动作空间大小为4 10 ≈ 1 , 000 , 000 4^{10} \approx 1,000,000410≈1,000,000。
这意味着 Q-table 根本存不下,甚至普通的神经网络 Q-Network 要探索完所有动作组合也变得不可能。
后果:
智能体很难学到精细的配合,往往陷入局部最优。例如,两个机器人需要同时按按钮才能开门,随机探索到“同时按下”的概率极低,导致它们可能永远学不会开门。
5. 核心挑战三:信息结构与信誉分配
5.1 局部观测 (Partial Observability)
在 MARL 中,通常假设智能体只能看到局部视野(Local Observationo i o^ioi),而不是全局状态S SS。这使得问题变成了Dec-POMDP(Decentralized Partially Observable MDP)。智能体必须学会沟通(Communication)或推断对手意图。
5.2 信誉分配难题 (Credit Assignment)
当团队获得胜利(Reward = +1)时,是谁的功劳?
- 是前锋射门进球的功劳?
- 还是后卫成功抢断的功劳?
- 或者是那个一直在场上梦游的 Agent 只是“躺赢”?
这就是Multi-Agent Credit Assignment问题。如果无法准确分配奖励,就会出现Lazy Agent(偷懒智能体),它发现自己什么都不做也能拿团队奖励,从而导致策略退化。
- 经典算法 COMA (Counterfactual Multi-Agent Policy Gradients)就是通过计算“如果我换个动作,团队得分会变多少”来解决这个问题的。
6. 总结与展望
从单智能体到多智能体,绝不仅仅是1 → N 1 \to N1→N的数量增加,而是从优化问题 (Optimization)变成了博弈问题 (Game Theory)。
| 维度 | 单智能体 RL (SARL) | 多智能体 RL (MARL) |
|---|---|---|
| 环境特性 | 平稳 (Stationary) | 非平稳 (Non-Stationary) |
| 优化目标 | 最大化自身回报 | 纳什均衡 / 帕累托最优 / 团队最大化 |
| 状态转移 | P ( s ′ ∣ s , a ) P(s'|s, a)P(s′∣s,a) | P ( s ′ ∣ s , u ) P(s'|s, \mathbf{u})P(s′∣s,u)(依赖所有人) |
| 主要痛点 | 探索与利用 | 信誉分配、非平稳性、维度爆炸 |
掌握 MARL 的基础概念后,下一步你可以深入研究CTDE 架构(如 QMIX, MAPPO),这是目前解决上述挑战最主流的框架。
*希望这篇文章能帮你建立起 MARL 的世界观!如有疑问,欢迎评论区讨论 *