深度教堂

  • 榜单数据10-16 17:00
  • 论文数据10-16 13:30
  • 周报10-17 11:22

基于模型的强化学习

未发布阅读约 41 分钟人工撰写已核查审核人 ai-fact-check

CS285

本讲迁移自原课程讲义,经 AI 事实核查未发现存疑项,未逐页人工审核;如有出入,以原始论文和 CS285 课程资料为准。

第 08 讲核心模块控制即推断与基于模型的 RL

学习目标

  • 说清 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) 反其道而行:先学一个动力学模型 p^(st+1∣st,at)\hat p(s_{t+1}|s_t,a_t),再用它来规划或生成想象数据。在模型可学准且真实交互昂贵的任务上,这条路往往更省真实样本,却也更”难做好”——因为模型误差会被规划器无情放大。本模块从最朴素的 v0.5 一路推进到 MPC、不确定性感知的 PETS、Dyna 式的 MBPO,以及在隐空间里”于想象中训练”的 Dreamer 系世界模型。

学习目标

  • 说清 MBRL 的三种用法:纯规划、把模型当模拟器训练无模型策略(Dyna)、反传通过模型的梯度;
  • 解释朴素 model-based(v0.5)为何因分布漂移失败,MPC/重规划(v1.5)如何缓解;
  • 掌握三种规划器:随机打靶(random shooting)、CEM、MPPI,理解它们的取舍;
  • 推导模型误差的复利式累积(rollout 长度 HH 越长误差越爆),说清为何要不确定性估计(bootstrap ensembles, PETS);
  • 理解 MBPO 的短 rollout 单调改进界直觉,以及 PlaNet/Dreamer 如何在隐空间”想象中”训练 actor-critic。

1. 什么是基于模型的 RL

核心区别只有一句话:MBRL 显式估计动力学 p^ψ(s′∣s,a)\hat p_\psi(s'|s,a)(和/或奖励 r^ψ\hat r_\psi),并利用它来决策。 学到模型后,有三种典型用法:

  1. 规划(planning):把模型当成可查询的模拟器,用轨迹优化(LQR、打靶、CEM/MPPI)在模型里搜出一段好动作序列,执行第一步(或几步)。不显式学策略网络。
  2. Dyna 式数据增强:用模型生成大量”想象转移”,喂给任意无模型算法(Q-learning、SAC)来训练策略/价值。代表:Dyna、MBPO。
  3. 通过模型反传(analytic gradients):模型可微时,直接把回报对策略参数的梯度沿时间反传穿过动力学模型。代表:PILCO、SVG、Dreamer(在隐空间里做)。

本质 Insight:为什么 model-based 更省样本?

无模型算法每条真实转移只贡献一次标量信号(回报/TD 误差),信息利用率极低;而动力学模型是一个监督学习问题——每条真实转移 (s,a,s′)(s,a,s') 都是一个带稠密标签的样本,可反复用来拟合 p^\hat p。学到 p^\hat p 后,可在模型里近乎免费地生成海量想象数据。本质上,MBRL 把”稀疏、高方差的强化信号”换成了”稠密、可监督的预测信号”,再用规划/想象把预测能力兑换成决策能力。这也解释了它为什么”难做好”——一切都押在模型的预测准不准上。

举例

学倒车入库,如果每次都开真车去试,既费油又可能剐蹭围墙——这是”无模型”式的昂贵试错。聪明人的做法是先在脑子里(或驾校模拟器里)反复演练”方向盘打多少、车尾会怎么摆”,把靠谱的那几步再拿到真车上验证。基于模型的 RL 就是先学一个”车会怎么动”的动力学模型充当模拟器,在里面近乎免费地演练,真实交互只留着纠正模型——这正是它可能提高样本效率的直觉来源。

批判性追问:“model-based 最省样本”——省样本 ≠ 更好

“先学模型、省样本”常被读成”model-based 一定更强”,这偷换了两个不同的指标。省的是样本效率(达到某性能所需的真实交互数),但换来的渐近性能却可能更差——最终水平被模型精度封顶。更尖锐地:当模型不够准(记单步误差 ϵm\epsilon_m 大)、且其误差被规划器 / 策略对抗性利用时,真实回报会低于把同样的真实数据直接喂给 model-free(如 SAC)所能达到的水平。用第 7 节的下界看,净回报 η[π]≥η^model−C1kϵm−C2ϵπ\eta[\pi]\ge\hat\eta_{\text{model}}-C_1 k\epsilon_m-C_2\epsilon_\pi:ϵm\epsilon_m 一旦偏大,惩罚项 C1kϵmC_1 k\epsilon_m 就吃掉、甚至反超想象带来的增益——此时”用了模型”反而是负资产。所以严谨的说法是:model-based 在”交互昂贵 + 模型可学准”的场景省样本;在”模型难学准 + 模拟器免费”的场景,朴素 model-free 往往又稳又强。 省样本是它的卖点,不是它的免罪金牌。

2. 朴素范式 v0.5 与分布漂移

最朴素的 MBRL(Levine 课上称 model-based v0.5):

  1. 用某个基础策略 π0\pi_0(如随机)收集数据 D={(s,a,s′)}\mathcal D=\{(s,a,s')\};
  2. 拟合动力学模型 p^ψ\hat p_\psi(最小化 ∑∥f^ψ(s,a)−s′∥2\sum\|\hat f_\psi(s,a)-s'\|^2 或最大似然);
  3. 用 p^ψ\hat p_\psi 规划出一整段动作序列,开环执行到底。

它在低维、被动系统上偶尔能用,但通常灾难性失败,原因与模仿学习里 BC 的失败一模一样:分布漂移(distribution shift)。

局限 / 陷阱:分布漂移

模型只在 π0\pi_0 访问过的状态分布 pπ0(s)p_{\pi_0}(s) 上准确。可一旦规划器基于模型去优化动作,它就会专门找模型”觉得好但其实是幻觉”的区域——即 pπplan(s)≠pπ0(s)p_{\pi_{\text{plan}}}(s)\ne p_{\pi_0}(s)。规划器是一个对抗性优化器:它主动搜索并利用模型误差最大、最乐观的地方。于是开环执行时真实轨迹迅速偏离模型预测,误差雪崩。

图 1:开环 v0.5 中,规划器沿模型的乐观预测走,真实动力学却把系统带向别处,误差随时间累积。

图 1:开环 v0.5 中,规划器沿模型的乐观预测走,真实动力学却把系统带向别处,误差随时间累积。

v1.0 的修补(类 DAgger):交替”规划执行 → 收集新数据 → 重新拟合模型”,把规划器实际访问到的状态补进训练集,缩小分布漂移。这有帮助,但仍是开环规划,单次 rollout 太长时依旧脆。

3. 重规划 / MPC(v1.5)

真正的关键补丁是模型预测控制(Model Predictive Control, MPC),Levine 记为 v1.5:不要开环执行整段计划,而是每一步都重新规划。

MPC 循环(每个时间步):

  1. 在当前真实状态 sts_t,用模型规划未来 HH 步的最优动作序列 at:t+Ha_{t:t+H};
  2. 只执行第一步 ata_t,观测真实的 st+1s_{t+1};
  3. 丢弃剩余计划,回到步骤 1 在 st+1s_{t+1} 重新规划(滚动时域,receding horizon)。

本质 Insight:重规划为何救命

每步只执行一个动作、下一步用真实观测重启规划,等于给系统装上了闭环反馈。这样即使模型不完美、当前计划后段是幻觉,也无所谓——因为那些后段永远不会被真正执行,下一步会用新的真实状态推倒重来。MPC 把”要求模型长期准确”降级成”只要求模型短期方向大致对”,极大地放宽了对模型精度的要求。代价是每步都要重规划,计算量大。

举例

像下棋:高手会在脑子里盘算未来五步的变化,但真正落子只落这一手;等对手应完、局面更新了,再据此重新往后想五步。谁也不会把预想的五步一次性全落下去——因为越往后越可能算错。MPC 就是这个套路:每步规划未来 HH 步却只执行第一步,下一步用真实观测把计划推倒重来。于是即便模型对后段的预测是幻觉也无所谓,那些后段永远不会被真的走出去。

图 2:MPC 每步规划一段、只执行首步、下步用真实观测重规划。虚线后段是"一次性草稿",从不长期依赖。

图 2:MPC 每步规划一段、只执行首步、下步用真实观测重规划。虚线后段是”一次性草稿”,从不长期依赖。

4. 打靶法:随机打靶、CEM、MPPI

MPC 里”规划 HH 步”本身是一个轨迹优化问题:max⁡at:t+H∑k=0Hr^(st+k,at+k)\max_{a_{t:t+H}}\sum_{k=0}^{H}\hat r(s_{t+k},a_{t+k}) s.t. st+k+1=f^ψ(st+k,at+k)s_{t+k+1}=\hat f_\psi(s_{t+k},a_{t+k})。当模型是黑箱神经网络、动作连续时,最常用的是无梯度的采样式优化(打靶法 shooting)。

为什么这样 · 能不能不这样

为什么用无梯度的随机采样(打靶 / CEM / MPPI)去搜动作序列,而不直接对”回报关于动作”求梯度、或把动力学线性化后用 LQR? 因为规划目标要反复复合穿过一个黑箱神经网络动力学:梯度既可能不好用(模型含 ReLU 断点、非光滑),又极易把优化器带上模型误差最大的”乐观峡谷”——梯度法会精准地爬上那些幻觉高点,正是第 2 节说的”规划器是对抗性优化器”。能不能改用解析梯度 / LQR? 在模型可微、局部线性近似成立时可以,高维下也更高效(见下方规划器对比表),代价是要求可微 / 局部线性、对模型误差异常敏感、易陷局部最优。采样式打靶用”零阶、可并行、对不光滑鲁棒”换掉这些前提——牺牲一些采样效率,换来对黑箱模型的稳健。

4.1 随机打靶(random shooting)

最简单:随机采样 NN 条动作序列 {at:t+H(i)}\{a^{(i)}_{t:t+H}\},在模型里 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)

把随机打靶改成迭代精化的采样分布:从高斯 N(μ,Σ)\mathcal N(\mu,\Sigma) 采样,保留奖励最高的 top-kk 精英(elites),用精英重新估计 μ,Σ\mu,\Sigma,重复数轮。分布逐渐聚焦到高奖励区。

推导/伪码:CEM 更新(逐步)

关键假设

动作序列用对角高斯建模;奖励可在模型里评估;“精英分位数” ρ\rho(如 top 10%)给定。

初始化 μ0,Σ0\mu_0,\Sigma_0。第 jj 轮:

  1. 采样 NN 条:a(i)∼N(μj,Σj)a^{(i)}\sim\mathcal N(\mu_j,\Sigma_j);
  2. 在模型里 rollout,得回报 R(i)R^{(i)};
  3. 取回报最高的 k=ρNk=\rho N 条为精英集 E\mathcal E;
  4. 矩匹配更新:μj+1=1k∑i∈Ea(i)\mu_{j+1}=\frac1k\sum_{i\in\mathcal E}a^{(i)},Σj+1=1k∑i∈E(a(i)−μj+1)2\Sigma_{j+1}=\frac1k\sum_{i\in\mathcal E}(a^{(i)}-\mu_{j+1})^2。

迭代 J 轮后取 μJ\mu_J 的首步执行。直觉:CEM 是”只保留赢家、忘掉输家”的进化式搜索,把采样预算不断集中到有希望的区域。局限:仍是零阶方法,维度高时需要大 NN;对多模态解可能过早收敛到一个峰;每步重规划要跑 J×NJ\times N 次模型 rollout,算力吃紧。

4.3 MPPI(Model Predictive Path Integral)

CEM 用”硬门限”(只留 top-kk);MPPI 则围绕当前控制序列 uu 采样控制扰动 ϵ(i)\epsilon^{(i)},在动力学中计算包含状态与控制代价的轨迹成本 S(τ(i))S(\tau^{(i)}),再按指数成本权重更新每个时刻的控制 [1]:

utnew=ut+∑i=1Nw(i)ϵt(i),w(i)=exp⁡ ⁣(−S(τ(i))/λ)∑jexp⁡ ⁣(−S(τ(j))/λ).(8.1)u_t^{\text{new}}=u_t+\sum_{i=1}^{N} w^{(i)}\epsilon_t^{(i)},\qquad w^{(i)}=\frac{\exp\!\big(-S(\tau^{(i)})/\lambda\big)} {\sum_j\exp\!\big(-S(\tau^{(j)})/\lambda\big)}. \tag{8.1}

温度 λ\lambda 控制权重集中程度。式 (8.1) 是 MPPI 更新的核心骨架;完整推导还依赖受控随机动力学、采样分布与控制代价等假设,不能把一般的 reward-weighted shooting 直接等同于完整 MPPI。

为什么这样 · 能不能不这样

为什么 MPPI 用 exp⁡(R/λ)\exp(R/\lambda) 给所有样本软加权,而不像 CEM 那样只留 top-kk 精英、其余一律丢弃? 因为硬门限把”刚好没进精英线”的大量样本信息整块扔掉,在多模态或噪声大的回报地形上,一次坏采样就可能让精英集偏到某个次优峰、过早收敛;软加权则让每条样本按回报连续地出力,估计更平滑、对采样噪声更稳(且与模块 07 的软 max 同源)。能不能不软、就用 CEM 的硬门限? 可以,实现更直观、也少一个参数,代价是丢信息、易早收敛到局部峰。反过来 MPPI 的代价是多一个温度 λ\lambda 要调——λ→0\lambda\to0 退回只信最好一条(近似 argmax)、λ\lambda 太大又趋于无差别平均。

规划器更新方式优点缺点
随机打靶选单个 argmax最简单、易并行维度诅咒、样本效率低
CEMtop-k 精英 → 重估高斯迭代聚焦、鲁棒常用零阶、算力大、可能早收敛
MPPIexp(R/λ) 软加权平均用全样本、平滑、实时友好需调温度 λ、仍是采样法
解析梯度/LQR反传或线性化高维高效需可微/局部近似、易被模型误差误导

5. 模型误差与复利式累积

MBRL 最根本的敌人是模型误差随 rollout 长度的复利式(compounding)累积。哪怕单步预测误差很小,多步 rollout 里误差也会像复利一样滚雪球。

推导:单步误差 ε 如何累积,并影响 H 步回报

关键假设

每步模型误差有界 ∥f^(s,a)−f(s,a)∥≤ϵ\|\hat f(s,a)-f(s,a)\|\le\epsilon;真实动力学关于状态 Lipschitz 连续,常数 LL;开环 rollout HH 步。若要把状态误差换成累计回报误差,还需奖励关于状态 Lipschitz(或至少有相应连续性界)。

令 Δk=∥s^k−sk∥\Delta_k=\|\hat s_k-s_k\| 为第 kk 步的状态偏差(模型预测 vs 真实)。递推:本步新增误差 ϵ\epsilon,加上前一步偏差经动力学放大 LΔk−1L\Delta_{k-1}:

Δk≤ϵ+L Δk−1,Δ0=0.(8.2)\Delta_k\le \epsilon + L\,\Delta_{k-1},\qquad \Delta_0=0. \tag{8.2}

展开几何级数:ΔH≤ϵ∑j=0H−1Lj\Delta_H\le \epsilon\sum_{j=0}^{H-1}L^{j}。分两种情形:

  • 若 L≈1L\approx 1(临界,常见):ΔH≤ϵH\Delta_H\le \epsilon H,即偏差随时域线性增长;对累计回报误差再积一次得到 O(ϵH2)O(\epsilon H^2)——与模仿学习的二次累积同源。
  • 若 L>1L>1(不稳定系统):ΔH≤ϵ LH−1L−1\Delta_H\le \epsilon\,\frac{L^H-1}{L-1},偏差随时域指数爆炸。
  • 若 L<1L<1(收缩系统):ΔH≤ϵ/(1−L)\Delta_H\le\epsilon/(1-L),状态误差有统一上界;因此“长 rollout 必然指数爆炸”并不成立。

结论:这就是为什么”长 rollout”是 MBRL 的毒药,也是 MPC(缩短有效开环长度)、MBPO(用极短 rollout)、以及不确定性惩罚存在的根本理由。局限:此界是最坏情形上界;实际误差还取决于误差的方向是否被规划器主动利用(对抗性会更糟)。

举例

假设模型每步只错 ϵ=1%\epsilon=1\%,看着微不足道。但偏差会像复利一样累乘:若每步旧偏差还被动力学放大 L=1.1L=1.1 倍,代入 ΔH≤ϵLH−1L−1\Delta_H\le\epsilon\frac{L^H-1}{L-1}——滚 10 步得 0.01×1.110−10.1≈0.160.01\times\frac{1.1^{10}-1}{0.1}\approx0.16,即 16% 的偏差;滚 30 步则膨胀到约 1.641.64(164%),预测早已面目全非。这跟”年化 10% 利滚利,本金翻倍只需 7 年多”是同一个数学。正因如此,长 rollout 是毒药,MPC 和 MBPO 才都拼命把有效步数压到很短。

图 3:rollout 越长,模型误差累积越严重(Lipschitz 常数决定线性还是指数)。因此实践中都尽量缩短开环预测长度。

图 3:rollout 越长,模型误差累积越严重(Lipschitz 常数决定线性还是指数)。因此实践中都尽量缩短开环预测长度。

6. 不确定性估计:ensemble 与 PETS

规划器是对抗性的——它专挑模型最乐观的地方。缓解之道是让模型知道自己不知道:在数据稀疏、外推的区域给出高不确定性,规划时对高不确定的动作打折,从而不被幻觉牵着走。

6.1 两类不确定性

  • 偶然不确定性(aleatoric):环境本身的随机性(噪声)。用概率化网络输出分布(如高斯 N(μψ,Σψ)\mathcal N(\mu_\psi,\Sigma_\psi))来捕捉。
  • 认知不确定性(epistemic):因数据不足导致的”模型自身不确定”。这才是外推误差的来源,需要bootstrap ensembles(自举集成):训练 BB 个初始化/数据 bootstrap 不同的模型(BB 即集成成员数,是自己选的超参,实践常取 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:集成成员在数据覆盖区内几乎重合,在外推区各自发散;发散幅度即认知不确定性,用于惩罚乐观规划。

图 4:集成成员在数据覆盖区内几乎重合,在外推区各自发散;发散幅度即认知不确定性,用于惩罚乐观规划。

6.3 规划目标:期望值 vs 悲观(如何用集成分歧)

有了概率集成,规划器该怎么用这份不确定性?需要区分两个彼此独立的选择:PETS 的 轨迹采样(trajectory sampling, TS) 决定如何在 rollout 中传播模型不确定性,评分准则则决定如何汇总粒子回报 [2]。

  • 传播方式:TS1 在一条 rollout 的每一步重新采样集成成员;TS∞ 在整条 rollout 中固定成员。两者都只规定粒子如何传播,不等同于风险偏好。
  • 风险中性期望:对 TS1 或 TS∞ 产生的粒子回报取平均,Rˉ=Eb,ϵ[∑tr^]\bar R=\mathbb E_{b,\epsilon}[\sum_t\hat r]。PETS 的算法以粒子平均回报评价候选动作序列;风险中性期望本身不惩罚回报方差。
  • 悲观(pessimistic / 下置信界):显式减去一个不确定性惩罚,按回报的下界而非均值打分: R~=Rˉ−κ u(τ)\ \tilde R=\bar R-\kappa\,u(\tau),其中 uu 用集成成员间的分歧度量(如各成员预测均值的最大两两差、或预测方差之和)。κ\kappa 越大越保守。这正是离线 RL”悲观”思想的在线/模型版本。

为什么“分歧”能当认知不确定性代理

设集成 BB 个成员对 (s,a)(s,a) 的预测均值为 {μb}\{\mu_b\}。在数据覆盖区,监督信号通常把成员拉近;在外推区,随机初始化/bootstrap 可能令外推分叉。因此成员间方差 Varb(μb)\mathrm{Var}_b(\mu_b) 可作 epistemic 不确定性的廉价代理,但不是校准后的置信区间。可用 u=max⁡b,b′∥μb−μb′∥u=\max_{b,b'}\|\mu_b-\mu_{b'}\| 或 tr Covb(μb)\mathrm{tr}\,\mathrm{Cov}_b(\mu_b) 作认知不确定性惩罚;单个成员输出的 Σb\Sigma_b 主要描述 aleatoric 噪声,不能与成员分歧混为一谈。

局限 / 陷阱:期望≠安全

风险中性的期望值规划只在”误差对称、无被对抗性利用”时才等价于稳健——若某成员在外推区给出异常高的乐观回报,平均仍可能被它抬高,规划器照样会去追。任务风险高、或数据覆盖很窄时,应转向显式分歧惩罚或其他悲观准则。但 κ\kappa 过大会让智能体”什么都不敢做”,退化成只在数据覆盖区内打转、丧失探索——保守与探索的张力在此显现(对照模块 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 节的误差累积:

  1. 从真实状态出发的短分支 rollout(short branched rollout):不从头 rollout 整条轨迹,而是从真实回放池里的状态出发,用模型只往前走 kk 步(这里的分支 rollout 长度 kk 与前面 MPC 的规划时域 HH 不是一回事:HH 是”每一步决策向前看多远”的规划视野、只为选当前动作,kk 则是”从真实状态出发往前想象多长、生成一段训练片段”的造数据长度;kk 通常很小,如 1–5),把这些短片段加入训练集。这把误差累积上界压到 O(ϵk)O(\epsilon k)。
  2. 用一个概率集成模型(同 PETS)生成数据,用 SAC 作为无模型学习器在”真实 + 想象”混合数据上训练。

推导直觉:MBPO 的单调改进界(为什么短 rollout 是理论必然)

关键假设

模型的单步分布误差(TV/KL)有界 ϵm\epsilon_m;当前策略与收集数据的策略分布偏移有界 ϵπ\epsilon_\pi;奖励有界 rmax⁡r_{\max};分支 rollout 长度 kk。

MBPO 的分析可整理出如下示意形态(原论文界包含依赖 γ\gamma、策略分布偏移与模型误差的更完整系数,不能把下式当作逐字定理):

η[π] ≥ η^model[π] − C1 k ϵm⏟模型误差随 k 增长 − C2 ϵπ⏟分布偏移(8.3)\eta[\pi]\ \ge\ \hat\eta_{\text{model}}[\pi]\ -\ \underbrace{C_1\,k\,\epsilon_m}_{\text{模型误差随 }k\text{ 增长}}\ -\ \underbrace{C_2\,\epsilon_\pi}_{\text{分布偏移}} \tag{8.3}

其中 C1,C2C_1,C_2 含 rmax⁡,γr_{\max},\gamma 等因子。界直接支持的是“kk 越大,模型误差代价越重”;“想象收益随 kk 上升并最终产生唯一最优 k⋆k^\star”还需要下一节额外引入的收益模型,并非该下界单独保证。实践中 ϵm\epsilon_m 难估,kk 通常按验证表现或训练进度调度。

图 5:MBPO 从回放池中的真实状态出发做短(k 步)分支 rollout,兼得样本效率与低模型误差。

图 5:MBPO 从回放池中的真实状态出发做短(kk 步)分支 rollout,兼得样本效率与低模型误差。

7.3 rollout 长度 k 的定量权衡(在示意界上加入收益模型)

把式(8.3) 的下界 η[π]≥η^model[π]−C1kϵm−C2ϵπ\eta[\pi]\ge\hat\eta_{\text{model}}[\pi]-C_1 k\epsilon_m-C_2\epsilon_\pi 当成 kk 的函数来看,就能得到”最优 rollout 长度 k⋆k^\star“的定量直觉。两股力量此消彼长:

  • 增益(随 kk 升):kk 越大,从每个真实状态生成的想象数据越多样、覆盖离数据更远的状态,策略可提升的空间 η^model\hat\eta_{\text{model}} 越高——但这项增益边际递减(越远的想象越接近已被覆盖或已无信息)。
  • 代价(随 kk 线性升):模型误差惩罚 C1kϵmC_1 k\epsilon_m 随 kk 线性累积(正是第 5 节式(8.2) 复利误差在分支 rollout 上的体现)。

若想象收益确实单调、凹且边际递减,则“收益 − 线性误差代价”可呈先升后降,峰值为 k⋆k^\star;模型更准时峰值右移。这里是用于调参直觉的附加建模,不是 MBPO 定理对任意环境保证的曲线。

半定量:给最优 rollout 长度 k⋆k^\star 一个闭式估计(逐步)

关键假设

把式(8.3) 的下界写成 kk 的连续函数 N(k)=G(k)−C1ϵmkN(k)=G(k)-C_1\epsilon_m k(略去与 kk 无关的 C2ϵπC_2\epsilon_\pi);想象增益 G(k)G(k) 单调增、边际递减(凹);模型单步误差 ϵm\epsilon_m 固定。

第 1 步:给增益一个凹的参数形式。“越远的想象越接近已覆盖 / 已无新信息”意味着边际增益指数衰减,取

G(k)=G∞(1−e−k/κ),G′(k)=G∞κ e−k/κ,(8.5)G(k)=G_\infty\big(1-e^{-k/\kappa}\big),\qquad G'(k)=\frac{G_\infty}{\kappa}\,e^{-k/\kappa}, \tag{8.5}

其中 κ\kappa 是”想象还能带来新信息”的特征步数、G∞G_\infty 是增益上限。

第 2 步:一阶条件(边际增益 = 边际代价)。 令 N′(k⋆)=G′(k⋆)−C1ϵm=0N'(k^\star)=G'(k^\star)-C_1\epsilon_m=0:

G∞κ e−k⋆/κ=C1ϵm ⟹  k⋆=κ ln⁡ ⁣G∞κ C1 ϵm .(8.6)\frac{G_\infty}{\kappa}\,e^{-k^\star/\kappa}=C_1\epsilon_m\ \Longrightarrow\ \boxed{\,k^\star=\kappa\,\ln\!\frac{G_\infty}{\kappa\,C_1\,\epsilon_m}\,}. \tag{8.6}

第 3 步:读三条定量结论。(i) k⋆k^\star 有限,且随模型变准(ϵm↓\epsilon_m\downarrow)以对数速度右移,k⋆∝ln⁡(1/ϵm)k^\star\propto\ln(1/\epsilon_m)——正当化了”模型越准、rollout 可越长”的调度直觉;(ii) 存在阈值:当 ϵm≥G∞/(κC1)\epsilon_m\ge G_\infty/(\kappa C_1) 时 k⋆≤0k^\star\le0,意味着模型太差时连想象一步都不划算(应退回 model-free);(iii) 把 k⋆k^\star 代回,最优净增益

N(k⋆)=G∞−C1ϵmκ(1+ln⁡G∞κ C1 ϵm),(8.7)N(k^\star)=G_\infty-C_1\epsilon_m\kappa\Big(1+\ln\frac{G_\infty}{\kappa\,C_1\,\epsilon_m}\Big), \tag{8.7}

随 ϵm\epsilon_m 增大而单调下降——即”模型越差,能兑现的最好收益也越低”。局限:G(k)G(k) 的凹形与 ϵm\epsilon_m 都是难以精确量出的建模假设,此式只给标度关系(k⋆∼ln⁡1ϵmk^\star\sim\ln\tfrac1{\epsilon_m})而非可直接查表的数值;真实 MBPO 里 ϵm\epsilon_m 还随训练变化,故实践仍用调度而非解析代入。

图 6(编者假设模型示意):在额外假设想象收益单调、凹且边际递减时,收益减去线性模型误差代价可形成单峰曲线;这不是 MBPO 定理的直接结论。

图 6(编者假设模型示意):在额外假设想象收益单调、凹且边际递减时,收益减去线性模型误差代价可形成单峰曲线;这不是 MBPO 定理的直接结论 [3]。

8. 隐空间世界模型:PlaNet / Dreamer

前面都假设状态是低维、可观测的向量。但真实任务往往是高维像素观测。直接在像素上学动力学既难又贵。隐空间世界模型(latent-space world models) 的思路:先学一个把观测压成低维隐状态 ztz_t 的表示,再在隐空间里学动力学与规划/训练策略。

编者按 · 批判性视角

本模块讲的世界模型是一条清晰的学术谱系:PETS → MBPO → PlaNet/Dreamer,都以”为控制服务的紧凑动力学模型”为目标。但要指出:当下更受关注的”世界模型”其实来自另一条谱系——由视频生成模型(Sora / Genie / GameNGen) 充当可交互的神经模拟器,以及端到端自动驾驶(FSD)对未来场景可预测性的建模。这条生成式世界模型路线押注的是”用互联网规模的视频数据学到通用动力学先验”,与本课”从自身交互里学一个小模型”的思路在数据来源、规模、目标上都不同。课程成文稍早,基本未覆盖这条路线,而它对未来的影响很可能更大。读本模块时,宜把 Dreamer 系看作”世界模型”的一个经典但不唯一的定义。

8.1 PlaNet

PlaNet(Hafner et al. 2019) 学一个 RSSM(Recurrent State-Space Model,循环状态空间模型):确定性循环状态 hth_t + 随机隐状态 ztz_t,并联合训练编码器 q(zt∣ht,ot)q(z_t|h_t,o_t)、转移先验 p(zt∣ht)p(z_t|h_t)、观测解码器 p(ot∣ht,zt)p(o_t|h_t,z_t)、奖励预测 p(rt∣ht,zt)p(r_t|h_t,z_t)——训练目标是一个序列 ELBO(回顾模块 07 的变分下界)。学好后在隐空间用 CEM 做 MPC 规划。

为什么这样 · 能不能不这样

为什么把动力学学在压缩后的隐空间 ztz_t 里,而不直接在原始像素上预测下一帧? 因为像素维度极高、且绝大多数比特是与决策无关的纹理 / 光照 / 背景——在像素上逐帧预测既昂贵,又逼模型把容量浪费在无关细节上,长程 rollout 更会累积视觉噪声。先学一个把观测压成低维隐状态的表示、再在隐空间递推,既省算力又让动力学聚焦”对预测奖励 / 价值有用”的量。能不能不压、直接在像素空间建模? 可以(早期部分方法如此),代价是训练慢、样本效率低、难扩展到长时域想象。而这层”隐状态还要能重建像素”的要求,正是下一步 MuZero 要进一步砍掉的(价值等价模型,第 9 节)。

8.2 Dreamer 系列

Dreamer(v1→v3, Hafner et al. 2020–2023) 把 PlaNet 从”规划”升级为”在想象中训练 actor-critic”:

  1. 学世界模型(RSSM,序列 ELBO),把像素压进隐状态;
  2. 在想象中 rollout:完全在隐空间里,用世界模型往前推 HH 步(不碰真实环境、不解码回像素),生成想象轨迹;
  3. 反传解析梯度训练 actor:因为整条想象轨迹在隐空间可微,回报对策略参数的梯度可沿时间反向传播穿过世界模型;critic 用 λ\lambda-return 估值、actor 最大化想象回报(带熵正则,呼应 MaxEnt)。

批判性追问:“在想象中训练”是免费午餐吗?

“不碰真实环境、在隐空间想象里训 actor-critic”听起来近乎免费,但想象轨迹是同一个不完美世界模型自己推出来的——第 5 节的复利式误差照样适用:想象越长(HH 越大),隐状态偏离真实流形越远,λ\lambda-return 与解析策略梯度都建立在被污染的后段之上,等于”拿模型的幻觉当监督信号来训练策略”。这解释了两个工程事实:(1) Dreamer 的想象视野 HH 必须克制(通常十几步量级),太长会诱使策略去利用模型的想象漏洞;(2) 真实交互不能停——它唯一的职责就是持续把世界模型拉回真实,否则想象与现实的缝隙会随训练悄悄放大。换言之,“在想象中训练”省的是与环境交互的次数,却没有免除”模型必须持续够准”这个前提;一旦模型在策略新访问到的区域失准,想象训练就会把策略越练越偏。

8.2.1 Dreamer v1 → v2 → v3 的演进要点

Dreamer 三代的主线不变(学 RSSM 世界模型 → 想象中训 actor-critic),但每一代都在表示、稳定性、通用性上做关键升级:

版本关键变化要解决的问题
Dreamer v1(2020)在 PlaNet 的 RSSM 上,首次在想象中反传解析梯度训练 actor-critic(用 λ\lambda-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 =sign(x)log⁡(1+∣x∣)=\text{sign}(x)\log(1+|x|) 把大值压缩、小值近似保线性,把不同量级”拉回同一尺度”;two-hot 把标量回归变成两个相邻 bin 的分类,避免平方损失被极端值主导。本质是”尺度不变性”工程——一旦把尺度问题消掉,同一套超参就能通吃,这正是 v3 “免调参通用”的秘密,也是世界模型迈向”基础模型”的关键一步。里程碑:v3 是首个不看攻略、纯从零采集钻石的 Minecraft 智能体。

本质 Insight

Dreamer 把三条主线缝在一起:模块 07 的变分推断(世界模型的 ELBO)、本模块的模型反传(穿过动力学的解析梯度)、以及 actor-critic 的价值自举。“在想象中学习”意味着真实交互只用于更新世界模型,而策略/价值的大量更新都在几乎免费的隐空间想象里完成——这是它样本效率极高的根源。Dreamer-v3 用同一套超参跨越 100+ 任务(Atari、DMC、Minecraft)不调参,展示了世界模型范式的通用性。

本质 Insight:预测即理解

贯穿本模块的一条暗线是:能准确预测”采取某动作后世界会如何演化”,本身就是一种对世界的理解。model-based RL 的动力学模型 p^(s′∣s,a)\hat p(s'|s,a)、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 hh:把历史观测编码成初始隐状态 s0=h(o≤t)s^0=h(o_{\le t})。
  • 动力学函数 dynamics gg:在隐空间递推, (sk,r^k)=g(sk−1,ak)\ (s^{k},\hat r^{k})=g(s^{k-1},a^{k})——给定隐状态与动作,输出下一隐状态与预测奖励。
  • 预测函数 prediction ff: (p^k,v^k)=f(sk)\ (\hat p^{k},\hat v^{k})=f(s^{k})——从隐状态输出策略先验 p^\hat p(指导 MCTS 展开)与价值 v^\hat v。

训练时把这三者展开 KK 步联合优化,损失只有三项(没有观测重建项):

L=∑k=0K[ ℓp(πt+k,p^k)⏟策略→MCTS 访问分布+ℓv(zt+k,v^k)⏟价值→n-step 回报/自举+ℓr(ut+k,r^k)⏟奖励→真实奖励 ].(8.8)\mathcal L=\sum_{k=0}^{K}\Big[\ \underbrace{\ell^p(\pi_{t+k},\hat p^k)}_{\text{策略}\to\text{MCTS 访问分布}}+\underbrace{\ell^v(z_{t+k},\hat v^k)}_{\text{价值}\to\text{n-step 回报/自举}}+\underbrace{\ell^r(u_{t+k},\hat r^k)}_{\text{奖励}\to\text{真实奖励}}\ \Big]. \tag{8.8}

其中策略目标 πt+k\pi_{t+k} 是 MCTS 在真实步得到的访问计数分布,价值目标 zz 是自举的 n-step 回报,奖励目标 uu 是真实观测到的奖励。

本质 Insight:不重建,反而更强

Dreamer 学的是”能重建像素”的模型——被迫编码画面里与决策无关的细节(背景纹理、云朵)。MuZero 反其道:隐状态不需要能还原观测,只需足以预测价值/策略/奖励。这等于让模型自主发现”对赢下游戏重要”的抽象量,把表示预算全花在决策相关信息上。代价是隐状态失去可解释性(无法解码看图),也不能用重建误差做诊断——但在 Atari/棋类上,这种”value-equivalent(价值等价)“模型比重建式模型更省、更准。它与 Dreamer 是世界模型的两种哲学:重建式(生成完整世界)vs 价值等价式(只建对决策有用的部分)。

9.2 用学到的隐模型跑 MCTS

有了 h,g,fh,g,f,MuZero 就在隐空间里做蒙特卡洛树搜索:根节点 s0=h(o)s^0=h(o);每次模拟按 PUCT(用 p^\hat p 做先验、v^\hat v 做叶子评估、r^\hat r 累积路径回报)选择-展开,用 gg 想象出子节点隐状态、用 ff 评估。搜索若干次后,根节点各动作的访问计数归一化成策略 πt\pi_t(用于真实决策,也回头当训练目标)。规划完全发生在学到的隐 MDP 里,从不查询真实环境。

图 7:MuZero 用 h 编码观测得隐状态,g 在隐空间递推并预测奖励,f 从隐状态输出策略先验与价值;MCTS 在此隐 MDP 上搜索。三个预测头只对齐价值/策略/奖励,不重建观测。

图 7:MuZero 用 hh 编码观测得隐状态,gg 在隐空间递推并预测奖励,ff 从隐状态输出策略先验与价值;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 式模型 = BB 个概率网络,每个成员输出高斯 N(μψb(s,a),Σψb(s,a))\mathcal N(\mu_{\psi_b}(s,a),\Sigma_{\psi_b}(s,a))(捕捉 aleatoric),成员之间的分歧捕捉 epistemic。训练与 rollout 的实操细节:

工程要点

  • 训练目标(高斯 NLL):每个成员最小化 12(μψ−Δs)⊤Σψ−1(μψ−Δs)+12log⁡det⁡Σψ\tfrac12(\mu_\psi-\Delta s)^\top\Sigma_\psi^{-1}(\mu_\psi-\Delta s)+\tfrac12\log\det\Sigma_\psi,其中回归状态增量 Δs=s′−s\Delta s=s'-s(比直接预测 s′s' 更稳、误差更小)。
  • 成员多样性:每个成员用不同的随机初始化 + 不同的数据 bootstrap/打乱;这是”外推处发散”的来源,务必不要共享参数或用同一数据顺序。
  • 方差夹逼:对预测的 log⁡σ2\log\sigma^2 做上下界软裁剪,防止 NLL 训练早期方差塌缩/爆炸。
  • 轨迹采样(TS)传播不确定性:一条想象 rollout 里,每一步从集成里随机挑一个成员预测(TS-1),或整条 rollout 固定一个成员(TS-∞)。两者都用于传播模型不确定性;风险中性的期望回报不会自动惩罚成员分歧,若要主动回避高分歧区域,仍需下置信界、CVaR 或显式分歧惩罚 [2]。
  • 输入/输出归一化:对 (s,a)(s,a) 与 Δs\Delta s 做标准化,几乎是 MBRL 能不能训起来的分水岭。

把不确定性接进规划:在 model.step 里除了返回采样的 s′s' 与 r^\hat r,可对回报施加不确定性惩罚 r^←r^−κ u(s,a)\hat r\leftarrow \hat r-\kappa\,u(s,a),其中 uu 用集成成员预测的分歧(如 max⁡\max 成员间均值差或方差)度量。κ\kappa 越大越保守——这正是离线 RL(模块 09)“悲观”思想的在线/模型版本。

D8.3 MBPO 调参:rollout 长度 k 与真实/模型数据混合比例

第 7 节式(8.3) 给了 MBPO 误差权衡的示意界 η[π]≥η^model[π]−C1kϵm−C2ϵπ\eta[\pi]\ge\hat\eta_{\text{model}}[\pi]-C_1 k\epsilon_m-C_2\epsilon_\pi。落到调参上,两个关键旋钮是分支 rollout 长度 kk 与训练 batch 里模型数据占比。

调参直觉

  • rollout 长度 kk:由界看,kk 大→想象数据更多样(η^\hat\eta 升)但模型误差惩罚 C1kϵmC_1 k\epsilon_m 线性增。实践从 k=1k=1 起步,随训练进行、模型变准(ϵm\epsilon_m 降),按 线性调度把 kk 从 1 慢慢升到 5~15。模型越差、任务越混沌 → kk 越要短。
  • 真实/模型数据混合比例:SAC 的每个更新 batch 从”真实回放池 + 模型回放池”按比例采样。常见配方是 模型数据占大头(如约 5% 真实、其余为模型数据,甚至 95% 以上为模型)——因为模型数据近乎免费、量大;真实数据虽少但用于兜底纠偏和更新模型本身。比例过偏向模型 → 被模型误差带偏;过偏向真实 → 退化成普通 SAC、丢掉样本效率。
  • 模型更新频率 & UTD:每收集一小批真实数据就重训/微调集成;MBPO 的高更新-数据比(UTD, update-to-data)(每步做很多次梯度更新)是其样本效率的来源,但也更易过拟合,需配合集成与短 rollout。
  • 失败排查:若性能忽好忽坏 → kk 太长或模型欠拟合;若样本效率没比 SAC 好 → 模型数据占比太低或 UTD 太小;若早期崩 → 归一化没做或方差未夹逼。

图 8:MBPO 用少量真实交互更新集成模型并兜底,模型从真实状态出发做短 k 步分支 rollout 产出海量想象数据,SAC 在真实+模型混合 batch 上训练。

图 8:MBPO 用少量真实交互更新集成模型并兜底,模型从真实状态出发做短 kk 步分支 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 限制长程缝合、界较松、kk 需按调度增大(→ 隐空间长程想象)
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 把样本效率逼到极致)。但代价立刻浮现——规划器是一个对抗性优化器,专挑模型最乐观、误差最大的地方(pπplan(s)≠pπ0(s)p_{\pi_{\text{plan}}}(s)\ne p_{\pi_0}(s) 的分布漂移)。历史就此变成一连串”堵漏”:MPC 每步重规划、只执行首步,把”要求模型长期准”降级为”只要短期方向对”;PETS 用概率集成让模型”知道自己不知道”,在外推处方差爆表、供规划器悲观打折;MBPO 干脆从真实状态出发只走极短几步,把复利式误差 O(ϵH2)O(\epsilon H^2) 压回 O(ϵk)O(\epsilon k),还配了单调改进界。每一招都在回答同一个问题:如何不让规划器被自己学的模型骗到。

演进故事线 ②:从”低维向量”到”隐空间世界模型”,再到两种哲学的分野

当观测变成高维像素,“在原始观测上学动力学”既贵又难,于是主线转入隐空间: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)两种哲学。

图 9:基于模型 RL 的方法谱系。上排是”学模型省样本 → 与模型误差搏斗(MPC / 集成 / 短 rollout)“的主线,下排是转入隐空间后的世界模型,并在末端分叉为重建式(Dreamer)与价值等价式(MuZero)两种哲学。

11. 小结

  • 三种用法:纯规划(MPC)、Dyna 式数据增强、模型反传解析梯度。
  • v0.5→v1.5:朴素开环因分布漂移失败;MPC 每步重规划、只执行首步,用闭环反馈抵消模型误差。
  • 规划器:随机打靶 → CEM(top-k 精英)→ MPPI(exp(R/λ) 软加权,与 MaxEnt 同源)。
  • 误差累积:单步误差 ϵ\epsilon 在 L≈1L\approx1 时线性、L>1L>1 时指数放大 → 必须短 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. [1]Information Theoretic MPC for Model-Based Reinforcement Learning(在新窗口打开)arXiv · 2017-07-07 · Section III · 访问于 2026-10-17↩
  2. [2]Deep Reinforcement Learning in a Handful of Trials using Probabilistic Dynamics Models(在新窗口打开)arXiv · 2018-05-31 · Section 5.1 · 访问于 2026-10-17↩
  3. [3]When to Trust Your Model Model-Based Policy Optimization(在新窗口打开)arXiv · 2019-06-19 · Section 4.2 · 访问于 2026-10-17↩
  4. [4]Genie Generative Interactive Environments(在新窗口打开)PMLR · 2024-07-01 · Abstract · 访问于 2026-10-17↩
  5. [5]Diffusion Models Are Real-Time Game Engines(在新窗口打开)arXiv · 2024-08-27 · Abstract · 访问于 2026-10-17↩
  6. [6]Video generation models as world simulators(在新窗口打开)OpenAI · 2024-02-15 · Overview and limitations · 访问于 2026-10-17↩
  7. [7]CS 285: Deep Reinforcement Learning(UC Berkeley)(在新窗口打开)UC Berkeley · 访问于 2026-10-17