世界模型与持续学习

Dreamer、域随机化、EWC持续学习、Sim2Real迁移——让机器人预见未来、适应变化。

4-5周
8 个章节
代码示例
4 个实验

本阶段目录

  1. 世界模型概念
  2. Dreamer系列
  3. 基于世界模型的规划
  4. 持续学习
  5. Sim2Real
  6. 虚实同步实验

1. 世界模型概念

世界模型是机器人的"内部物理仿真器"——在想象中预演动作的后果。

$$\begin{aligned} z_t &= e_\phi(o_t) \\ \hat{z}_{t+1} &= d_\theta(z_t, a_t) \\ \hat{o}_{t+1} &= g_\psi(\hat{z}_{t+1}) \end{aligned}$$

2. Dreamer系列

RSSM(循环状态空间模型):确定性状态(GRU)+随机状态(高斯)

Dreamer学习流程:编码观测→RSSM前向传播→观测重建损失+奖励预测损失+KL散度损失→反向传播

关键创新:在潜在空间中"做梦"——用世界模型想象轨迹,在想象中训练Actor-Critic,零真实环境交互。

3. 基于世界模型的规划

World Model MPC:搜索最优动作序列——采样候选序列→在世界模型里模拟→选最优

4. 持续学习

方法核心优点
EWCFisher矩阵约束重要参数不存数据
回放混合旧任务数据简单有效
PNN为新任务添加新参数无遗忘

5. Sim2Real

Sim2Real Gap:视觉差距+物理差距+动力学差距+延迟差距

域随机化:训练时随机化物理参数+视觉+传感器噪声→策略对真实世界鲁棒

Sim2Real Pipeline:仿真大量训练(域随机化)→真实少量微调→真实评估

6. Web端简易Sim2Real虚实同步实验

Sim2Real不只是“仿真训练、真机测试”的成功率对比,更重要的是持续观察同一条策略在仿真侧和真实侧是否同步。虚实轨迹一旦开始漂移,通常说明标定、摩擦、延迟、传感器噪声或控制增益里至少有一个环节没有被建模。

站内实验:Web 端虚实同步组件

实验会同时绘制仿真轨迹和真实侧轨迹。你可以调域随机化强度、传感延迟、标定偏差、摩擦差异和策略响应增益,观察同步状态从“锁定”变成“漂移”的临界点。

观察对象Sim轨迹 · Real轨迹 · 目标轨迹
核心指标同步误差 · 真实成功率 · 锁定状态
工程连接系统辨识 · 延迟补偿 · 域随机化

实验记录模板

变量现象工程解释补救动作
传感延迟升高真实轨迹滞后观测到达控制器太晚延迟建模、预测补偿、降低控制周期抖动
标定偏差增大误差长期偏向一侧外参或零位错误重新标定、在线校准、加入偏置估计
摩擦差异增大真实侧响应变慢或过冲接触/地面模型不准系统辨识、摩擦随机化、动作平滑

完成标准

阶段总结

世界模型是具身智能从"反应式"走向"预测式"的关键。Dreamer证明了在想象中学习RL的可行性。持续学习让机器人越用越聪明。

知识地图

主题核心问题连接模块
表征学习如何把高维观测压缩成可预测状态视觉编码器、多模态融合
动力学预测给定状态和动作,未来会怎样模型预测控制、RL、Sim2Real
想象训练能否在模型里采样经验减少真机交互Dreamer、Model-based RL
持续学习新任务学习时如何不忘旧任务EWC、回放、Adapter、LoRA
Sim2Real仿真训练如何迁移到真实机器人域随机化、系统辨识、真实微调

世界模型训练管线

  1. 收集数据:随机策略、专家演示或已有RL策略采集$(o_t,a_t,r_t,o_{t+1})$。
  2. 编码观测:视觉、多模态、本体状态映射到潜在状态$z_t$。
  3. 预测未来:训练动力学模型$p(z_{t+1}|z_t,a_t)$和奖励/终止预测头。
  4. 规划或训练:用MPC/CEM搜索动作序列,或在想象轨迹中训练Actor-Critic。
  5. 真实校准:用真实执行数据修正模型误差,监控预测误差是否随时间漂移。

过渡性小项目:小车世界模型

从一个2D小车环境开始,输入位置、速度和动作,预测下一步状态。先用MLP学习单步预测,再改成多步rollout,观察误差如何随时间累积。

for horizon in [1, 5, 10, 20]:
    pred = state
    loss = 0
    for t in range(horizon):
        pred = dynamics_model(pred, actions[t])
        loss += mse(pred, states[t + 1])
    loss.backward()

扩展:加入图像观测、随机摩擦系数和传感器噪声,测试模型是否能在随机环境中保持预测稳定。

持续学习策略

Sim2Real实践清单

差距症状补救
视觉差距真机识别失败、反光误检纹理/光照/相机随机化,真实图像微调
动力学差距仿真能走,真机打滑或震荡系统辨识、摩擦/质量随机化、控制频率匹配
延迟差距真实执行滞后、超调延迟建模、动作平滑、预测补偿
接触差距插入、抓取、碰撞任务失败力觉闭环、软接触建模、真实少量微调

实验任务与指标

  1. 训练单步和多步世界模型,报告1/5/10/20步预测MSE曲线。
  2. 用CEM在世界模型中规划动作序列,比较随机策略、MPC、真实环境最优轨迹。
  3. 实现EWC,在两个连续任务上报告新任务成功率、旧任务保持率和遗忘度。
  4. 做一次域随机化实验,比较无随机化、视觉随机化、动力学随机化、联合随机化的真机/仿真差距。
  5. 完成Web端虚实同步实验,记录同步误差、真实成功率和导致漂移的主要变量。

能力清单与下一阶段前置要求

完成本阶段后,应能解释世界模型和仿真器的差异,能训练一个可评估的动力学预测模型,能设计Sim2Real随机化范围。进入真实机器人部署前,需要掌握安全边界、日志采集、回滚机制和离线评估。

推荐论文与开源项目

建议阅读 World Models、PlaNet、DreamerV1/V2/V3、MuZero、TD-MPC、EWC,并实践 Isaac Lab、ManiSkill、Meta-World、robosuite 等环境。

教材式自测与学习进度

概念自测

  1. 解释世界模型、仿真器和动力学模型三者的区别。
  2. 说明为什么单步预测误差低,不代表长时规划一定可靠。
  3. 解释RSSM中确定性状态和随机状态分别承担什么作用。
  4. 说明Dreamer为什么可以在潜在空间里训练Actor-Critic。
  5. 解释模型误差如何导致MPC选择“模型里好、真实中坏”的动作。
  6. 比较域随机化和系统辨识的取舍。
  7. 说明灾难性遗忘在机器人持续学习中为什么危险。
  8. 解释为什么真实机器人持续学习必须保留回滚策略。

推导练习

  1. 写出单步动力学预测损失,并扩展为多步rollout损失。
  2. 定义模型预测误差随horizon变化的曲线,并解释误差爆炸的原因。
  3. 写出CEM采样-评估-重拟合动作分布的伪代码。
  4. 写出EWC正则项,并说明Fisher信息为什么代表参数重要性。
  5. 设计一个Sim2Real评估表,区分视觉差距、动力学差距和控制延迟。

工程检查点

进度追踪

里程碑验收标准完成
训练单步模型验证集MSE稳定低于无动作基线
评估多步误差画出1/5/10/20步误差曲线
接入MPC世界模型规划优于随机策略
加入随机化策略在未见参数下仍能完成任务
完成持续学习旧任务保持率、新任务成功率、遗忘度都有记录

学习产出

  1. 一张世界模型结构图,标出encoder、dynamics、decoder、reward head。
  2. 一组预测可视化,对比真实未来帧和模型想象未来帧。
  3. 一张Sim2Real差距表,列出每个差距的症状和补救手段。
  4. 一份持续学习实验报告,包含遗忘度和保持率。
  5. 一段模型失败案例复盘,说明是数据覆盖不足还是模型表达不足。

扩展挑战

  1. 把状态输入从低维向量升级为RGB图像,比较潜在空间预测难度。
  2. 为MPC加入碰撞代价和能耗代价,观察行为是否更安全。
  3. 把CEM替换成梯度优化或MPPI,比较实时性和解质量。
  4. 用真实少量数据做模型微调,评估Sim2Real误差变化。
  5. 为持续学习加入回放缓冲区,比较EWC、回放和LoRA adapter。