Model-based RL 总览:规划与控制的关系
一句话定位
Model-based RL 通过学习环境的世界模型,将规划(planning)与强化学习决策统一到同一个框架下,核心优势在于 sample efficiency。
前置依赖
- 强化学习基础(MDP、POMDP、value function、policy gradient)
- 世界模型的基本概念(dreamer、world model)
- latent space planning 的基本思想
核心思想
Model-based RL 的核心思想是先学习一个世界模型,再利用该模型进行规划决策。与 model-free RL 的直接 policy 优化不同,MBRL 将环境建模与决策分离但紧密耦合:
世界模型提供了环境的”模拟器”,使得智能体可以在想象中 roll out 长序列轨迹,从而进行规划。
模型结构图
┌─────────────────────────────────────────────────────────────┐
│ Model-based RL 框架 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Policy │───▶│ World Model │───▶│ Trajectory │ │
│ │ π(a|s) │ │ p(s'|s,a) │ │ Planning │ │
│ └──────┬───────┘ └──────────────┘ └──────────────┘ │
│ │ │ │
│ │ ┌──────────────┐ │ │
│ └────────▶│ Value/ │◀─────────────┘ │
│ │ Advantage │ │
│ └──────────────┘ │
│ ▲ │
│ │ │
│ ┌──────────────┐ │
│ │ Real Env │ │
│ │ Interaction │ │
│ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
数学推导
1. MBRL 的优化目标
Model-based RL 可以分解为两个交替优化的阶段:
阶段1 - 模型学习:
阶段2 - 决策优化(使用学得的模型):
2. 模型误差与规划质量的权衡
设真实转移为
随着 horizon 增加,模型误差累积,导致规划质量下降。
3. 折扣因子与 imagined rollout
使用折扣因子
训练细节
两阶段训练 vs 联合训练
| 训练方式 | 优点 | 缺点 |
|---|---|---|
| 两阶段 | 模型训练稳定 | 模型偏差无法被 policy 纠正 |
| 联合训练 | policy 可纠正模型误差 | 训练复杂、容易不收敛 |
| 混合 | 平衡二者 | 超参数敏感 |
Model Learning 的要点
- 像素空间 vs 潜在空间:在 latent space 规划更高效,但重建损失可能丢失关键信息
- ensemble 模型:多个模型集成,提高规划鲁棒性
- regradients:通过 policy gradient 信号修正模型
Planning 方式的分类
Planning Methods
├── Model-free Planning (Dyna-Q)
│ └── Q-planning, direct RL on model
├── Model-based RL with MPC
│ └── CEM, shooting methods
├── Model-based RL with MCTS
│ └── AlphaGo-style, UCB-based
├── Value-based Planning
│ └── Value iteration in latent space
└── Actor-critic with Imagination
└── Dreamer, IRIS
推理/rollout/planning 过程
MBRL 的推理流程:
1. 观测 o_t → 编码 → state s_t
2. 利用世界模型进行 N 条候选轨迹 roll out:
for each candidate trajectory:
s_t → model → s_{t+1}, r_{t+1}
repeat for H steps
3. 评估每条轨迹的累计回报
4. 选择最优动作(first action 或 entire plan)
5. 与真实环境交互,收集真实经验
6. 更新世界模型
规划方式对比
| 方式 | 搜索方式 | 适用场景 | 计算开销 |
|---|---|---|---|
| MPC | 优化轨迹 | 实时控制 | 中等 |
| MCTS | 树搜索 | 离散动作 | 较高 |
| Value-based | 价值迭代 | 离线规划 | 可低可高 |
| Actor-critic | 想象 rollout | 任意场景 | 可低可高 |
优点与局限
优点
- Sample Efficiency:相比 model-free,MBRL 通常需要 10-100x 更少的环境交互
- 可解释性:规划过程透明,可可视化
- 跨任务迁移:学到的世界模型可迁移到新任务
- 长时序规划:利用模型可进行长距离的因果推理
局限
- 模型误差累积:长 horizon 下误差指数级增长
- 复合误差:模型偏差 + policy 偏差叠加
- 表征学习挑战:如何学习有效的潜在表示
- 部分可观测性:POMDPO 处理复杂
与前后内容的衔接
- 前置:2-世界模型基本框架 - 世界模型学习的基本方法
- 后置:
- 2-MPC - 模型预测控制的规划方法
- 3-MCTS - 蒙特卡洛树搜索的规划方法
- 4-value-based planning - 基于价值的规划
- 5-actor-critic与imagination - 结合 actor-critic 的想象增强
- 6-连续控制中的world model - 连续控制特定问题
- 7-探索与记忆 - 探索策略
可复现实现要点
# MBRL 核心伪代码
class MBRL:
def __init__(self, world_model, planner, policy):
self.model = world_model
self.planner = planner # MPC / MCTS / Value-based
self.policy = policy
def plan(self, obs, horizon=10):
# 编码观测
state = self.model.encode(obs)
# 规划
if self.planner == 'cem':
return self.cem_planning(state, horizon)
elif self.planner == 'mcts':
return self.mcts_planning(state, horizon)
def update(self, replay_buffer):
# 更新世界模型
self.model.fit(replay_buffer)
# 更新 policy (如果使用 actor-critic)
if self.uses_policy_gradient:
self.policy.fit(self.model, replay_buffer)关键实现要素:
- 世界模型使用 variational autoencoder 或 RSSM
- 规划器使用 CEM 或 MCTS
- Replay buffer 存储真实交互经验
- 规划 horizon 需要根据模型误差调参
章节摘要
本章介绍 Model-based RL 中的规划与控制方法。首先总览 MBRL 的整体框架,将规划方法分为 MPC、MCTS、Value-based Planning 和 Actor-critic with Imagination 四大类。MBRL 通过学习世界模型获得环境模拟能力,使得智能体可以在潜在空间中进行大量轨迹 roll out,从而在 sample efficiency 上远超 model-free 方法。然而,模型误差累积是核心挑战,后续各节将详细介绍各类规划方法如何应对这一挑战。
关键词
model-based RL, planning, control, world model, trajectory optimization, MPC, MCTS, value iteration, imagination, latent space, sample efficiency, model error