RL 学习笔记(四):基于模型的方法与多智能体
2025-12-19 · Qi Lu · Views:
本文是强化学习系列的第四篇,介绍 Model-Based RL 和 Multi-Agent RL 的核心概念,从样本效率的追求出发,讲解 World Model、Dyna 架构、MCTS,最后以 AlphaGo/AlphaZero 为例展示这些技术的强大组合,并介绍博弈论基础和 Self-Play 方法。
引言:样本效率的追求
核心问题
前三章介绍的 Model-Free 方法(Q-Learning、Policy Gradient、PPO)虽然强大,但有一个共同的缺陷:
样本效率极低——训练一个 Atari 游戏 agent 需要数亿帧画面,相当于人类玩数百小时。而人类通常只需几分钟就能学会基本操作。为什么会有如此巨大的差距?
关键区别在于:人类在脑中有一个世界模型。当我们想象”如果我这样做会发生什么”时,我们在用这个模型进行心智模拟(mental simulation),而不需要真正尝试。
Model-Based RL 的核心思想正是:学习或利用环境模型,通过规划(Planning)来提高样本效率。
Model-Free vs Model-Based
根据是否使用环境模型,RL 方法分为两大类:
Model-Free 与 Model-Based
- Model-Free:不学习或使用环境模型,直接从真实经验中学习价值函数或策略
- Model-Based:学习或利用环境模型 $\hat{P}(s’|s,a)$, $\hat{R}(s,a)$,在模型中进行规划
| 特性 | Model-Free | Model-Based |
|---|---|---|
| 环境模型 | 不需要 | 需要(已知或学习) |
| 样本效率 | 低 | 高 |
| 计算开销 | 低 | 高(规划) |
| 模型误差 | 无 | 可能累积 |
| 适用场景 | 模型难以获取 | 模型已知或易学 |
| 典型算法 | Q-Learning, PPO | Dyna, MCTS, MuZero |
Model-Based RL 概述
World Model 的定义
World Model 是对环境动力学的估计,包括:
- 状态转移模型:$\hat{P}(s’|s,a) \approx P(s’|s,a)$
- 奖励模型:$\hat{R}(s,a) \approx R(s,a)$
有了 World Model,agent 可以在”脑中”模拟动作的后果,而不需要真正执行。
World Model 的来源有两种:
- 已知规则:如棋类游戏的规则、物理引擎的方程
- 优点:模型精确,无误差
- 缺点:仅适用于规则完全已知的领域
- 从数据学习:用神经网络从交互经验中学习
- 优点:适用于复杂环境
- 缺点:模型存在误差
学习 World Model
学习 World Model 本质上是一个监督学习问题。给定经验数据 $\{(s_t, a_t, r_t, s_{t+1})\}$:
- 确定性模型:直接预测下一状态
- 概率模型:预测状态分布
- 隐空间模型:在低维隐空间中预测
注意:现代 World Model 方法(如 Dreamer、MuZero)通常在隐空间中进行预测,避免直接预测高维原始观测(如图像),大大降低了学习难度。
Model Bias 问题
Model Bias / Model Error:当学习的模型 $\hat{P}, \hat{R}$ 与真实环境 $P, R$ 存在差异时,在模型中规划得到的策略在真实环境中可能表现不佳。
Model Bias 的关键问题是误差累积(Error Compounding):
误差 $\epsilon_t$ 随步数增加:$\epsilon_1 < \epsilon_2 < \epsilon_3 < \epsilon_4$
误差累积上界定理:设单步模型误差为 $\epsilon = \max_{s,a} |\hat{P}(\cdot|s,a) - P(\cdot|s,a)|_1$,则 $H$ 步规划的总变差距离上界为:
\[\text{TV}(\hat{P}^H, P^H) \leq H \cdot \epsilon\]即误差随规划步数线性累积。
缓解 Model Bias 的策略:
- 短期规划:只用模型做短期预测(如 Dyna 中的 1-step)
- 集成模型:训练多个模型,用不确定性指导探索
- 持续校正:用真实数据不断更新模型
- 隐空间规划:在抽象空间中规划(如 MuZero)
Planning 方法
有了环境模型,下一步是利用模型进行规划(Planning)。根据规划时机,分为两类:
Background Planning vs Decision-time Planning
- Background Planning:在与真实环境交互之外,利用模型生成模拟经验来训练策略
- Decision-time Planning:在需要做决策时,利用模型进行前向搜索,选择最优动作
Dyna 架构
Dyna 是 Background Planning 的经典框架,由 Sutton 于 1991 年提出。其核心思想是:每次真实交互后,用模型生成多次模拟经验来加速学习。
每步真实交互可生成 $n$ 步模拟
Dyna 的核心优势:
- 样本效率提升:每次真实交互可产生 n 次模拟学习
- 灵活的计算-样本权衡:增大 n 可用更多计算换取更少真实交互
- 渐进收敛:当模型准确时,理论上与直接学习收敛到相同策略
Decision-time Planning
与 Background Planning 不同,Decision-time Planning 在每次决策时进行规划:
- 从当前状态出发,用模型模拟多条可能的轨迹
- 评估每条轨迹的回报
- 选择最优的第一步动作
- 执行后重新规划(不保存中间结果)
Decision-time Planning 的特点:
- 计算集中:所有计算都为当前决策服务
- 动态精度:可根据需要调整搜索深度和广度
- 无需训练:可直接用于测试时
最著名的 Decision-time Planning 方法是 Monte Carlo Tree Search (MCTS)。
Monte Carlo Tree Search (MCTS)
MCTS 是一种基于树搜索的 Decision-time Planning 方法,广泛应用于棋类游戏和组合优化问题。
MCTS 的核心思想
MCTS 的目标是在有限的计算预算内,估计当前状态下各动作的价值。其核心思想是:有选择性地扩展搜索树,把计算资源集中在最有希望的分支上。
如何决定哪个分支”最有希望”?这需要平衡利用(选择已知好的分支)和探索(尝试不确定的分支)。
MCTS 四步流程
MCTS 的每次迭代包含四个步骤:
- Selection:沿树用 UCB 选择子节点
- Expansion:扩展一个新子节点
- Evaluation:Rollout 或价值网络评估
- Backup:沿路径更新统计
-
Selection(选择):从根节点开始,使用树策略(如 UCB)递归选择子节点,直到到达叶节点(未完全扩展的节点)。
-
Expansion(扩展):如果叶节点不是终止状态,根据可行动作扩展一个或多个新的子节点。
-
Evaluation(评估):评估新扩展节点的价值。传统方法使用 rollout(随机模拟到终局);现代方法使用价值网络直接估计。
-
Backup(回溯):将评估值沿选择路径回传,更新路径上所有节点的访问次数 $N$ 和价值估计 $Q$。
UCB 公式
Selection 阶段的核心是 UCB(Upper Confidence Bound)公式,它优雅地平衡了利用与探索:
UCB for Trees (UCT)
在 Selection 阶段,选择最大化以下值的动作:
\[\text{UCB}(s, a) = \underbrace{Q(s, a)}_{\text{利用}} + \underbrace{c \sqrt{\frac{\ln N(s)}{N(s, a)}}}_{\text{探索}}\]其中:
- $Q(s, a)$:动作 $a$ 的平均价值估计(从历史模拟中统计)
- $N(s)$:状态 $s$ 的总访问次数
- $N(s, a)$:在状态 $s$ 执行动作 $a$ 的次数
- $c$:探索系数,控制探索-利用权衡
UCB 的直觉理解:
- 利用项 $Q(s,a)$:选择历史表现好的动作
- 探索项:选择访问次数少的动作(不确定性高)
- 随着访问次数增加,探索奖励逐渐减小,最终由利用主导
- $c$ 越大,越倾向探索;$c$ 越小,越倾向利用
MCTS 算法
重要:MCTS 最终选择动作的标准:
- 训练/搜索时:用 UCB(平衡探索-利用)
- 最终决策时:选择访问次数最多的动作(更稳健)
选择访问次数而非平均价值,因为高访问次数意味着高置信度。
AlphaGo 与 AlphaZero
AlphaGo 和 AlphaZero 是 MCTS + 深度学习 + Self-Play 的里程碑式成果。
围棋的挑战
围棋被认为是 AI 最难攻克的棋类游戏:
- 搜索空间巨大:平均每步有 $\sim 200$ 种合法走法,一局棋约 $200$ 步,总状态数 $\sim 10^{170}$
- 局面评估困难:不像国际象棋有明确的子力价值,围棋的局面优劣难以量化
- 长期规划:需要考虑数十步后的战略影响
传统围棋 AI 使用穷举搜索 + 手工评估函数,水平仅达业余段位。
AlphaGo 架构(2016)
AlphaGo 在 2016 年以 4:1 击败世界冠军李世石,其架构包括:
- Policy Network $p_\theta(a|s)$:
- 输入:棋盘状态(多通道特征)
- 输出:每个位置的落子概率
- 训练:先用人类棋谱监督学习,再用 Policy Gradient 自我对弈强化
- Value Network $v_\phi(s)$:
- 输入:棋盘状态
- 输出:当前局面的胜率估计 $v_\phi(s) \approx \mathbb{E}[z|s]$,其中 $z \in \{-1, +1\}$
- 训练:用自我对弈生成的 $(s, z)$ 数据监督学习
- 改进的 MCTS:
- Selection:使用 Policy Network 指导(PUCT 公式)
- Evaluation:混合 Value Network 和 rollout
AlphaZero 的简化与超越(2017)
AlphaZero 在 2017 年大幅简化了 AlphaGo 的设计,却取得了更强的性能:
| 特性 | AlphaGo | AlphaZero |
|---|---|---|
| 人类棋谱 | 需要(监督预训练) | 不需要 |
| 网络结构 | Policy + Value 分离 | 统一网络 |
| Rollout | 需要 | 不需要 |
| 特征工程 | 手工设计特征 | 原始棋盘输入 |
| 训练时间 | 数月 | 数小时 |
| 适用游戏 | 仅围棋 | 围棋、国际象棋、将棋 |
单个网络同时输出策略分布和价值估计,共享底层表示,参数更少,训练更高效
AlphaZero 训练循环
AlphaZero 的训练是一个自我增强的循环:
正向循环:更好的网络 → 更好的搜索 → 更好的训练数据 → 更好的网络
其中损失函数各项含义:
- $(z - v_\theta(s))^2$:价值损失,让价值预测接近游戏结果
- $-\pi_{\text{MCTS}}^\top \log p_\theta(s)$:策略损失,让策略接近 MCTS 搜索结果
- $c|\theta|^2$:L2 正则化项
AlphaZero 的核心洞察:
- MCTS 作为策略改进:搜索产生的 $\pi_{\text{MCTS}}$ 比原始网络 $p_\theta$ 更好
- 网络学习搜索:网络被训练去模仿 MCTS 的输出
- 正向循环:更好的网络 → 更好的搜索 → 更好的训练数据 → 更好的网络
这个循环不需要任何人类知识,完全从零开始(tabula rasa)学习。
Multi-Agent RL 基础
当环境中存在多个 agent 时,问题变得更加复杂。
从单 Agent 到多 Agent
核心问题:当其他 agent 也在学习和改变策略时,环境对单个 agent 来说是非稳态的。这打破了 MDP 的基本假设。
在 Multi-Agent 环境中,状态转移和奖励不仅依赖于自己的动作,还依赖于其他 agent 的动作:
\[P(s'|s, a_1, a_2, \ldots, a_n), \quad R_i(s, a_1, a_2, \ldots, a_n)\]当其他 agent 的策略 $\pi_{-i}$ 在学习过程中变化时,从 agent $i$ 的视角看,环境是非稳态的。
非稳态性的影响:
- 单 agent RL 的收敛性保证不再适用
- 最优响应策略随对手策略而变化
- 可能出现策略震荡,无法收敛
博弈论基础
Multi-Agent 问题可以用博弈论的语言来描述。
Normal-form Game
一个 $n$ 人博弈由以下元素组成:
- 玩家集合:$\mathcal{N} = \{1, 2, \ldots, n\}$
- 策略空间:每个玩家 $i$ 的策略集合 $\mathcal{A}_i$
- 效用函数:$u_i: \mathcal{A}_1 \times \cdots \times \mathcal{A}_n \to \mathbb{R}$,表示每种策略组合下玩家 $i$ 的收益
囚徒困境示例:
两个嫌犯被分开审讯,各自选择”合作”(沉默)或”背叛”(坦白):
| 玩家2: 合作 | 玩家2: 背叛 | |
|---|---|---|
| 玩家1: 合作 | (-1, -1) | (-3, 0) |
| 玩家1: 背叛 | (0, -3) | (-2, -2) |
分析:
- 无论对方如何选择,”背叛”对自己都更有利(支配策略)
- 结果:双方都背叛,各获 -2
- 但如果双方都合作,各获 -1(帕累托更优)
合作与竞争设定
Multi-Agent 场景主要分为两类:
- 合作(Cooperative):所有 agent 共享奖励,最大化团队总收益
- 例:多机器人协作搬运、多 agent 协调导航
- 挑战:信用分配(Credit Assignment)——哪个 agent 贡献了多少?
- 方法:集中训练、分布式执行(CTDE)
- 竞争/零和(Competitive/Zero-sum):一方获益等于另一方损失
- 例:棋类游戏、对抗博弈
- 特点:$u_1 + u_2 = 0$
- 目标:找到 Nash 均衡
Nash 均衡
Nash 均衡
策略组合 $(\pi_1^*, \pi_2^*, \ldots, \pi_n^*)$ 是 Nash 均衡,当且仅当没有任何玩家有动机单方面改变自己的策略:
\[\forall i, \forall \pi_i: \quad u_i(\pi_i^*, \pi_{-i}^*) \geq u_i(\pi_i, \pi_{-i}^*)\]其中 $\pi_{-i}^*$ 表示除玩家 $i$ 外所有玩家的策略。
Nash 均衡的含义:
- 每个玩家都在对其他玩家的策略做最优响应
- 是一种稳定状态:没有人有动机单方面偏离
- 不一定是全局最优(如囚徒困境中双方背叛是 Nash 均衡,但不是帕累托最优)
石头剪刀布的 Nash 均衡:
| 石头 | 剪刀 | 布 | |
|---|---|---|---|
| 石头 | (0, 0) | (1, -1) | (-1, 1) |
| 剪刀 | (-1, 1) | (0, 0) | (1, -1) |
| 布 | (1, -1) | (-1, 1) | (0, 0) |
Nash 均衡:双方都以 $(\frac{1}{3}, \frac{1}{3}, \frac{1}{3})$ 的概率随机选择。
任何确定性策略都可以被对手利用,只有混合策略(随机化)才能达到均衡。
Nash 均衡存在性定理:每个有限博弈(有限玩家、有限策略)至少存在一个 Nash 均衡(可能是混合策略均衡)。
Self-Play 方法
Self-Play 是训练博弈 AI 的强大方法,也是 AlphaGo/AlphaZero 成功的关键之一。
Self-Play 的定义
Self-Play:Agent 与自己(或自己的历史版本)进行对弈,从对弈经验中学习改进策略。
Self-Play 的优势
-
无限数据:可以生成任意多的对弈数据,不受人类对局数量限制
- 自适应难度:对手随自己一起变强,始终提供适当的挑战
- 初期:对手弱,容易学习基本策略
- 后期:对手强,推动学习高级策略
- 发现新策略:不受人类先验知识限制,可能发现人类未知的创新策略
- AlphaGo 的”肩冲”等新招法震惊了职业棋手
- 逼近 Nash 均衡:在零和博弈中,Self-Play 在理论上收敛到 Nash 均衡
Self-Play 的挑战
- 策略遗忘:
- 当策略更新后,可能”忘记”如何对付旧策略
- 解决:维护历史对手池(Opponent Pool),随机抽取对手
- 局部最优:
- 可能陷入”只擅长对付自己”的局部最优
- 例:两个版本互相克制,形成循环
- 解决:添加多样性奖励,或从对手池采样
- 评估困难:
- 没有固定基准来衡量进步
- 解决:用 Elo 评分系统或与固定对手对战
Self-Play 与 Nash 均衡的关系:
- 在两人零和博弈中,如果 Self-Play 收敛,则收敛到 Nash 均衡
- 直觉:Nash 均衡是”最优响应的不动点”,Self-Play 就是迭代求最优响应
- 但收敛不保证——可能出现策略循环
本章总结
- Model-Based RL 利用环境模型提高样本效率
- World Model = 状态转移 + 奖励模型
- Model Bias:模型误差会累积,需要短期规划或持续校正
- Dyna 架构结合直接学习与规划
- 每次真实交互后,用模型生成 n 次模拟经验
- 提供计算-样本的灵活权衡
- MCTS 是 Decision-time Planning 的代表
- 四步流程:Selection, Expansion, Evaluation, Backup
- UCB 公式平衡探索与利用
- AlphaGo/AlphaZero 展示了 MCTS + 深度学习 + Self-Play 的强大组合
- AlphaZero 从零开始,无需人类知识
- 核心循环:MCTS 改进策略 → 网络学习搜索 → 正向增强
- Multi-Agent RL 面临非稳态性挑战
- Nash 均衡:稳定的策略组合
- Self-Play:训练博弈 AI 的有效方法
AlphaZero = MCTS + Policy Network + Value Network + Self-Play
下一篇博客将进入 LLM 与 RL 的结合领域,介绍 RLHF 和 DPO 等用于语言模型对齐的方法。
Comments