基于模型的强化学习
本讲迁移自原课程讲义,经 AI 事实核查未发现存疑项,未逐页人工审核;如有出入,以原始论文和 CS285 课程资料为准。
学习目标
- 说清 MBRL 的三种用法:纯规划、把模型当模拟器训练无模型策略(Dyna)、反传通过模型的梯度;
- 解释朴素 model-based(v0.5)为何因分布漂移失败,MPC/重规划(v1.5)如何缓解;
- 掌握三种规划器:随机打靶(random shooting)、CEM、MPPI,理解它们的取舍;
- 推导模型误差的复利式累积(rollout 长度 $H$ 越长误差越爆),说清为何要不确定性估计(bootstrap ensembles, PETS);
- 理解 MBPO 的短 rollout 单调改进界直觉,以及 PlaNet/Dreamer 如何在隐空间"想象中"训练 actor-critic。
前面模块的算法几乎都是无模型(model-free) 的——它们只用采样到的回报/TD 误差来更新,从不显式学习环境的动力学。基于模型的 RL(Model-Based RL, MBRL) 反其道而行:先学一个动力学模型 ,再用它来规划或生成想象数据。在模型可学准且真实交互昂贵的任务上,这条路往往更省真实样本,却也更”难做好”——因为模型误差会被规划器无情放大。本模块从最朴素的 v0.5 一路推进到 MPC、不确定性感知的 PETS、Dyna 式的 MBPO,以及在隐空间里”于想象中训练”的 Dreamer 系世界模型。
学习目标
- 说清 MBRL 的三种用法:纯规划、把模型当模拟器训练无模型策略(Dyna)、反传通过模型的梯度;
- 解释朴素 model-based(v0.5)为何因分布漂移失败,MPC/重规划(v1.5)如何缓解;
- 掌握三种规划器:随机打靶(random shooting)、CEM、MPPI,理解它们的取舍;
- 推导模型误差的复利式累积(rollout 长度 越长误差越爆),说清为何要不确定性估计(bootstrap ensembles, PETS);
- 理解 MBPO 的短 rollout 单调改进界直觉,以及 PlaNet/Dreamer 如何在隐空间”想象中”训练 actor-critic。
1. 什么是基于模型的 RL
核心区别只有一句话:MBRL 显式估计动力学 (和/或奖励 ),并利用它来决策。 学到模型后,有三种典型用法:
- 规划(planning):把模型当成可查询的模拟器,用轨迹优化(LQR、打靶、CEM/MPPI)在模型里搜出一段好动作序列,执行第一步(或几步)。不显式学策略网络。
- Dyna 式数据增强:用模型生成大量”想象转移”,喂给任意无模型算法(Q-learning、SAC)来训练策略/价值。代表:Dyna、MBPO。
- 通过模型反传(analytic gradients):模型可微时,直接把回报对策略参数的梯度沿时间反传穿过动力学模型。代表:PILCO、SVG、Dreamer(在隐空间里做)。
本质 Insight:为什么 model-based 更省样本?
无模型算法每条真实转移只贡献一次标量信号(回报/TD 误差),信息利用率极低;而动力学模型是一个监督学习问题——每条真实转移 都是一个带稠密标签的样本,可反复用来拟合 。学到 后,可在模型里近乎免费地生成海量想象数据。本质上,MBRL 把”稀疏、高方差的强化信号”换成了”稠密、可监督的预测信号”,再用规划/想象把预测能力兑换成决策能力。这也解释了它为什么”难做好”——一切都押在模型的预测准不准上。
举例
学倒车入库,如果每次都开真车去试,既费油又可能剐蹭围墙——这是”无模型”式的昂贵试错。聪明人的做法是先在脑子里(或驾校模拟器里)反复演练”方向盘打多少、车尾会怎么摆”,把靠谱的那几步再拿到真车上验证。基于模型的 RL 就是先学一个”车会怎么动”的动力学模型充当模拟器,在里面近乎免费地演练,真实交互只留着纠正模型——这正是它可能提高样本效率的直觉来源。
批判性追问:“model-based 最省样本”——省样本 ≠ 更好
“先学模型、省样本”常被读成”model-based 一定更强”,这偷换了两个不同的指标。省的是样本效率(达到某性能所需的真实交互数),但换来的渐近性能却可能更差——最终水平被模型精度封顶。更尖锐地:当模型不够准(记单步误差 大)、且其误差被规划器 / 策略对抗性利用时,真实回报会低于把同样的真实数据直接喂给 model-free(如 SAC)所能达到的水平。用第 7 节的下界看,净回报 : 一旦偏大,惩罚项 就吃掉、甚至反超想象带来的增益——此时”用了模型”反而是负资产。所以严谨的说法是:model-based 在”交互昂贵 + 模型可学准”的场景省样本;在”模型难学准 + 模拟器免费”的场景,朴素 model-free 往往又稳又强。 省样本是它的卖点,不是它的免罪金牌。
2. 朴素范式 v0.5 与分布漂移
最朴素的 MBRL(Levine 课上称 model-based v0.5):
- 用某个基础策略 (如随机)收集数据 ;
- 拟合动力学模型 (最小化 或最大似然);
- 用 规划出一整段动作序列,开环执行到底。
它在低维、被动系统上偶尔能用,但通常灾难性失败,原因与模仿学习里 BC 的失败一模一样:分布漂移(distribution shift)。
局限 / 陷阱:分布漂移
模型只在 访问过的状态分布 上准确。可一旦规划器基于模型去优化动作,它就会专门找模型”觉得好但其实是幻觉”的区域——即 。规划器是一个对抗性优化器:它主动搜索并利用模型误差最大、最乐观的地方。于是开环执行时真实轨迹迅速偏离模型预测,误差雪崩。
图 1:开环 v0.5 中,规划器沿模型的乐观预测走,真实动力学却把系统带向别处,误差随时间累积。
v1.0 的修补(类 DAgger):交替”规划执行 → 收集新数据 → 重新拟合模型”,把规划器实际访问到的状态补进训练集,缩小分布漂移。这有帮助,但仍是开环规划,单次 rollout 太长时依旧脆。
3. 重规划 / MPC(v1.5)
真正的关键补丁是模型预测控制(Model Predictive Control, MPC),Levine 记为 v1.5:不要开环执行整段计划,而是每一步都重新规划。
MPC 循环(每个时间步):
- 在当前真实状态 ,用模型规划未来 步的最优动作序列 ;
- 只执行第一步 ,观测真实的 ;
- 丢弃剩余计划,回到步骤 1 在 重新规划(滚动时域,receding horizon)。
本质 Insight:重规划为何救命
每步只执行一个动作、下一步用真实观测重启规划,等于给系统装上了闭环反馈。这样即使模型不完美、当前计划后段是幻觉,也无所谓——因为那些后段永远不会被真正执行,下一步会用新的真实状态推倒重来。MPC 把”要求模型长期准确”降级成”只要求模型短期方向大致对”,极大地放宽了对模型精度的要求。代价是每步都要重规划,计算量大。
举例
像下棋:高手会在脑子里盘算未来五步的变化,但真正落子只落这一手;等对手应完、局面更新了,再据此重新往后想五步。谁也不会把预想的五步一次性全落下去——因为越往后越可能算错。MPC 就是这个套路:每步规划未来 步却只执行第一步,下一步用真实观测把计划推倒重来。于是即便模型对后段的预测是幻觉也无所谓,那些后段永远不会被真的走出去。
图 2:MPC 每步规划一段、只执行首步、下步用真实观测重规划。虚线后段是”一次性草稿”,从不长期依赖。
4. 打靶法:随机打靶、CEM、MPPI
MPC 里”规划 步”本身是一个轨迹优化问题: s.t. 。当模型是黑箱神经网络、动作连续时,最常用的是无梯度的采样式优化(打靶法 shooting)。
为什么这样 · 能不能不这样
为什么用无梯度的随机采样(打靶 / CEM / MPPI)去搜动作序列,而不直接对”回报关于动作”求梯度、或把动力学线性化后用 LQR? 因为规划目标要反复复合穿过一个黑箱神经网络动力学:梯度既可能不好用(模型含 ReLU 断点、非光滑),又极易把优化器带上模型误差最大的”乐观峡谷”——梯度法会精准地爬上那些幻觉高点,正是第 2 节说的”规划器是对抗性优化器”。能不能改用解析梯度 / LQR? 在模型可微、局部线性近似成立时可以,高维下也更高效(见下方规划器对比表),代价是要求可微 / 局部线性、对模型误差异常敏感、易陷局部最优。采样式打靶用”零阶、可并行、对不光滑鲁棒”换掉这些前提——牺牲一些采样效率,换来对黑箱模型的稳健。
4.1 随机打靶(random shooting)
最简单:随机采样 条动作序列 ,在模型里 rollout 算各自累计奖励,选最好的一条,执行其首步。
采样 N 条候选序列 a^(i) ~ Uniform/Gaussian
for i in 1..N: 在模型里 rollout, 计算 R^(i)=Σ r̂
执行 argmax_i R^(i) 的第一步
优点:实现极简、可并行、无梯度。缺点:高维/长时域下采样效率极低(好序列稀疏),维度诅咒严重。
4.2 交叉熵方法(Cross-Entropy Method, CEM)
把随机打靶改成迭代精化的采样分布:从高斯 采样,保留奖励最高的 top- 精英(elites),用精英重新估计 ,重复数轮。分布逐渐聚焦到高奖励区。
推导/伪码:CEM 更新(逐步)
关键假设
动作序列用对角高斯建模;奖励可在模型里评估;“精英分位数” (如 top 10%)给定。
初始化 。第 轮:
- 采样 条:;
- 在模型里 rollout,得回报 ;
- 取回报最高的 条为精英集 ;
- 矩匹配更新:,。
迭代 J 轮后取 的首步执行。直觉:CEM 是”只保留赢家、忘掉输家”的进化式搜索,把采样预算不断集中到有希望的区域。局限:仍是零阶方法,维度高时需要大 ;对多模态解可能过早收敛到一个峰;每步重规划要跑 次模型 rollout,算力吃紧。
4.3 MPPI(Model Predictive Path Integral)
CEM 用”硬门限”(只留 top-);MPPI 则围绕当前控制序列 采样控制扰动 ,在动力学中计算包含状态与控制代价的轨迹成本 ,再按指数成本权重更新每个时刻的控制 [1]:
温度 控制权重集中程度。式 (8.1) 是 MPPI 更新的核心骨架;完整推导还依赖受控随机动力学、采样分布与控制代价等假设,不能把一般的 reward-weighted shooting 直接等同于完整 MPPI。
为什么这样 · 能不能不这样
为什么 MPPI 用 给所有样本软加权,而不像 CEM 那样只留 top- 精英、其余一律丢弃? 因为硬门限把”刚好没进精英线”的大量样本信息整块扔掉,在多模态或噪声大的回报地形上,一次坏采样就可能让精英集偏到某个次优峰、过早收敛;软加权则让每条样本按回报连续地出力,估计更平滑、对采样噪声更稳(且与模块 07 的软 max 同源)。能不能不软、就用 CEM 的硬门限? 可以,实现更直观、也少一个参数,代价是丢信息、易早收敛到局部峰。反过来 MPPI 的代价是多一个温度 要调—— 退回只信最好一条(近似 argmax)、 太大又趋于无差别平均。
| 规划器 | 更新方式 | 优点 | 缺点 |
|---|---|---|---|
| 随机打靶 | 选单个 argmax | 最简单、易并行 | 维度诅咒、样本效率低 |
| CEM | top-k 精英 → 重估高斯 | 迭代聚焦、鲁棒常用 | 零阶、算力大、可能早收敛 |
| MPPI | exp(R/λ) 软加权平均 | 用全样本、平滑、实时友好 | 需调温度 λ、仍是采样法 |
| 解析梯度/LQR | 反传或线性化 | 高维高效 | 需可微/局部近似、易被模型误差误导 |
5. 模型误差与复利式累积
MBRL 最根本的敌人是模型误差随 rollout 长度的复利式(compounding)累积。哪怕单步预测误差很小,多步 rollout 里误差也会像复利一样滚雪球。
推导:单步误差 ε 如何累积,并影响 H 步回报
关键假设
每步模型误差有界 ;真实动力学关于状态 Lipschitz 连续,常数 ;开环 rollout 步。若要把状态误差换成累计回报误差,还需奖励关于状态 Lipschitz(或至少有相应连续性界)。
令 为第 步的状态偏差(模型预测 vs 真实)。递推:本步新增误差 ,加上前一步偏差经动力学放大 :
展开几何级数:。分两种情形:
- 若 (临界,常见):,即偏差随时域线性增长;对累计回报误差再积一次得到 ——与模仿学习的二次累积同源。
- 若 (不稳定系统):,偏差随时域指数爆炸。
- 若 (收缩系统):,状态误差有统一上界;因此“长 rollout 必然指数爆炸”并不成立。
结论:这就是为什么”长 rollout”是 MBRL 的毒药,也是 MPC(缩短有效开环长度)、MBPO(用极短 rollout)、以及不确定性惩罚存在的根本理由。局限:此界是最坏情形上界;实际误差还取决于误差的方向是否被规划器主动利用(对抗性会更糟)。
举例
假设模型每步只错 ,看着微不足道。但偏差会像复利一样累乘:若每步旧偏差还被动力学放大 倍,代入 ——滚 10 步得 ,即 16% 的偏差;滚 30 步则膨胀到约 (164%),预测早已面目全非。这跟”年化 10% 利滚利,本金翻倍只需 7 年多”是同一个数学。正因如此,长 rollout 是毒药,MPC 和 MBPO 才都拼命把有效步数压到很短。
图 3:rollout 越长,模型误差累积越严重(Lipschitz 常数决定线性还是指数)。因此实践中都尽量缩短开环预测长度。
6. 不确定性估计:ensemble 与 PETS
规划器是对抗性的——它专挑模型最乐观的地方。缓解之道是让模型知道自己不知道:在数据稀疏、外推的区域给出高不确定性,规划时对高不确定的动作打折,从而不被幻觉牵着走。
6.1 两类不确定性
- 偶然不确定性(aleatoric):环境本身的随机性(噪声)。用概率化网络输出分布(如高斯 )来捕捉。
- 认知不确定性(epistemic):因数据不足导致的”模型自身不确定”。这才是外推误差的来源,需要bootstrap ensembles(自举集成):训练 个初始化/数据 bootstrap 不同的模型( 即集成成员数,是自己选的超参,实践常取 5~7 个——够多以拉开外推处的分歧、又不至于太贵),它们在见过的区域预测一致、在没见过的区域发散——发散程度即认知不确定性。
6.2 PETS(Probabilistic Ensembles with Trajectory Sampling)
PETS(Chua et al. 2018) 把两者合一:用一个概率网络的集成(每个成员输出高斯,捕捉 aleatoric;集成成员之间的差异捕捉 epistemic),并用轨迹采样(TS) 做规划。原论文同时定义了 TS1(每步重新采样集成成员)与 TS∞(一条轨迹固定成员)两种传播方式 [2]。CEM 在这个不确定性感知的模型上做规划。
本质 Insight:为什么 ensemble 有用但不是证书
单个神经网络在训练分布外可能“自信地胡说”。不同初始化/bootstrap 的模型在陌生区域往往产生分歧,成员方差因而可作认知不确定性的实用代理;但它们也可能共享同一架构偏差而一致地错,所以低分歧不等于模型正确。只有规划目标显式读取分歧(如均值减惩罚)时,规划器才会主动回避高不确定候选;单纯把预测取平均并不会自动得到保守性。
图 4:集成成员在数据覆盖区内几乎重合,在外推区各自发散;发散幅度即认知不确定性,用于惩罚乐观规划。
6.3 规划目标:期望值 vs 悲观(如何用集成分歧)
有了概率集成,规划器该怎么用这份不确定性?需要区分两个彼此独立的选择:PETS 的 轨迹采样(trajectory sampling, TS) 决定如何在 rollout 中传播模型不确定性,评分准则则决定如何汇总粒子回报 [2]。
- 传播方式:TS1 在一条 rollout 的每一步重新采样集成成员;TS∞ 在整条 rollout 中固定成员。两者都只规定粒子如何传播,不等同于风险偏好。
- 风险中性期望:对 TS1 或 TS∞ 产生的粒子回报取平均,。PETS 的算法以粒子平均回报评价候选动作序列;风险中性期望本身不惩罚回报方差。
- 悲观(pessimistic / 下置信界):显式减去一个不确定性惩罚,按回报的下界而非均值打分:,其中 用集成成员间的分歧度量(如各成员预测均值的最大两两差、或预测方差之和)。 越大越保守。这正是离线 RL”悲观”思想的在线/模型版本。
为什么“分歧”能当认知不确定性代理
设集成 个成员对 的预测均值为 。在数据覆盖区,监督信号通常把成员拉近;在外推区,随机初始化/bootstrap 可能令外推分叉。因此成员间方差 可作 epistemic 不确定性的廉价代理,但不是校准后的置信区间。可用 或 作认知不确定性惩罚;单个成员输出的 主要描述 aleatoric 噪声,不能与成员分歧混为一谈。
局限 / 陷阱:期望≠安全
风险中性的期望值规划只在”误差对称、无被对抗性利用”时才等价于稳健——若某成员在外推区给出异常高的乐观回报,平均仍可能被它抬高,规划器照样会去追。任务风险高、或数据覆盖很窄时,应转向显式分歧惩罚或其他悲观准则。但 过大会让智能体”什么都不敢做”,退化成只在数据覆盖区内打转、丧失探索——保守与探索的张力在此显现(对照模块 10的乐观探索)。
7. Dyna 与 MBPO
规划(MPC)之外的另一大路线:把学到的模型当数据生成器,喂给无模型算法。
7.1 Dyna
Dyna(Sutton, 1990) 的经典循环:(1) 用真实交互更新 Q 与模型;(2) 用模型生成大量想象转移,对这些想象数据也做 Q 更新。真实数据保证不跑偏,想象数据大幅提升样本效率。现代版本(Dyna-style)把这个思想接到深度 Q/actor-critic 上。
7.2 MBPO(Model-Based Policy Optimization)
MBPO(Janner et al. 2019) 是当代 Dyna 式方法的代表,两个关键设计正是针对第 5 节的误差累积:
- 从真实状态出发的短分支 rollout(short branched rollout):不从头 rollout 整条轨迹,而是从真实回放池里的状态出发,用模型只往前走 步(这里的分支 rollout 长度 与前面 MPC 的规划时域 不是一回事: 是”每一步决策向前看多远”的规划视野、只为选当前动作, 则是”从真实状态出发往前想象多长、生成一段训练片段”的造数据长度; 通常很小,如 1–5),把这些短片段加入训练集。这把误差累积上界压到 。
- 用一个概率集成模型(同 PETS)生成数据,用 SAC 作为无模型学习器在”真实 + 想象”混合数据上训练。
推导直觉:MBPO 的单调改进界(为什么短 rollout 是理论必然)
关键假设
模型的单步分布误差(TV/KL)有界 ;当前策略与收集数据的策略分布偏移有界 ;奖励有界 ;分支 rollout 长度 。
MBPO 的分析可整理出如下示意形态(原论文界包含依赖 、策略分布偏移与模型误差的更完整系数,不能把下式当作逐字定理):
其中 含 等因子。界直接支持的是“ 越大,模型误差代价越重”;“想象收益随 上升并最终产生唯一最优 ”还需要下一节额外引入的收益模型,并非该下界单独保证。实践中 难估, 通常按验证表现或训练进度调度。
图 5:MBPO 从回放池中的真实状态出发做短( 步)分支 rollout,兼得样本效率与低模型误差。
7.3 rollout 长度 k 的定量权衡(在示意界上加入收益模型)
把式(8.3) 的下界 当成 的函数来看,就能得到”最优 rollout 长度 “的定量直觉。两股力量此消彼长:
- 增益(随 升): 越大,从每个真实状态生成的想象数据越多样、覆盖离数据更远的状态,策略可提升的空间 越高——但这项增益边际递减(越远的想象越接近已被覆盖或已无信息)。
- 代价(随 线性升):模型误差惩罚 随 线性累积(正是第 5 节式(8.2) 复利误差在分支 rollout 上的体现)。
若想象收益确实单调、凹且边际递减,则“收益 − 线性误差代价”可呈先升后降,峰值为 ;模型更准时峰值右移。这里是用于调参直觉的附加建模,不是 MBPO 定理对任意环境保证的曲线。
半定量:给最优 rollout 长度 一个闭式估计(逐步)
关键假设
把式(8.3) 的下界写成 的连续函数 (略去与 无关的 );想象增益 单调增、边际递减(凹);模型单步误差 固定。
第 1 步:给增益一个凹的参数形式。“越远的想象越接近已覆盖 / 已无新信息”意味着边际增益指数衰减,取
其中 是”想象还能带来新信息”的特征步数、 是增益上限。
第 2 步:一阶条件(边际增益 = 边际代价)。 令 :
第 3 步:读三条定量结论。(i) 有限,且随模型变准()以对数速度右移,——正当化了”模型越准、rollout 可越长”的调度直觉;(ii) 存在阈值:当 时 ,意味着模型太差时连想象一步都不划算(应退回 model-free);(iii) 把 代回,最优净增益
随 增大而单调下降——即”模型越差,能兑现的最好收益也越低”。局限: 的凹形与 都是难以精确量出的建模假设,此式只给标度关系()而非可直接查表的数值;真实 MBPO 里 还随训练变化,故实践仍用调度而非解析代入。
图 6(编者假设模型示意):在额外假设想象收益单调、凹且边际递减时,收益减去线性模型误差代价可形成单峰曲线;这不是 MBPO 定理的直接结论 [3]。
8. 隐空间世界模型:PlaNet / Dreamer
前面都假设状态是低维、可观测的向量。但真实任务往往是高维像素观测。直接在像素上学动力学既难又贵。隐空间世界模型(latent-space world models) 的思路:先学一个把观测压成低维隐状态 的表示,再在隐空间里学动力学与规划/训练策略。
编者按 · 批判性视角
本模块讲的世界模型是一条清晰的学术谱系:PETS → MBPO → PlaNet/Dreamer,都以”为控制服务的紧凑动力学模型”为目标。但要指出:当下更受关注的”世界模型”其实来自另一条谱系——由视频生成模型(Sora / Genie / GameNGen) 充当可交互的神经模拟器,以及端到端自动驾驶(FSD)对未来场景可预测性的建模。这条生成式世界模型路线押注的是”用互联网规模的视频数据学到通用动力学先验”,与本课”从自身交互里学一个小模型”的思路在数据来源、规模、目标上都不同。课程成文稍早,基本未覆盖这条路线,而它对未来的影响很可能更大。读本模块时,宜把 Dreamer 系看作”世界模型”的一个经典但不唯一的定义。
8.1 PlaNet
PlaNet(Hafner et al. 2019) 学一个 RSSM(Recurrent State-Space Model,循环状态空间模型):确定性循环状态 + 随机隐状态 ,并联合训练编码器 、转移先验 、观测解码器 、奖励预测 ——训练目标是一个序列 ELBO(回顾模块 07 的变分下界)。学好后在隐空间用 CEM 做 MPC 规划。
为什么这样 · 能不能不这样
为什么把动力学学在压缩后的隐空间 里,而不直接在原始像素上预测下一帧? 因为像素维度极高、且绝大多数比特是与决策无关的纹理 / 光照 / 背景——在像素上逐帧预测既昂贵,又逼模型把容量浪费在无关细节上,长程 rollout 更会累积视觉噪声。先学一个把观测压成低维隐状态的表示、再在隐空间递推,既省算力又让动力学聚焦”对预测奖励 / 价值有用”的量。能不能不压、直接在像素空间建模? 可以(早期部分方法如此),代价是训练慢、样本效率低、难扩展到长时域想象。而这层”隐状态还要能重建像素”的要求,正是下一步 MuZero 要进一步砍掉的(价值等价模型,第 9 节)。
8.2 Dreamer 系列
Dreamer(v1→v3, Hafner et al. 2020–2023) 把 PlaNet 从”规划”升级为”在想象中训练 actor-critic”:
- 学世界模型(RSSM,序列 ELBO),把像素压进隐状态;
- 在想象中 rollout:完全在隐空间里,用世界模型往前推 步(不碰真实环境、不解码回像素),生成想象轨迹;
- 反传解析梯度训练 actor:因为整条想象轨迹在隐空间可微,回报对策略参数的梯度可沿时间反向传播穿过世界模型;critic 用 -return 估值、actor 最大化想象回报(带熵正则,呼应 MaxEnt)。
批判性追问:“在想象中训练”是免费午餐吗?
“不碰真实环境、在隐空间想象里训 actor-critic”听起来近乎免费,但想象轨迹是同一个不完美世界模型自己推出来的——第 5 节的复利式误差照样适用:想象越长( 越大),隐状态偏离真实流形越远,-return 与解析策略梯度都建立在被污染的后段之上,等于”拿模型的幻觉当监督信号来训练策略”。这解释了两个工程事实:(1) Dreamer 的想象视野 必须克制(通常十几步量级),太长会诱使策略去利用模型的想象漏洞;(2) 真实交互不能停——它唯一的职责就是持续把世界模型拉回真实,否则想象与现实的缝隙会随训练悄悄放大。换言之,“在想象中训练”省的是与环境交互的次数,却没有免除”模型必须持续够准”这个前提;一旦模型在策略新访问到的区域失准,想象训练就会把策略越练越偏。
8.2.1 Dreamer v1 → v2 → v3 的演进要点
Dreamer 三代的主线不变(学 RSSM 世界模型 → 想象中训 actor-critic),但每一代都在表示、稳定性、通用性上做关键升级:
| 版本 | 关键变化 | 要解决的问题 |
|---|---|---|
| Dreamer v1(2020) | 在 PlaNet 的 RSSM 上,首次在想象中反传解析梯度训练 actor-critic(用 -return 目标),取代 PlaNet 的 CEM 规划 | 把”规划”升级为”学策略”,决策一次前向、免去每步重规划 |
| Dreamer v2(2021) | 隐状态改用离散隐变量(分类分布 + 直通梯度 straight-through);用 KL balancing 平衡先验/后验两侧的 KL | 离散隐更契合视觉的多模态、缓解后验坍缩;首个在 Atari 上匹敌顶尖无模型方法的世界模型 |
| Dreamer v3(2023) | 一整套稳健化 trick:symlog 变换压缩奖励/观测量级、two-hot 离散回归学 value、return/reward 归一化、free-bits/KL 正则、更大模型 + 固定超参 | 让同一套超参跨 100+ 任务(Atari、DMLab、Minecraft 等)稳定工作,无需逐任务调参 |
本质 Insight:v3 的稳健化在解决同一个病
Dreamer-v3 那堆看似零散的 trick(symlog、two-hot、各种归一化)指向同一个根本困难:跨任务时奖励与观测的量级差异巨大(Atari 分数上千 vs DMC 奖励在 0–1),固定学习率/固定超参会在某些任务上梯度爆炸、在另一些上学不动。symlog 把大值压缩、小值近似保线性,把不同量级”拉回同一尺度”;two-hot 把标量回归变成两个相邻 bin 的分类,避免平方损失被极端值主导。本质是”尺度不变性”工程——一旦把尺度问题消掉,同一套超参就能通吃,这正是 v3 “免调参通用”的秘密,也是世界模型迈向”基础模型”的关键一步。里程碑:v3 是首个不看攻略、纯从零采集钻石的 Minecraft 智能体。
本质 Insight
Dreamer 把三条主线缝在一起:模块 07 的变分推断(世界模型的 ELBO)、本模块的模型反传(穿过动力学的解析梯度)、以及 actor-critic 的价值自举。“在想象中学习”意味着真实交互只用于更新世界模型,而策略/价值的大量更新都在几乎免费的隐空间想象里完成——这是它样本效率极高的根源。Dreamer-v3 用同一套超参跨越 100+ 任务(Atari、DMC、Minecraft)不调参,展示了世界模型范式的通用性。
本质 Insight:预测即理解
贯穿本模块的一条暗线是:能准确预测”采取某动作后世界会如何演化”,本身就是一种对世界的理解。model-based RL 的动力学模型 、Dreamer 的隐空间世界模型、乃至把 LLM 当作 “world model”(用 token 预测下一步状态与后果)——它们在这一点上收敛于同一目标:把决策问题的重心从”稀疏、高方差的强化信号”搬到”稠密、可监督的预测信号”上。这也解释了为什么”预测下一个 token”的自监督预训练能孕育出某种可迁移的世界知识:预测与理解,在信息论意义上是同一枚硬币的两面(更宏观的统一见 模块 15)。
前沿实践
- 可交互视频生成与世界模型:Genie 从无动作标签视频学习潜动作,并生成可逐帧控制的环境 [4];GameNGen 的下一帧模型显式条件于历史帧与动作 [5]。Sora 是文本条件视频生成模型,可被讨论为”世界模拟器”设想,但不是显式动作条件的交互式模型,且公开说明列出了物理模拟局限 [6]。
- Dreamer-v3 / TD-MPC2:证明单一世界模型架构可跨大量领域免调参工作;TD-MPC2 把隐空间世界模型与 MPC(MPPI/CEM)+ TD 学习结合,在连续控制上达到 SOTA 样本效率。
- 机器人基础模型:用海量离线视频/交互预训练世界模型,再在下游任务里想象规划,是”机器人 GPT”路线的核心押注之一。
9. MuZero:学习隐空间模型 + MCTS
前面的世界模型(PlaNet/Dreamer)都要重建观测(解码回像素)来训练模型。MuZero(Schrittwieser et al. 2020) 提出一个更激进也更纯粹的思路:只学”对决策有用”的东西,完全不重建观测。它把 AlphaZero 的 MCTS 规划能力从”已知规则的棋类”推广到”规则未知的一般环境”(Atari、棋类通吃),靠的是学一个隐空间模型,其唯一约束是让预测的价值 / 策略 / 奖励对得上真实经历。
9.1 三个学习到的函数(都在隐空间,不碰观测重建)
MuZero 学三个网络,串起来构成一个可在其上做 MCTS 的隐空间 MDP:
- 表示函数 representation :把历史观测编码成初始隐状态 。
- 动力学函数 dynamics :在隐空间递推,——给定隐状态与动作,输出下一隐状态与预测奖励。
- 预测函数 prediction :——从隐状态输出策略先验 (指导 MCTS 展开)与价值 。
训练时把这三者展开 步联合优化,损失只有三项(没有观测重建项):
其中策略目标 是 MCTS 在真实步得到的访问计数分布,价值目标 是自举的 n-step 回报,奖励目标 是真实观测到的奖励。
本质 Insight:不重建,反而更强
Dreamer 学的是”能重建像素”的模型——被迫编码画面里与决策无关的细节(背景纹理、云朵)。MuZero 反其道:隐状态不需要能还原观测,只需足以预测价值/策略/奖励。这等于让模型自主发现”对赢下游戏重要”的抽象量,把表示预算全花在决策相关信息上。代价是隐状态失去可解释性(无法解码看图),也不能用重建误差做诊断——但在 Atari/棋类上,这种”value-equivalent(价值等价)“模型比重建式模型更省、更准。它与 Dreamer 是世界模型的两种哲学:重建式(生成完整世界)vs 价值等价式(只建对决策有用的部分)。
9.2 用学到的隐模型跑 MCTS
有了 ,MuZero 就在隐空间里做蒙特卡洛树搜索:根节点 ;每次模拟按 PUCT(用 做先验、 做叶子评估、 累积路径回报)选择-展开,用 想象出子节点隐状态、用 评估。搜索若干次后,根节点各动作的访问计数归一化成策略 (用于真实决策,也回头当训练目标)。规划完全发生在学到的隐 MDP 里,从不查询真实环境。
图 7:MuZero 用 编码观测得隐状态, 在隐空间递推并预测奖励, 从隐状态输出策略先验与价值;MCTS 在此隐 MDP 上搜索。三个预测头只对齐价值/策略/奖励,不重建观测。
前沿实践
- Sampled MuZero / MuZero Unplugged:把 MuZero 推广到连续/大动作空间(采样动作做 MCTS)与离线数据(reanalyze 用最新网络重算旧数据的目标),是”价值等价世界模型”在离线场景的落地。
- EfficientZero:在 MuZero 上加自监督一致性等 trick,把 Atari 100k 的样本效率推到接近人类,展示价值等价模型的样本效率潜力。
- 与 Dreamer 的分野:Dreamer(重建式)擅长像素预测可视化、易诊断;MuZero(价值等价式)省表示预算、规划强。TD-MPC2 可视作两者折中——学价值等价的隐模型,但用 MPC(MPPI)而非 MCTS 规划。
前沿实验室视角
用自己的话概括:“世界模型”几乎是 DeepMind 的一张招牌认知——与其只学一个反应式策略,不如学到环境的(隐空间)动力学,再在其中做想象与搜索。这条线索串起它多项公开代表作:MuZero(学一个只对价值 / 策略 / 奖励负责的隐空间模型,配 MCTS 规划;Schrittwieser 等 2020)、Dreamer 系列(在世界模型的想象轨迹里训练 actor-critic,v3 用一套超参跨上百任务;Hafner 等 2020–2023),以及更”可交互 / 可玩”的方向——Genie 从无标注视频学习可用潜动作操控的生成式交互环境 [4]。它与另一条生成式世界模型路线(如把 Sora 式视频模型设想为”可当模拟器”)形成对话:两者都押注”能预测世界如何演化”本身就承载可迁移的知识,差别在于前者更强调把”学到的模型 + 想象 / 搜索”直接接到决策上。
10. 样本效率-渐近性能权衡
该用 model-based 还是 model-free?核心是样本效率与渐近性能之间的经典权衡。
| 维度 | 基于模型(MBRL) | 无模型(MFRL) |
|---|---|---|
| 样本效率 | 高(少量真实交互即可) | 低(常需百万~十亿步) |
| 渐近性能 | 可能被模型误差封顶 | 高(直接优化真实回报,无模型偏差) |
| 计算成本 | 高(规划/想象 rollout 昂贵) | 相对低(一次前向) |
| 实现/调参难度 | 高(模型、不确定性、规划器都要调) | 中(SAC/PPO 相对成熟) |
| 适用场景 | 真实机器人、交互昂贵、需迁移 | 模拟器免费、追求极限性能 |
本质 Insight:为什么 model-based 更省样本但难做好
一句话:MBRL 把学习难度从”决策”转移到了”预测”。 预测(监督学习)比决策(强化学习)信息稠密得多,所以省样本;但预测的错误会被规划器对抗性放大,且渐近性能被模型精度封顶,所以难做好。混合派(MBPO、Dreamer、TD-MPC2)的共同答案是:用模型省样本,用真实数据/短 rollout/不确定性/无模型学习器兜底防止被模型误导——取两者之长。
讨论课 · Section 8:Model-Based RL(规划器与 MBPO 实操)
本节把第 3–7 节的 MPC、打靶法、ensemble 不确定性与 MBPO 落到”能照抄的伪代码 + 调参直觉”。三个可上手的产物:一份统一的 MPC + 采样式规划器(随机打靶 / CEM / MPPI 共用一个骨架,只差”如何用回报更新采样分布”);概率集成的训练与不确定性传播细节;以及 MBPO 的 rollout 长度与真实/模型数据混合比例怎么调。
D8.1 MPC + 采样式规划器(三合一伪代码)
随机打靶、CEM、MPPI 三者共享同一个 receding-horizon 骨架,唯一区别是 “拿到 N 条候选序列的回报后,如何得到下一轮/最终的动作均值”。把这一步抽象成 refine():
# 每个真实时间步都调用一次 plan(),只执行返回序列的第一个动作
def plan(s0, model, H, N, iters, method):
mu = zeros(H, dim_A) # 动作序列均值(可用上一步的 mu 平移热启动)
std = ones (H, dim_A) * sigma0
for it in range(iters): # 随机打靶取 iters=1
# 1) 采样 N 条候选动作序列(在均值附近加高斯噪声)
A = mu[None] + std[None] * randn(N, H, dim_A) # 形状 (N,H,dim_A)
A = clip(A, a_low, a_high)
# 2) 在模型里 rollout,累计(含不确定性感知的)回报
R = zeros(N)
s = repeat(s0, N)
for t in range(H):
s_next, r_hat = model.step(s, A[:,t]) # 见 D8.2:集成+TS
R += (gamma**t) * r_hat
s = s_next
# 3) 用回报更新采样分布 —— 三种方法只差这一步
mu, std = refine(A, R, method, mu, std)
return mu[0] # 只执行第一步(MPC 闭环)
def refine(A, R, method, mu, std):
if method == "random_shooting":
i = argmax(R); return A[i], std # 直接取最优单条
if method == "CEM": # 硬门限:top-k 精英
elites = A[topk_indices(R, k)] # k = rho*N
return mean(elites, axis=0), std_of(elites) # 矩匹配重估高斯
if method == "MPPI_style_soft_shooting": # 一般回报软加权打靶
w = softmax(R / lam) # 全样本按回报加权
return sum(w[:,None,None] * A, axis=0), std # 保持/衰减 std
要点:(1) 热启动——把上一时间步规划出的 mu 平移一格作为本步初值,能大幅减少 iters;(2) 随机打靶 = iters=1 + argmax;CEM = 多轮 + top-k 矩匹配;这里第三个分支只是一般的 MPPI-style soft shooting,用 exp(R/λ) 对候选动作序列软加权,不能等同于 4.3 节含控制扰动与轨迹成本条件的完整 MPPI;(3) 回报 r_hat 应是不确定性感知的(下节)。
D8.2 概率集成的训练与不确定性传播
PETS 式模型 = 个概率网络,每个成员输出高斯 (捕捉 aleatoric),成员之间的分歧捕捉 epistemic。训练与 rollout 的实操细节:
工程要点
- 训练目标(高斯 NLL):每个成员最小化 ,其中回归状态增量 (比直接预测 更稳、误差更小)。
- 成员多样性:每个成员用不同的随机初始化 + 不同的数据 bootstrap/打乱;这是”外推处发散”的来源,务必不要共享参数或用同一数据顺序。
- 方差夹逼:对预测的 做上下界软裁剪,防止 NLL 训练早期方差塌缩/爆炸。
- 轨迹采样(TS)传播不确定性:一条想象 rollout 里,每一步从集成里随机挑一个成员预测(TS-1),或整条 rollout 固定一个成员(TS-∞)。两者都用于传播模型不确定性;风险中性的期望回报不会自动惩罚成员分歧,若要主动回避高分歧区域,仍需下置信界、CVaR 或显式分歧惩罚 [2]。
- 输入/输出归一化:对 与 做标准化,几乎是 MBRL 能不能训起来的分水岭。
把不确定性接进规划:在 model.step 里除了返回采样的 与 ,可对回报施加不确定性惩罚 ,其中 用集成成员预测的分歧(如 成员间均值差或方差)度量。 越大越保守——这正是离线 RL(模块 09)“悲观”思想的在线/模型版本。
D8.3 MBPO 调参:rollout 长度 k 与真实/模型数据混合比例
第 7 节式(8.3) 给了 MBPO 误差权衡的示意界 。落到调参上,两个关键旋钮是分支 rollout 长度 与训练 batch 里模型数据占比。
调参直觉
- rollout 长度 :由界看, 大→想象数据更多样( 升)但模型误差惩罚 线性增。实践从 起步,随训练进行、模型变准( 降),按 线性调度把 从 1 慢慢升到 5~15。模型越差、任务越混沌 → 越要短。
- 真实/模型数据混合比例:SAC 的每个更新 batch 从”真实回放池 + 模型回放池”按比例采样。常见配方是 模型数据占大头(如约 5% 真实、其余为模型数据,甚至 95% 以上为模型)——因为模型数据近乎免费、量大;真实数据虽少但用于兜底纠偏和更新模型本身。比例过偏向模型 → 被模型误差带偏;过偏向真实 → 退化成普通 SAC、丢掉样本效率。
- 模型更新频率 & UTD:每收集一小批真实数据就重训/微调集成;MBPO 的高更新-数据比(UTD, update-to-data)(每步做很多次梯度更新)是其样本效率的来源,但也更易过拟合,需配合集成与短 rollout。
- 失败排查:若性能忽好忽坏 → 太长或模型欠拟合;若样本效率没比 SAC 好 → 模型数据占比太低或 UTD 太小;若早期崩 → 归一化没做或方差未夹逼。
图 8:MBPO 用少量真实交互更新集成模型并兜底,模型从真实状态出发做短 步分支 rollout 产出海量想象数据,SAC 在真实+模型混合 batch 上训练。
方法溯源:动机 · 启发 · 局限
基于模型 RL 的历史是一部 “与模型误差搏斗”的历史:几乎每个新方法都是为了修补前一个方法暴露出的误差被利用 / 被放大的漏洞。下表把这条谱系串起来——每一行的”关键局限”往往正是下一行”要解决的问题”。
| 方法 / 代表作(年代) | 要解决什么问题(动机) | 受什么启发 / 技术脉络 | 关键局限(→ 引出谁) |
|---|---|---|---|
| Dyna(Sutton 1990) | 无模型 RL 每条真实经验只用一次、样本效率太低 | 把”学习、规划、反应”统一:用模型生成想象经验反哺 model-free 更新 | 表格式 / 浅层,深度化后模型误差会被想象数据放大(→ 现代 Dyna / MBPO) |
| PILCO(Deisenroth & Rasmussen 2011) | 把样本效率推到极致(几次试验就学会摆杆) | 用高斯过程显式建模动力学不确定性,把它解析地传进策略梯度 | GP 难扩展到高维 / 大数据、计算昂贵(→ 用神经网络概率集成替代 GP) |
| PETS(Chua 等 2018) | 让神经网络模型也具备 GP 级样本效率、并抑制规划器的乐观利用 | 概率网络集成(aleatoric + epistemic)+ 轨迹采样 + CEM-MPC | 纯规划、无摊销策略,每步重规划贵;“期望值”准则不等于安全(→ Dyna 式的 MBPO) |
| MBPO(Janner 等 2019) | 给 model-based 一个单调改进保证、并从理论上控制误差累积 | Dyna + 概率集成 + 从真实状态出发的短分支 rollout + SAC | 短 rollout 限制长程缝合、界较松、 需按调度增大(→ 隐空间长程想象) |
| World Models(Ha & Schmidhuber 2018) | 高维像素下学紧凑动力学,并在”梦里”训练控制器 | VAE 压表示 + RNN(MDN)预测隐状态 + 在隐空间训练简单控制器 | 三段式分离、需重建观测、控制器过简(→ 端到端的 PlaNet / Dreamer) |
| PlaNet / Dreamer v1–v3(Hafner 等 2019–2023) | 像素任务上端到端地”在想象中训练 actor-critic” | RSSM(确定性 + 随机隐)+ 序列 ELBO(呼应模块 07)+ 解析梯度穿越模型 | 需重建观测(被迫编码决策无关细节)、跨任务要靠 v3 的 symlog / two-hot 等稳健化(→ 价值等价模型) |
| MuZero(Schrittwieser 等 2019 / 2020) | 规则未知时也能像 AlphaZero 那样用 MCTS 强规划 | 学隐空间模型(表示 / 动力学 / 预测三头)+ MCTS,损失只对齐价值 / 策略 / 奖励、不重建观测 | 隐状态不可解释、连续 / 离线需扩展(Sampled MuZero、Unplugged)(AlphaZero 谱系的通用化) |
演进故事线 ①:省样本的代价,就是与模型误差的军备竞赛
主线的原动力只有一个:用监督式的动力学预测替代稀疏的强化信号来省样本(Dyna 起头,PILCO 用 GP 把样本效率逼到极致)。但代价立刻浮现——规划器是一个对抗性优化器,专挑模型最乐观、误差最大的地方( 的分布漂移)。历史就此变成一连串”堵漏”:MPC 每步重规划、只执行首步,把”要求模型长期准”降级为”只要短期方向对”;PETS 用概率集成让模型”知道自己不知道”,在外推处方差爆表、供规划器悲观打折;MBPO 干脆从真实状态出发只走极短几步,把复利式误差 压回 ,还配了单调改进界。每一招都在回答同一个问题:如何不让规划器被自己学的模型骗到。
演进故事线 ②:从”低维向量”到”隐空间世界模型”,再到两种哲学的分野
当观测变成高维像素,“在原始观测上学动力学”既贵又难,于是主线转入隐空间:World Models 先证明可以把像素压进隐状态、在”梦里”训练控制器;PlaNet 用 RSSM + 序列 ELBO 把它做扎实;Dreamer 三代把”规划”升级为”在想象中反传解析梯度训 actor-critic”,并靠 v3 的尺度不变性 trick(symlog、two-hot)实现”一套超参跨 100+ 任务”。但这里出现了路线分叉:Dreamer 是重建式世界模型(要能还原像素,被迫编码云朵、背景等决策无关信息);MuZero 则走价值等价式——隐状态不重建观测,只要求足以预测价值 / 策略 / 奖励,把表示预算全花在”对决策有用”的抽象上,再在隐 MDP 里跑 MCTS。二者是世界模型的两种哲学:生成完整世界 vs 只建对决策有用的部分。
贯穿线:MBRL 把学习难度从”决策”搬到”预测”
整条谱系可压成一句话:基于模型 RL 用”稠密、可监督的预测信号”换掉了”稀疏、高方差的强化信号”——省样本,但把胜负押在模型预测准不准上。 正因如此,它的每个里程碑都在同一根轴上权衡:预测越准(GP → 概率集成 → RSSM → 价值等价隐模型),能安全展开的想象就越长、规划就越强。这也解释了为什么”预测下一帧 / 下一 token”的生成式世界模型(Sora、Genie)与把 LLM 当 world model 会与本模块殊途同归:预测与理解,在信息论意义上是同一枚硬币的两面(更宏观的统一见 模块 15)。现代混合派(MBPO、Dreamer、TD-MPC2)的共同答案则是:用模型省样本,用真实数据 / 短 rollout / 不确定性 / 无模型学习器兜底,防止被模型误差带偏。
图 9:基于模型 RL 的方法谱系。上排是”学模型省样本 → 与模型误差搏斗(MPC / 集成 / 短 rollout)“的主线,下排是转入隐空间后的世界模型,并在末端分叉为重建式(Dreamer)与价值等价式(MuZero)两种哲学。
11. 小结
- 三种用法:纯规划(MPC)、Dyna 式数据增强、模型反传解析梯度。
- v0.5→v1.5:朴素开环因分布漂移失败;MPC 每步重规划、只执行首步,用闭环反馈抵消模型误差。
- 规划器:随机打靶 → CEM(top-k 精英)→ MPPI(exp(R/λ) 软加权,与 MaxEnt 同源)。
- 误差累积:单步误差 在 时线性、 时指数放大 → 必须短 rollout;用 bootstrap ensembles(PETS)估认知不确定性做保守规划。
- Dyna/MBPO:从真实状态做短分支 rollout 喂 SAC,理论上有单调改进界。
- 世界模型:PlaNet/Dreamer 在隐空间学 RSSM(序列 ELBO),Dreamer 在想象中反传训练 actor-critic(v3 靠 symlog/two-hot 等稳健化 trick 免调参跨 100+ 任务),连接 07 的变分推断与前沿视频/可交互世界模型。
- 价值等价模型:MuZero 只学”对决策有用”的隐空间模型(价值/策略/奖励三头,不重建观测),在其上跑 MCTS——与 Dreamer 的重建式模型构成世界模型的两种哲学。
- 权衡:MBRL 高样本效率但渐近性能受模型封顶;混合方法取长补短。
参考来源
- [1]Information Theoretic MPC for Model-Based Reinforcement Learning(在新窗口打开)↩
- [2]Deep Reinforcement Learning in a Handful of Trials using Probabilistic Dynamics Models(在新窗口打开)↩
- [3]When to Trust Your Model Model-Based Policy Optimization(在新窗口打开)↩
- [4]Genie Generative Interactive Environments(在新窗口打开)↩
- [5]Diffusion Models Are Real-Time Game Engines(在新窗口打开)↩
- [6]Video generation models as world simulators(在新窗口打开)↩
- [7]CS 285: Deep Reinforcement Learning(UC Berkeley)(在新窗口打开)