跳转到内容

Dyna 与模型预测控制

Dyna 用学到的模型生成虚拟经验来更新价值函数;MPC 在每一步用模型向前滚动、优化短期动作序列。本章比较两者以及 PETS、MBPO 等现代变体中"短 rollout + 集成模型"的设计原则。

基于模型的方法先学环境模型 P^,R^\hat{P}, \hat{R}(状态怎么变、奖励怎么给),再决定怎么用。两种基本用法:

  • 模型当数据源(Dyna 路线):用模型生成虚拟经验,喂给无模型算法,增加数据量;
  • 模型当规划器(MPC 路线):每一步用模型向前搜索,直接优化动作序列,不学长期价值。

两者共享同一个前提:模型提供了一种轨迹数据里没有的监督信号——同样的真实数据,模型学习把它压缩成可复用的动力学知识,样本效率因此远高于无模型方法(→ 第五卷导读)。

Dyna (Sutton, 1990) 的循环:真实交互 → 学模型 → 用模型随机生成虚拟转移 (s^,a^,r^,s^′)(\hat{s}, \hat{a}, \hat{r}, \hat{s}') → 用虚拟经验做额外的 Q 更新。真实数据校准模型,模型放大数据的利用率:一次真实经验被转化为无数次虚拟经验,价值在状态空间里传播得更快。

关键在模型误差的处理:虚拟经验的质量受限于模型。Dyna 的表格版本里模型就是记忆(见过的转移精确复现),误差为零;函数逼近时代模型有误差,生成的数据有偏——这是现代变体必须面对的核心问题(→ 模型误差、利用与不确定性)。

模型预测控制(MPC)不用学长期价值,每一步做一次短视规划:

  1. 用当前状态出发,用模型向前滚动 HH 步,对候选动作序列预测累积奖励;
  2. 优化(采样式:CEM/随机射击;或梯度式)出最好的动作序列;
  3. 只执行序列的第一个动作,观察真实结果,下一步重新规划(滚动时域)。

短视(只有 HH 步)意味着 MPC 天然牺牲长期视野换稳定性——不需要价值函数,也就没有自举、没有价值误差的累积。代价是每步都要做一次搜索(计算量大),以及短视野看不到远期后果。

PETS (Chua et al., 2018) 与 MBPO (Janner et al., 2019) 把两条路线的设计原则合体,结论已成为共识:

  • 短 rollout:虚拟 rollout 越长,模型误差累积越严重(复合增长),因此只用1–3 步的短 rollout 从真实状态分支生成虚拟数据——长rollout 的价值想象让位于短 rollout 的局部修正。MBPO 给出了模型误差与 rollout 长度的理论权衡。
  • 概率集成模型:学一个概率模型(输出分布而非点估计),并维护多个模型的集成(ensemble);rollout 时从集成中采样,用模型间分歧度量不确定性。不确定区域的数据被降权或避免。

TD-MPC 等方法进一步把短 rollout 与学到的价值结合:用 HH 步 rollout + 末端价值估计,兼得 MPC 的稳定与价值的长期视野。

Dyna 与 MPC 是基于模型方法的两极:模型当数据(自举仍在)或模型当规划(无自举)。世界模型路线(→ MuZero、Dreamer)属于前者:在(潜空间)模型的 rollout 上做价值学习。贯穿全卷的原则是同一条:短 rollout、不确定性感知、不让误差复合。

  • 短 rollout 限制模型误差的累积
  • 概率集成模型刻画不确定性
  • MBPO 的理论:模型误差与 rollout 长度的权衡