有模型 RL:省样本但怕模型偏
学动力学做 imagined rollout 或 MPC;长 horizon 误差累积,短 horizon(MBPO)或 uncertainty 缓解。

1. 真机 sample 贵,模型误差更贵
真机交互 1e5 steps 可能要数周预算;model-based RL 学 和 ,在模型里 rollout 生成 synthetic data 或 MPC 规划,sample efficiency 高一个数量级——真机/interaction 贵时 attractive。Sim 里可百万步 roll model,真机每一步都贵——model-based 的价值在 sim 预训练与 sample 效率,不在真机长 horizon open-loop。
但 compounding error 是硬约束:open-loop 滚 50 步后 imagined state 偏离真实,policy 在 fantasy 里 optimize 到模型漏洞——real eval return 反而降,model loss 曲线却很漂亮。
根因不是「模型不准」,是长 horizon 规划没有误差边界。Model learning 单独训好不等于 RL 好:open-loop MSE 低但 closed-loop return 低,说明 compounding error 或 exploit model bug。Model-based 项目 milestone 1 应是 open-loop MSE,不是 RL return。真机上 model exploit 的代价远高于 sim——fantasy region 里的 policy 可能输出危险动作,上线前必须 closed-loop 验证。
2. 机制:短 horizon 与 replan
MBPO:短 horizon H=5 imagined rollouts + real replay 混合,imagined 占 batch 约 30%,其余 real,防止 policy gradient 主要来自 fantasy。超过 30% 则 real return 可能掉——imagined rollout 比例是显式旋钮,不是越多越好。Real data 训 model、model 生成 data 训 policy,两条线版本要绑定,否则 model 更新后 policy 仍在旧 fantasy 上 optimize。
MPC:每步 replan,只用短模型 rollout,对 compounding error 相对不敏感——最新 obs 纠正 model drift,比 open-loop 100 step plan 稳。MPC 每步 replan 的算力 per-step 更高,但 model 误差容忍度也更高,适合真机 short-horizon 控制。
Dreamer 系在 pixel 输入上更强,工程复杂度也更高;vector state MB 更贴 robotics,state 维数可控时优先简单 dynamics MLP。
3. Uncertainty 与 fantasy region
Ensemble dynamics(PETS、MBPO)给 OOD state 高 uncertainty——ensemble disagreement 大时 planning penalize 或拒绝。无 uncertainty 的 deterministic model 会被 policy exploit 到 fantasy region:Q 在模型从未见过的 state 上虚高,policy 专找这些 region。Ensemble 成员用不同 seed 初始化,disagreement 才有意义;同 seed 复制五份 net 的 ensemble 是假 uncertainty。
Model checkpoint 和 policy checkpoint 版本绑定——换 model 不 retrain policy,closed-loop 行为可能突变。Hybrid batch 比例:real ≥70%,imagined ≤30%,防止 policy gradient 主要来自 fantasy。Imagined data 便宜但有毒,比例是 safety valve。
4. 取舍
| 方法 | 适合 | 风险 |
|---|---|---|
| MPC + short H | 每步 replan,模型误差局部 | 算力 per-step 高 |
| MBPO | sample 贵、sim 可并行 | imagined 比例过高则 real 掉 |
| Long open-loop | 简单 | compounding error 爆炸 |
Open-loop MSE 是 model 健康度粗检:open-loop 滚模型 50 步对比真实 state MSE,MSE 在 10 步内还可控才考虑长 horizon;否则 H 降到 3~5。H 增大是否 real performance 降——是则 compounding error 在主导。Planning horizon 不是越大越好,是 error budget 允许的最大值。
5. 失败模式
模型在 OOD state 乱预测,policy exploit。只训 model 不训 uncertainty,过度自信。Sim 简单动力学 model 易过拟合——train region MSE 极低,稍离分布就崩。Model loss 低但 RL return 高、real eval 低——典型 model exploit。
6. 验收
- Open-loop model rollout 100 step 与真实 trajectory 对比 MSE。
- Model loss 低但 RL return 高、real eval 低 → model exploit,查 imagined batch 比例。
- H 增大是否 real performance 降;ensemble disagreement 在 OOD 是否升高。
- Hybrid batch:real ≥70%,imagined ≤30%。
- Model checkpoint 与 policy checkpoint 版本一致。
7. 案例:open-loop MSE 过关、closed-loop 崩溃
某 manipulation 项目 dynamics model 在 train region open-loop 50-step MSE 极低,团队直接上 MBPO 长 horizon planning——real eval return 比 model-free baseline 还差。排查发现 policy 专找 model 在 OOD 区域预测偏乐观的状态,closed-loop 迅速偏离 train 分布。修复:ensemble uncertainty + imagined batch cap 30% + H 降到 5,real return 才追上 baseline。
8. 与 sim2real 的衔接
Sim 里 model 学得快、rollout 便宜,真机里 model 数据贵、误差代价高——model-based 在 sim 预训练阶段最有价值,真机阶段往往退回 model-free fine-tune 或短 horizon MPC。Pipeline 设计:sim 训 dynamics model + policy,真机只 collect 少量 real data 校准 model bias,而非真机上长 horizon open-loop planning。
Dynamics model 的 state 表示要和 sim2real 一致——sim 用 privileged state、真机只有 partial obs 时,model 无法直接迁移。State 对齐是 model-based sim2real 的前置条件,比 algorithm 选择更先决定成败。真机 collect 的少量 real data 应优先用于 model 校准与 OOD 检测,而非增大 imagined batch 冲 sample 数。
9. 工程 checklist
上线 planning loop 前:open-loop 50-step MSE 在 train 分布内 <阈值;ensemble disagreement 在 OOD 升高;imagined batch ≤30%;real eval 不低于 model-free baseline。四项缺一不上线。Model-based 团队应维护 model health dashboard:MSE、disagreement、imagined ratio、real eval 四曲线同屏,任一恶化即 pause planning。Weekly review 时先看 model 曲线再看 policy return——顺序反了会在 fantasy 上优化数周才发现。Imagined batch 比例是 safety valve,不是 sample 效率旋钮——超 30% 往往 real return 先掉。Open-loop MSE 过关是 planning 上线的硬门槛,不是 soft suggestion。Model health dashboard 四曲线同屏 review 应成为 weekly 固定项。真机阶段 imagined batch 应趋近零,model 仅作 short-horizon MPC。Compounding error 决定 horizon 上限,不是算力决定。MSE 不过关不上 planning loop 是铁律。Fantasy exploit 的代价在真机上远高于 sim。
Model-based 省 sample 是真优势,但 compounding error 和 fantasy exploit 是真风险。短 horizon + uncertainty + real data 主导 batch,是把优势留住、风险压住的最小集合——跳过 open-loop MSE 检查直接上 planning,是在 fantasy 上作画。
相关
也可以看看
- ·3 分钟阅读
稀疏奖励:先改任务再换算法
大部分 step reward=0 时,credit assignment 像噪声;HER、curriculum、shaping 要选组合,纯 PPO 硬扛往往不经济。
- ·16 分钟阅读
约束 MDP 的代价估计偏差:安全层看起来在工作
区分期望约束、条件风险与硬屏蔽,解释代价 critic 偏差如何让可行集虚胖;用约束违反轨迹占比、拉格朗日乘子轨迹和安全层旁路注入验收。
- ·17 分钟阅读
离线强化学习的支持集外动作:为什么 Q 值会自我抬高
从 Bellman backup 的分布外 maximization 解释外推误差;比较行为约束、保守价值与策略正则,并用覆盖率切片与 FQE 交叉验证部署边界。
johan's blog