外观
基于模型的 RL 与世界模型
一句话定位:这一页讲清楚基于模型的强化学习(Model-based RL)——不直接学策略,而是先学"环境的动力学"(世界模型),再在脑内模拟中规划行动;读完后你能说清 model-free 与 model-based 的本质区别、理解 MPC/Dyna/Dreamer 三代技术路线、识别"模型误差陷阱",并用 AlphaGo 的视角重新理解"学习 × 搜索"。
一、Model-free vs Model-based:两条完全不同的路线
1. 核心区别:要不要"理解世界"
- Model-free(无模型):不学环境规律,直接用试错样本改进价值/策略。它只回答"怎么做"(怎么选动作),不回答"世界怎么运转"。
- Model-based(基于模型):先学"如果我做 a,世界会变成什么样、给我什么奖励"(转移 + 奖励),然后在学到的世界模型里做规划。它多回答了一个问题:"如果我这样做会怎样?"
text
Model-free: 样本 ──▶ 价值/策略(跳过"理解")
只学"该怎么做"
Model-based: 样本 ──▶ 世界模型(ŝ, r̂) ──▶ 脑内规划 ──▶ 行动
先学"世界规律",再用规律推演未来2. 对比表
| 维度 | Model-free | Model-based |
|---|---|---|
| 学的对象 | Q(s,a) / π(a | s) |
| 样本效率 | 低(几百万步起) | 高(几万步甚至更少) |
| 最终策略来源 | 直接优化 | 从模型里规划/蒸馏出来 |
| 泛化到新任务 | 差(重新学) | 好(模型可复用、可重规划) |
| 主要风险 | 样本烧钱 | 模型误差(想象偏差) |
| 代表 | DQN、PPO、SAC | Dyna、Dreamer、TD-MPC、MuZero |
一句话直觉
Model-free 像"靠刷题刷出题感",Model-based 像"先把物理规律搞清楚再解题"。前者样本烧得多但简单粗暴,后者样本省但"要是规律学错了就全错了"。
二、学一个世界模型:转移 + 奖励
1. 形式化:前向模型(forward model)
世界模型要预测给定状态和动作后的结果:
$$ \hat s_{t+1} = f_\phi(s_t, a_t), \qquad \hat r_{t+1} = g_\psi(s_t, a_t) $$
训练目标就是监督学习:用真实交互数据 $(s_t, a_t, s_{t+1}, r_{t+1})$,最小化预测误差。
$$ \mathcal{L} = \mathbb{E}\left[ | \hat s_{t+1} - s_{t+1} |^2 + \text{MSE}(\hat r_{t+1}, r_{t+1}) \right] $$
2. 三个关键技术选择
| 选择 | 说明 | 代表 |
|---|---|---|
| 状态空间 | 在原始像素上预测 vs 在低维潜空间预测 | 后者(Dreamer)样本效率高几个量级 |
| 确定性 vs 随机 | 纯函数 vs 概率分布输出(高斯/分类) | 随机模型更稳(不确定时别假装确定) |
| 步长 | 单步模型 vs 多步模型 | 单步可组合,但误差随步数累积 |
学模型的陷阱
模型预测误差会随着规划深度平方级累积:第 1 步误差 ε,第 n 步误差可能放大到 $n^2\varepsilon$ 量级。因此"模型准不准"必须看多步推演能力,而不是单步损失——这是评测世界模型的常识。
三、MPC:滚动时域规划
1. 思想:不学完整策略,只在每个时刻"现场规划"
Model Predictive Control(MPC,模型预测控制):在状态 $s_t$ 下,用模型在脑内向前推演 H 步,搜索/优化出一条动作序列,执行第一步,然后下一时刻重新规划(滚动)。
text
MPC 循环(每个时刻都做):
┌──────────────────────────────────────────────┐
│ 1. 当前状态 s_t │
│ 2. 在模型里展开 H 步候选动作序列 │
│ 3. 选出累计回报最高的序列 a_t..a_{t+H} │
│ 4. 只执行第一个动作 a_t │
│ 5. 观测真实 s_{t+1},回到 1(滚动窗口) │
└──────────────────────────────────────────────┘2. 规划用什么算法搜
| 规划器 | 机制 | 适用 |
|---|---|---|
| 随机打靶(random shooting) | 随机采样大量动作序列取最优 | 低维、简单 |
| CEM(交叉熵方法) | 迭代精化动作分布 | 中等复杂 |
| MCTS | 树搜索(见AlphaGo 与蒙特卡洛树搜索) | 离散、稀疏奖励 |
| 梯度优化 | 对动作序列求梯度 | 可微模型 |
3. MPC 的优点与代价
- 优点:不需要训练策略网络;即时适应(每步重规划,模型错了也能局部纠偏);天然处理约束;
- 代价:每步都要做昂贵规划;H 有限 → 短视(规划视野短);对模型误差仍敏感。
MPC 是"用计算换样本"的代表——它烧推理算力、不烧训练样本。
四、Dyna:规划与学习的交替
1. 思想:真实交互与"脑内演练"交替进行
Dyna(Sutton, 1991)的核心框架是把学习和规划放在同一个循环里:
text
┌─────────────────────────────┐
│ Dyna 框架 │
│ │
真实环境 ──▶ 直接 RL 学习(Q-learning) │
│ │
▼ │
更新世界模型 ◀──────────── 经验 │
│ │
└──▶ 用模型生成模拟经验 ──▶ 再学 │
(脑内演练 n 次) │
└─────────────────────────────┘伪代码:
text
loop:
s, a, r, s' = 与环境交互一步
Q ← Q + α(r + γ max Q(s') - Q) # 直接学习(TD)
更新模型 P(s'|s,a), R(s,a)
repeat n 次: # 脑内演练
(s̃, ã) ← 从模型采样一个状态动作对
Q ← Q + α(r̂ + γ max Q(s̃') - Q) # 用模拟经验学习2. Dyna 的直觉与变体
直觉:真实经验太贵,模拟经验几乎免费。每获得一条真实经验,就更新模型,再用模型"复习"很多遍。Dyna-Q 是表格版;现代变体有 Dyna-2、基于神经网络的 Dyna 系(与 Dreamer 思想相通)。
Dyna 的哲学
Dyna 提出"学习、规划、行动三位一体":学习价值(Q)、学习模型(P)、用模型规划,三者在同一循环互相强化。它是后来所有"模型辅助"方法的思想源头。
五、潜空间世界模型:World Models、Dreamer、TD-MPC
1. World Models(Ha & Schmidhorst, 2018):先压缩,再预测
经典工作 World Models 分三件套:
text
World Models 三件套
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Vision (V) │ │ Memory (M) │ │ Controller │
│ 自动编码器 │ │ RNN 预测器 │ │ 策略 │
│ 压缩像素→潜 │ │ 潜空间里预测 │ │ 在"梦中"训练 │
└─────────────┘ └──────────────┘ └─────────────┘- V:把高维像素压缩成低维潜变量 z;
- M:在潜空间做 RNN 前向预测(世界模型);
- C:在模型生成的"梦境"里训练策略,甚至不需要真实环境。
贡献:把"在像素上预测"换成"在潜空间预测",训练策略的成本大幅下降——策略可以在幻觉环境里刷几百万步。
2. Dreamer:在学到的模型里"做梦"训练 Actor-Critic
Dreamer(Hafner et al., 2020/2021)把潜空间世界模型和 Actor-Critic 完整接起来:
text
Dreamer 训练循环
┌─────────────────────────────────────────────┐
│ 1. 收集经验(真实环境 + 当前策略) │
│ 2. 学世界模型(潜空间动力学 + 奖励预测器) │
│ 3. 用世界模型想象 H 步轨迹("做梦") │
│ 4. 在想象轨迹上训练 Actor(策略)与 Critic │
│ 5. 回 1(不断"现实 → 做梦 → 学"循环) │
└─────────────────────────────────────────────┘Dreamer 系列数据效率远超 model-free:Atari 上几百万帧达到 DQN 几千万帧的水平;DreamerV3 在 Minecraft 挖钻石等长时域稀疏任务上首次单智能体拿到钻石。关键技巧:潜空间 RSSM(Recurrent State-Space Model),把确定性与随机性潜状态结合,兼顾长期记忆与不确定性建模。
3. TD-MPC:TD + MPC 的混合体
TD-MPC(Hansen et al., 2022)是近期一个重要的"混合派":用 TD 学习(价值/行动价值模型) 给 MPC 当引导,同时保持 MPC 的滚动规划:
- 学一个隐状态模型 + Q 函数(TD 目标);
- 规划时用学习到的 Q 作为"远处价值的估计",弥补 MPC 视野 H 有限的问题;
- 优势:短期用 MPC 精确规划,长期用 TD 价值兜底 → 样本效率与性能兼得。
TD-MPC2(Hansen et al., 2023)把该思路做到 80+ 连续控制任务上的 SOTA,是当前 model-based 连续控制的事实前沿,详见前沿进展。
六、"模型误差陷阱"(想象偏差):为什么 model-based 会翻车
1. 问题本质:模型的错误会被规划放大
text
真实环境: s ──▶ a ──▶ s' (真实)
模型: s ──▶ a ──▶ ŝ' (有误差)
│
智能体在 ŝ' 上继续规划
│
规划出的"最优动作"其实基于错误的未来
▼
行为在新领域上错误累积(想象偏差)尤其当智能体探索到的数据分布与模型训练的分布出现漂移(学到的新策略访问了模型没见过的地方)时,模型开始"胡言乱语",规划出的策略在真实环境里崩盘。
2. 缓解手段
| 手段 | 机制 |
|---|---|
| 只在可信区域规划 | 模型不确定度过高就回退到 model-free(如 M2AC) |
| 集成模型(ensemble) | 训练多个模型,取分歧最大的地方降低权重 |
| 模型不确定度估计 | 用方差/分歧当置信度 |
| 交替短中长视野 | MPC 短视 + TD 长视(TD-MPC 思路) |
| 模型蒸馏成策略 | 先学模型→在模型里练策略→蒸馏为纯 model-free 策略上线 |
最经典的坑
"模型在训练分布里很准"≠"模型在探索路径上准"。评估模型要用部署时的真实轨迹分布,而不是训练集。这是 model-based 项目最容易被忽视的验证错误。
3. 不确定性量化:让模型"知道自己不知道"
缓解想象偏差的前提是知道哪里不可信。三种工程实现:
| 方法 | 机制 | 特点 |
|---|---|---|
| 集成(ensemble) | 训练 N 个不同初始化的模型,用输出分歧当不确定度 | 最实用、效果稳、算力成本 N 倍 |
| 随机模型方差 | 模型输出分布(高斯头),直接用输出方差 | 便宜,但低估分布外(OOD)不确定度 |
| 密度/距离估计 | 检测当前状态离训练数据有多远(如 kNN 距离) | 直观,需要特征空间合理 |
规划时的落地:不确定度超过阈值就"降级"——切回 MPC 短视野或 model-free 兜底(如 M2AC 思路),只在可信区域让模型主导长视野规划。这条"不确定度门控"是 model-based 上生产的必要条件。
与探索的联系
内在奖励(RND/ICM 用预测误差当新奇度)本质就是模型不确定度的一种——见探索与利用。同一个"预测不准"信号,探索时当奖励用,规划时当置信度用。理解这一点,model-based 与 exploration 就打通了。
七、AlphaGo 视角:完美模型 + 学习搜索
1. 围棋其实是"作弊级"的 model-based
AlphaGo/AlphaZero 的世界里,转移模型是完美已知的(围棋规则就是模型,落子后局面完全确定)。所以它学的是另外两样东西:
- 策略网络:压缩搜索——告诉 MCTS"哪些位置值得展开"(缩小搜索宽度);
- 价值网络:压缩评估——告诉 MCTS"这个局面大概值多少"(代替深推)。
text
AlphaZero 的"学习 × 搜索"
┌──────────────────────────────────────────────┐
│ MCTS(搜索,用规则精确推演) │
│ 选择:按 UCB 公式挑节点(含策略网络先验) │
│ 扩展:落子 │
│ 评估:价值网络打分(替代蒙特卡洛随机对局) │
│ 回传:把价值回传更新节点统计 │
│ 训练:用自对弈数据训练策略网络 + 价值网络 │
└──────────────────────────────────────────────┘关键洞察:搜索提供精确的近端推演,网络提供泛化的远端评估,两者互补。策略网络把搜索范围从天文数字压缩到可处理,价值网络让搜索不需要推到底。
2. MuZero:把"规则"也学出来
AlphaZero 还需要规则(模型)。MuZero(Schraudolph et al., 2020)更进一步:连规则都用神经网络学出来——在潜空间里学"下一个隐状态、奖励、价值",完全不碰真实棋盘表示。于是 MuZero 不需要知道游戏规则,从原始观测 + 动作就能规划,适用于围棋、Atari、棋类等一揽子任务。
对工程师的启示
你手上的任务可能"规则不完美"甚至"规则未知",但你几乎总是拥有比 MuZero 更好的模型来源:物理引擎、业务仿真器、人类知识。只要模型误差可控,model-based 路线在样本效率上的优势是压倒性的。详见RL vs 相邻领域(与最优控制的衔接)。
八、前沿与选型
1. 当前格局(2020s)
| 路线 | 代表 | 一句话定位 |
|---|---|---|
| 潜空间 Dreamer 系 | DreamerV3 | 从像素学世界模型,游戏/控制双修 |
| TD+MPC 系 | TD-MPC2 | 连续控制 SOTA,样本效率与性能兼得 |
| 学习搜索系 | MuZero、AlphaZero | 规则未知时也能规划 |
| 大语言模型世界模型 | Genie、World Model 系 | 用视频/文本学世界,尚未用于严肃 RL 决策 |
2. 怎么选:model-based 还是 model-free
text
选型决策
├── 能拿到环境仿真器/物理模型,且误差可控
│ └── ▶ model-based(样本效率碾压)
├── 环境是黑盒且难仿真(真实用户、真实市场)
│ └── ▶ model-free(PPO/SAC,见 actor-critic 页)
├── 任务有明确规则可精确模拟(棋类、调度)
│ └── ▶ MCTS + 学习(AlphaGo 路线)
└── 预算充足、只要最终策略稳
└── ▶ 先 model-based 学模型 → 蒸馏成 model-free 策略工业界现状的诚实提示
工业界大规模使用的仍是 model-free(PPO/SAC)——因为大多数真实场景拿不到可靠模型。model-based 的价值正在样本效率:当环境是昂贵仿真器(机器人、工业过程、科学研究)时,它从"不现实"变成"唯一现实"。相关案例见科研与生物医药中的 RL。
延伸阅读
- 马尔可夫决策过程(MDP) —— model-based 要学的就是 MDP 里的 P 与 R
- AlphaGo 与蒙特卡洛树搜索 —— 完美模型 + 学习搜索的完整案例
- 前沿进展 —— DreamerV3、TD-MPC2、MuZero 后续的最新进展
- RL vs 相邻领域 —— MPC 与最优控制的关系,model-based RL 的邻域
- 科研与生物医药中的 RL —— 昂贵仿真环境下的 model-based 落地
参考资料
- Sutton, R. S., & Barto, A. G. (2018). Reinforcement Learning: An Introduction (2nd ed.). MIT Press. 第 8 章 "Planning and Learning with Tabular Methods"(Dyna)。
- Sutton, R. S. (1991). Dyna, an Integrated Architecture for Learning, Planning, and Reacting. ACM SIGART Bulletin, 2(4), 160-163.
- Ha, D., & Schmidhuber, J. (2018). World Models. arXiv:1803.10122
- Hafner, D., Lillicrap, T., Fischer, I., et al. (2019). Learning Latent Dynamics for Planning from Pixels. ICML. arXiv:1811.04551(PlaNet)
- Hafner, D., Lillicrap, T., Ba, J., & Norouzi, M. (2020). Dream to Control: Learning Behaviors by Latent Imagination. ICLR. arXiv:1912.01603(Dreamer)
- Hafner, D., Pasukonis, J., Ba, J., & Lillicrap, T. (2023). Mastering Diverse Domains through World Models. arXiv:2301.04104(DreamerV3)
- Hansen, N., Wang, X., & Su, H. (2022). Temporal Difference Learning for Model Predictive Control. ICML. arXiv:2203.04955(TD-MPC)
- Schrittwieser, J., Antonoglou, I., Hubert, T., et al. (2020). Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model. Nature, 588, 604-609. arXiv:1911.08265(MuZero)