多智能体强化学习简介
1. 背景与动机
多智能体强化学习(Multi-Agent Reinforcement Learning, MARL)研究多个智能体在共享环境中同时学习和决策的问题。
1.1 为什么需要MARL?
单智能体RL 多智能体RL
┌─────────────┐ ┌─────────────┐
│ 智能体 A │ │ A ↔ B ↔ C │
│ ↓ │ │ ↓ │
│ 环境 │ │ 共享环境 │
└─────────────┘ └─────────────┘
局限: 优势:
- 单人游戏 - 多人游戏
- 简单机器人 - 多机器人协作
- 独立任务 - 分布式系统
1.2 应用场景
| 领域 | 应用 |
|---|---|
| 游戏 | 围棋(AlphaGo)、星际争霸、多人博弈 |
| 机器人 | 多机器人仓储、无人机编队 |
| 交通 | 交通信号控制、自动驾驶车队 |
| 能源 | 智能电网协调、分布式能源管理 |
| 通信 | 网络路由优化、频谱共享 |
2. 问题设置
2.1 数学定义
MARL通常建模为多人随机博弈:
其中:
- :智能体集合
- :联合状态空间
- :智能体 的动作空间
- :转移函数
- :智能体 的奖励函数
2.2 联合动作与联合策略
- 联合动作:
- 联合策略:
- 联合状态值函数:
- 联合Q函数:
3. MARL分类体系
3.1 按智能体关系分类
MARL
├── 合作式(Cooperative)
│ └── 所有智能体共享同一目标
│ → 团队奖励:r^1 = r^2 = ... = r^n
├── 竞争式(Competitive)
│ └── 智能体利益冲突
│ → 零和博弈:r^1 = -r^2
└── 混合式(Mixed/General-sum)
└── 既有合作也有竞争
→ 一般和博弈
3.2 按信息结构分类
| 范式 | 描述 | 特点 |
|---|---|---|
| 完全合作 | 共享奖励,信息完全 | 最简单 |
| CTDE | 中心化训练+去中心化执行 | 主流范式 |
| 去中心化 | 无中心节点,完全分布式 | 最困难 |
3.3 CTDE范式详解
CTDE(Centralized Training with Decentralized Execution)是最流行的MARL范式:
训练阶段(可利用全局信息):
┌────────────────────────────────────────────┐
│ 中心化 Critic │
│ Q(s, a¹, a², ..., aⁿ) │
│ │
│ 智能体1 智能体2 智能体3 │
│ ↓ ↓ ↓ │
│ π¹(·|s) π²(·|s) π³(·|s) │
│ │
│ 可观测:全局状态s,局部策略π │
└────────────────────────────────────────────┘
执行阶段(仅利用局部信息):
┌────────────────────────────────────────────┐
│ 智能体1 智能体2 智能体3 │
│ ↓ ↓ ↓ │
│ o¹(s) o²(s) o³(s) │
│ │
│ 仅可观测:局部观察oᵢ(s) │
└────────────────────────────────────────────┘
4. 核心挑战
4.1 非平稳性(Non-stationarity)
当多个智能体同时学习时,环境对每个智能体来说是非平稳的:
因为其他智能体的策略在变化。
影响:
- Q值不再稳定收敛
- 经验回放不再有效(数据分布变化)
4.2 信用分配(Credit Assignment)
在团队奖励下,如何确定每个智能体对团队成功的贡献?
场景:机器人足球
┌─────────────────────────────────┐
│ 进球得分! │
│ 传球 → 跑位 → 射门 │
│ ↑ ↑ ↑ │
│ 谁贡献最大? │
└─────────────────────────────────┘
4.3 维度灾难
联合动作空间随智能体数量指数增长:
| 智能体数 | 动作空间(各10) | 联合空间 |
|---|---|---|
| 1 | 10 | 10 |
| 2 | 10 | 100 |
| 5 | 10 | 100,000 |
| 10 | 10 | 10¹⁰ |
4.4 协调问题(Coordination)
智能体需要协调行动,但可能缺乏明确的通信机制:
场景:两智能体过窄门
┌─────────────────────────────────┐
│ 智能体A 智能体B │
│ ↓ ↓ │
│ 左侧门 ←门→ 右侧门 │
│ │
│ 需要协调:谁走哪边? │
└─────────────────────────────────┘
5. 均衡概念
5.1 Nash均衡
一个联合策略 是Nash均衡,当:
即没有任何智能体能通过单方面改变策略获得更高回报。
5.2 相关均衡(Correlated Equilibrium)
一种更容易达到的均衡,允许智能体间存在相关性:
def correlated_equilibrium(utilities):
"""
相关均衡条件
"""
for i in range(n_agents):
for a_i in actions[i]:
for a'_i in actions[i]:
# 智能体i不应该偏离推荐动作
expected_utility = sum(
p(action_profile) * utilities[i](action_profile)
for action_profile if action_profile[i] == a_i
)
deviation_utility = sum(
p(action_profile) * utilities[i](a'_i, action_profile[-i])
for action_profile if action_profile[i] == a_i
)
assert expected_utility >= deviation_utility6. 算法分类
6.1 值函数分解方法
核心思想:将联合Q函数分解为个体Q函数的组合。
| 算法 | 分解方式 | 代表论文 |
|---|---|---|
| VDN | 线性加和: | Sunehag et al. 2017 |
| QMIX | 单调混合: | Rashid et al. 2018 |
| QTRAN | 通用变换:无结构约束 | Son et al. 2019 |
6.2 策略梯度方法
| 算法 | 特点 | 代表论文 |
|---|---|---|
| COMA | 反事实基线 | Foerster et al. 2018 |
| MAVEN | 潜在变量协调 | Qian et al. 2019 |
| MADDPG | 中心化Critic | Lowe et al. 2017 |
6.3 通信方法
| 方法 | 描述 |
|---|---|
| DIAL | 可微分通信 |
| CommNet | 连续通信 |
| Receiver | 接收者网络 |
7. Benchmark环境
7.1 合作式环境
| 环境 | 描述 | 特点 |
|---|---|---|
| Multi-Agent Particle | 粒子环境 | 简单、快速 |
| 星际争霸微操 | StarCraft II | 复杂、真实 |
| Hanabi | 合作卡牌游戏 | 通信挑战 |
7.2 竞争式环境
| 环境 | 描述 |
|---|---|
| OpenSpiel | 游戏理论环境集合 |
| Neural MMO | 大规模多智能体RPG |
8. 发展趋势(2024-2025)
8.1 大语言模型+MARL
利用LLM进行智能体间的高层协调和推理。
8.2 图神经网络+MARL
使用GNN建模智能体间的拓扑关系。
8.3 安全MARL
确保多智能体系统的安全性和鲁棒性。