Skip to content

基于模型的 RL 与世界模型

本页速览 先学环境动力学、再在"脑中"规划:MPC、Dyna、Dreamer、World Models、TD-MPC;数据效率与模型误差的两难;AlphaGo/AlphaZero 的 model-based 视角。

基于模型的 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-freeModel-based
学的对象Q(s,a) / π(as)
样本效率低(几百万步起)高(几万步甚至更少)
最终策略来源直接优化从模型里规划/蒸馏出来
泛化到新任务差(重新学)好(模型可复用、可重规划)
主要风险样本烧钱模型误差(想象偏差)
代表DQN、PPO、SACDyna、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。

延伸阅读 ​

参考资料 ​

  • 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)