跳转至

多智能体强化学习算法

概述

本文详细介绍 MARL 的核心算法族,包括价值分解方法 (VDN, QMIX)、多智能体策略梯度 (MAPPO, MADDPG)、通信机制 (CommNet, TarMAC),以及涌现通信等前沿方向。


1. 价值分解方法

1.1 核心思想

在合作 MARL 中,学习联合动作价值函数 \(Q_{tot}(s, \mathbf{a})\) 面临维度爆炸。价值分解将团队 Q 值分解为个体 Q 值的某种组合:

\[Q_{tot}(s, a_1, \dots, a_N) = f(Q_1(o_1, a_1), Q_2(o_2, a_2), \dots, Q_N(o_N, a_N))\]

关键约束: 个体贪心 (Individual-Global-Max, IGM):

\[\arg\max_{\mathbf{a}} Q_{tot}(s, \mathbf{a}) = \begin{pmatrix} \arg\max_{a_1} Q_1(o_1, a_1) \\ \vdots \\ \arg\max_{a_N} Q_N(o_N, a_N) \end{pmatrix}\]

即每个智能体独立选择使自己 Q 值最大的动作,等价于最大化团队 Q 值。

1.2 VDN: 价值分解网络

方法: 简单加法分解

\[Q_{tot}(s, \mathbf{a}) = \sum_{i=1}^N Q_i(o_i, a_i)\]

IGM 满足性: 加法自动满足 IGM,因为:

\[\arg\max_{\mathbf{a}} \sum_i Q_i = \left(\arg\max_{a_1} Q_1, \dots, \arg\max_{a_N} Q_N\right)\]

优点: - 简单直接 - 天然满足 IGM - 执行时完全分布式

缺点: - 表示能力受限(只能表示加法可分解的价值函数) - 无法建模智能体间的交互效应

1.3 QMIX: 单调混合网络

方法: 用混合网络组合个体 Q 值,保证单调性:

\[Q_{tot} = f_{mix}(Q_1, Q_2, \dots, Q_N; s)\]

单调性约束:

\[\frac{\partial Q_{tot}}{\partial Q_i} \geq 0, \quad \forall i\]

实现: 混合网络的权重由全局状态 \(s\) 通过超网络 (Hypernetwork) 生成,且权重非负:

超网络:
  s → HyperNet_w1 → |abs| → W1 (混合网络第一层权重)
  s → HyperNet_b1 → B1 (混合网络第一层偏置)
  s → HyperNet_w2 → |abs| → W2 (混合网络第二层权重)
  s → HyperNet_b2 → B2 (混合网络第二层偏置)

混合网络:
  [Q1, Q2, ..., QN] → Linear(W1, B1) → ELU → Linear(W2, B2) → Q_tot

关键设计: - 权重取绝对值保证非负 → 单调性 - 偏置不受约束 → 增加表示能力 - 超网络以全局状态为条件 → 利用额外信息

IGM 满足性: 单调性保证:

\[\arg\max_{a_i} Q_i \Rightarrow Q_{tot} \text{ 也在该方向增大}\]

QMIX 架构图

graph TB
    subgraph Agents["各智能体 Q 网络"]
        O1[o1] --> Q1["Q1(o1, a1)"]
        O2[o2] --> Q2["Q2(o2, a2)"]
        ON[oN] --> QN["QN(oN, aN)"]
    end

    subgraph Mixing["混合网络"]
        Q1 --> MIX[Mixing Network]
        Q2 --> MIX
        QN --> MIX
        MIX --> QTOT["Q_tot"]
    end

    subgraph Hyper["超网络"]
        S[全局状态 s] --> HN[HyperNetworks]
        HN -->|权重/偏置| MIX
    end

    style Agents fill:#e3f2fd
    style Mixing fill:#fff3e0
    style Hyper fill:#e8f5e9

1.4 价值分解方法对比

方法 分解方式 表示能力 额外信息 年份
VDN 加法 2018
QMIX 单调混合 全局状态 2018
QTRAN 线性约束 全局状态 2019
QPLEX 对偶分解 全局状态 2021
WQMIX 加权QMIX 中+ 全局状态 2020

QMIX 的局限

QMIX 的单调性约束意味着它无法表示所有可能的联合 Q 函数。例如,非单调的协调任务(如某些矩阵博弈)可能导致 QMIX 失败。QTRAN 和 QPLEX 试图解决这个问题,但计算代价更高。


2. 多智能体策略梯度

2.1 MADDPG: 多智能体 DDPG

核心思想: CTDE 框架下的多智能体 Actor-Critic,每个智能体有独立的 Actor,但 Critic 使用所有智能体的信息。

架构: - Actor \(\mu_{\theta_i}(o_i)\): 只用局部观测,分布执行 - Critic \(Q_{\phi_i}(s, a_1, \dots, a_N)\): 用全局信息,集中训练

Critic 更新:

\[\mathcal{L}(\phi_i) = \mathbb{E}\left[\left(Q_{\phi_i}(s, a_1, \dots, a_N) - y_i\right)^2\right]\]
\[y_i = r_i + \gamma Q_{\phi_i'}(s', a_1', \dots, a_N') \big|_{a_j' = \mu_{\theta_j'}(o_j')}\]

Actor 更新:

\[\nabla_{\theta_i} J = \mathbb{E}\left[\nabla_{a_i} Q_{\phi_i}(s, a_1, \dots, a_N) \big|_{a_i = \mu_{\theta_i}(o_i)} \nabla_{\theta_i} \mu_{\theta_i}(o_i)\right]\]

特点: - 适用于合作、竞争和混合场景 - 处理连续动作空间 - 训练时需要所有智能体的观测和动作

2.2 MAPPO: 多智能体 PPO

核心思想: 将 PPO 扩展到多智能体设置,惊人地简单却非常有效。

架构: - Actor \(\pi_{\theta_i}(a_i|o_i)\): 局部观测,独立策略 - Critic \(V_{\phi}(s)\): 全局状态,共享或独立

策略目标 (每个智能体):

\[L_i^{CLIP} = \mathbb{E}\left[\min\left(r_t^i \hat{A}_t^i, \text{clip}(r_t^i, 1-\epsilon, 1+\epsilon) \hat{A}_t^i\right)\right]\]

关键设计选择:

设计 选项 MAPPO 推荐
参数共享 共享/独立 共享 (加 agent ID)
Critic 输入 局部/全局 全局状态
价值归一化 PopArt/标准化 PopArt
数据使用 单次/多次 多次 (5-15 epoch)

为什么 MAPPO 这么有效?

  • PPO 的裁剪机制天然防止过大更新,在非平稳环境中更稳定
  • 参数共享显著提高样本效率
  • 简单架构易于调优和复现
  • 在 SMAC 等基准上超过或匹配 QMIX

2.3 MADDPG vs MAPPO 对比

特性 MADDPG MAPPO
策略类型 确定性 随机
动作空间 连续 离散/连续
数据利用 Off-policy (经验回放) On-policy (无回放)
Critic 每个智能体独立 可共享
适用场景 竞争/混合 合作为主
实现复杂度
性能 通常更好(合作任务)

3. 通信机制

3.1 为什么需要通信?

在部分可观测环境中,智能体的局部观测不足以做出最优决策。通信允许智能体:

  • 共享局部信息
  • 协调动作
  • 传达意图
  • 请求帮助

3.2 CommNet: 通信神经网络

核心思想: 智能体通过连续通信向量交换信息,通信集成在前向传播中。

架构:

每个智能体 \(i\) 在每个通信轮次 \(k\):

\[h_i^{k+1} = \sigma\left(W^k h_i^k + C^k \bar{c}_i^k\right)\]

其中通信消息是其他所有智能体隐状态的平均:

\[\bar{c}_i^k = \frac{1}{N-1} \sum_{j \neq i} h_j^k\]

特点: - 端到端可微,可以通过反向传播训练 - 通信结构预定义(全连接) - 多轮通信逐步精炼信息

3.3 TarMAC: 目标化多智能体通信

核心改进: 使用注意力机制实现选择性通信,智能体可以决定听谁的消息。

注意力通信:

  1. 每个智能体 \(i\) 生成:

    • 消息 \(m_i\): 要发送的信息
    • 签名 \(k_i\): 消息的"标签"
  2. 接收者 \(j\) 计算注意力权重:

\[\alpha_{j \leftarrow i} = \text{softmax}_i\left(\frac{q_j \cdot k_i}{\sqrt{d}}\right)\]
  1. 加权聚合消息:
\[c_j = \sum_{i \neq j} \alpha_{j \leftarrow i} \cdot v_i\]

优势: - 动态选择通信对象 - 可解释(注意力权重可视化) - 自动学习通信协议

3.4 通信方法对比

方法 通信结构 通信内容 选择性 年份
CommNet 全连接平均 连续向量 2016
IC3Net 门控通信 连续向量 是(二值门) 2019
TarMAC 注意力加权 连续向量 是(软注意力) 2019
DIAL 直接梯度传递 离散/连续 2016
ATOC 动态分组 连续向量 是(分组) 2018

4. 涌现通信 (Emergent Communication)

4.1 什么是涌现通信?

不预定义通信协议,让智能体通过 RL 自发学习通信语言:

  • 通信通道是动作空间的一部分
  • 消息内容和语义完全由智能体学习决定
  • 可以发现人类未曾设想的通信策略

4.2 关键发现

  • 语言涌现: 智能体可以发展出具有组合性的"语言"
  • 指称博弈: Lewis signaling game 中的信号语义涌现
  • 语言漂移: 从人类语言预训练后,智能体可能偏离人类语言
  • 可解释性: 涌现语言通常难以被人类解读

4.3 挑战

  • 离散消息导致梯度不可微 → Gumbel-Softmax 或 REINFORCE
  • 通信协议不稳定
  • 难以与人类语言对齐
  • 评估涌现语言的质量

5. 经典案例: OpenAI Five

5.1 系统概述

OpenAI Five 在 Dota 2 (5v5 MOBA 游戏) 中击败世界冠军,是 MARL 最具影响力的应用之一。

5.2 技术方案

组件 选择
算法 大规模 PPO (类似 IPPO)
策略网络 LSTM (每个英雄独立)
参数共享 是 (所有英雄共享)
通信 无显式通信
训练规模 ~800 petaflop-days/天
自我对弈 80% 当前版本 + 20% 历史版本
奖励 团队奖励 + 个体奖励塑形

5.3 关键洞察

  1. 规模即一切: 巨大的计算规模弥补了算法简单性
  2. 参数共享有效: 所有英雄共享参数 + agent ID
  3. 无需显式通信: 隐式协调通过共享训练实现
  4. 长期信用分配: 通过精细的奖励塑形缓解
  5. PPO 的鲁棒性: 在大规模非平稳训练中表现稳定

5.4 启示

  • 简单算法 + 大规模计算可以解决极其复杂的 MARL 问题
  • 参数共享是提高效率的关键技巧
  • 奖励工程在 MARL 中至关重要

6. 算法总结与选择

6.1 算法对比表

算法 范式 动作空间 场景 复杂度 性能
IQL 独立 离散 通用
VDN CTDE-价值分解 离散 合作
QMIX CTDE-价值分解 离散 合作
MADDPG CTDE-策略梯度 连续 通用
MAPPO CTDE-策略梯度 离散/连续 合作 很好
CommNet CTDE-通信 离散 合作
TarMAC CTDE-通信 离散 合作

6.2 选择指南

合作任务:
  ├── 离散动作 + 需要价值分解 → QMIX
  ├── 离散/连续 + 简单高效 → MAPPO
  ├── 需要通信 → TarMAC / CommNet
  └── 大规模智能体 → MAPPO + 参数共享

竞争/混合任务:
  ├── 连续动作 → MADDPG
  ├── 离散动作 → MAPPO
  └── 需要多样性 → 联盟训练 (League Training)

不确定时:
  └── 先尝试 MAPPO (简单、鲁棒、通常足够好)

7. 实践建议

7.1 常见陷阱

  1. 忽略超参数调优: MARL 对超参数更敏感
  2. 评估不充分: 需要多种子、多对手评估
  3. 奖励设计不当: 个体奖励与团队目标冲突
  4. 忽略可扩展性: 算法在小规模有效不代表大规模也行
  5. 通信开销: 通信方法可能引入巨大的计算开销

7.2 推荐工具和框架

框架 特点
EPyMARL SMAC 基准,多种算法实现
MARLlib 统一接口,10+ 环境,20+ 算法
PettingZoo 标准化多智能体环境接口
OpenSpiel 博弈论 + MARL
Melting Pot 社会智能评估

参考资料

  • Sunehag, P. et al. (2018). Value-Decomposition Networks for Cooperative Multi-Agent Learning. AAMAS.
  • Rashid, T. et al. (2018). QMIX: Monotonic Value Function Factorisation. ICML.
  • Lowe, R. et al. (2017). Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments. NeurIPS.
  • Yu, C. et al. (2022). The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games. NeurIPS.
  • Sukhbaatar, S. et al. (2016). Learning Multiagent Communication with Backpropagation. NeurIPS.
  • Das, A. et al. (2019). TarMAC: Targeted Multi-Agent Communication. ICML.
  • Berner, C. et al. (2019). Dota 2 with Large Scale Deep Reinforcement Learning.

延伸阅读


评论 #