第19章:世界模型基础

本章深入探讨世界模型在机器人控制中的核心作用。世界模型通过学习环境的内部表示,使机器人能够预测未来状态、规划行动序列,并在想象中试错而非现实世界中。我们将从基本概念出发,逐步深入到隐空间表示学习、预测架构设计以及不确定性建模等关键技术。通过本章学习,读者将掌握构建和应用世界模型的完整流程,理解其在提升样本效率和实现长期规划中的关键价值。

19.1 世界模型概念与动机

19.1.1 什么是世界模型

世界模型是一个可以预测环境动态的内部模型,它回答"如果我采取某个动作,环境会如何响应"这一根本问题。与纯粹的无模型强化学习不同,世界模型通过显式建模环境转移函数 $p(s_{t+1}|s_t, a_t)$ 和奖励函数 $r(s_t, a_t)$,使智能体能够:

  1. 心理仿真(Mental Simulation):在内部模型中模拟可能的未来轨迹
  2. 规划优化:通过在模型中搜索找到最优动作序列
  3. 反事实推理:评估"如果采取不同动作会怎样"
  4. 迁移学习:将学到的动力学知识迁移到新任务

19.1.2 为什么需要世界模型

在机器人控制中,世界模型解决了几个关键挑战:

样本效率问题:真实机器人的数据收集成本高昂。一次失败的尝试可能导致硬件损坏或安全事故。世界模型允许在想象中进行大量试错,显著减少与真实环境的交互需求。研究表明,基于模型的方法通常比无模型方法快10-100倍达到相同性能。

长期规划需求:复杂操作任务需要多步骤规划。例如,组装任务需要预见每个动作对后续步骤的影响。世界模型提供了进行树搜索、轨迹优化等规划算法的基础。

组合泛化能力:世界模型学习的是环境的因果结构,而非刺激-反应映射。这种结构化知识更容易泛化到新场景。例如,理解"推动物体会使其移动"这一动力学规律,可以应用于不同形状、质量的物体。

19.1.3 世界模型的组成要素

一个完整的世界模型系统包含:

观察 o_t ──┐
          ├──> 编码器 ──> 隐状态 z_t ──┐
动作 a_t ──┘                          │
                                     ├──> 转移模型 ──> z_{t+1}
                                     │
                                     ├──> 奖励预测器 ──> r_t
                                     │
                                     └──> 解码器 ──> 重构 o'_t

感知模块:将高维观察(如图像)编码为紧凑的隐表示 动力学模块:预测状态转移 $z_{t+1} = f(z_t, a_t)$ 奖励模块:预测即时奖励 $\hat{r}_t = g(z_t, a_t)$ 解码模块:从隐状态重构观察(可选,用于可解释性)

19.2 前向动力学vs逆向动力学建模

19.2.1 前向动力学模型

前向动力学模型预测"给定当前状态和动作,下一状态是什么":

$$s_{t+1} = f_{forward}(s_t, a_t) + \epsilon$$ 其中 $\epsilon$ 表示环境随机性。在确定性环境中,前向模型学习的是物理定律;在随机环境中,模型需要捕获概率分布。

优势

  • 直接对应物理因果关系
  • 可用于多步预测和规划
  • 自监督学习,无需额外标注

挑战

  • 预测误差随时间累积
  • 高维状态空间(如图像)的直接预测困难
  • 部分可观测性导致的不确定性

19.2.2 逆向动力学模型

逆向动力学模型回答"要从状态 $s_t$ 到达 $s_{t+1}$,需要什么动作": $$a_t = f_{inverse}(s_t, s_{t+1})$$ 这在机器人控制中特别有用,因为它直接提供了达到目标状态的动作。

应用场景

  1. 目标条件控制:给定目标状态,反推动作序列
  2. 模仿学习:从专家轨迹中提取动作
  3. 探索奖励:预测动作的新颖性

实现考虑

  • 多解问题:多个动作可能导致相同状态转移
  • 不可达状态:某些状态转移物理上不可能
  • 时间尺度:单步vs多步逆向动力学

19.2.3 双向模型与一致性

现代架构常同时学习前向和逆向模型,通过循环一致性约束提升性能: $$\mathcal{L}_{cycle} = |a_t - f_{inverse}(s_t, f_{forward}(s_t, a_t))|^2$$ 这种双向建模带来几个好处:

  • 正则化效果,防止模型退化
  • 提供多种规划和控制模式
  • 改善表示学习质量

19.3 隐空间表示学习

19.3.1 为什么需要隐空间

直接在原始观察空间(如640×480 RGB图像)进行动力学建模面临维度诅咒。隐空间表示学习将高维观察压缩到低维、语义丰富的表示中:

降维动机

  • 图像中大部分像素与任务无关(背景、光照变化)
  • 物理系统的真实自由度远低于观察维度
  • 低维空间中的动力学更平滑、更容易学习

理想隐空间的特性

  1. 充分性:包含预测未来所需的所有信息
  2. 最小性:去除冗余信息
  3. 结构性:不同因素(位置、速度、物体属性)解耦

19.3.2 变分自编码器(VAE)

VAE通过概率框架学习隐空间:

编码器:$q_\phi(z|x) = \mathcal{N}(\mu_\phi(x), \sigma^2_\phi(x))$ 解码器:$p_\theta(x|z) = \mathcal{N}(\mu_\theta(z), \sigma^2)$

训练目标(ELBO): $$\mathcal{L}_{VAE} = \mathbb{E}_{q_\phi(z|x)}[\log p_\theta(x|z)] - D_{KL}(q_\phi(z|x)||p(z))$$ 第一项是重构损失,第二项是KL散度正则化,使隐空间接近先验分布(通常是标准高斯)。

19.3.3 β-VAE与解耦表示

β-VAE通过调节KL项权重促进解耦: $$\mathcal{L}_{\beta-VAE} = \mathbb{E}_{q_\phi(z|x)}[\log p_\theta(x|z)] - \beta \cdot D_{KL}(q_\phi(z|x)||p(z))$$ 当 $\beta > 1$ 时,模型倾向于学习更解耦的表示。在机器人任务中,解耦表示使得:

  • 不同隐变量对应不同物理属性(位置、角度、速度)
  • 动作对隐空间的影响更可预测
  • 泛化到新物体配置更容易

实践技巧

  • $\beta$ 的选择需要平衡重构质量和解耦程度
  • 渐进式退火:训练初期低 $\beta$,逐渐增加
  • 使用解耦度量(MIG、SAP)评估表示质量

19.3.4 对比学习方法

对比学习通过最大化正样本对相似度、最小化负样本对相似度来学习表示: $$\mathcal{L}_{contrastive} = -\log \frac{\exp(z_i \cdot z_j^+ / \tau)}{\sum_{k} \exp(z_i \cdot z_k / \tau)}$$ 在世界模型中的应用:

  • 时序对比:相邻帧作为正样本对
  • 动作条件对比:相同动作导致的状态转移具有相似模式
  • 多视角对比:同一场景的不同视角保持一致表示

19.4 预测模型架构

19.4.1 循环神经网络(RNN)基础架构

RNN自然适合序列预测任务: $$h_t = f_{RNN}(h_{t-1}, z_t, a_t)$$ $$\hat{z}_{t+1} = g(h_t)$$ 其中 $h_t$ 是隐藏状态,累积历史信息。

LSTM/GRU的优势

  • 长期依赖建模能力
  • 门控机制处理不同时间尺度的动力学
  • 内存效率:固定大小隐状态

实现细节

# 伪代码:LSTM世界模型
hidden = init_hidden()
for t in range(horizon):
    z_t = encode(observation_t)
    hidden = lstm_cell(concat([z_t, action_t]), hidden)
    z_next_pred = predict_head(hidden)
    reward_pred = reward_head(hidden)

19.4.2 Transformer架构

Transformer通过自注意力机制捕获长程依赖: $$\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$ 在世界模型中的优势:

  • 并行训练,效率更高
  • 灵活的注意力模式(因果、双向、稀疏)
  • 更好的长期记忆能力

位置编码策略

  1. 绝对位置编码:简单但限制序列长度
  2. 相对位置编码:更好的长度泛化
  3. 旋转位置编码(RoPE):保持相对位置信息的同时提升效率

19.4.3 混合架构与创新设计

Dreamer架构:结合RNN的时序建模和VAE的概率表示

观察 ──> 编码器(CNN) ──> z_t
                        │
                        v
h_{t-1}, z_t, a_t ──> RSSM ──> h_t ──> 预测 z_{t+1}

Masked Autoencoder:通过遮蔽预测学习时空表示

  • 随机遮蔽部分输入
  • 预测被遮蔽部分
  • 自监督预训练,提升数据效率

神经ODE:连续时间动力学建模 $$\frac{dz}{dt} = f_\theta(z(t), a(t), t)$$ 优势:任意时间点预测、更平滑的轨迹、可逆性

19.5 模型不确定性

19.5.1 认知不确定性vs偶然不确定性

认知不确定性(Epistemic Uncertainty)

  • 源于知识不足,可通过更多数据减少
  • 例如:未见过的物体动力学
  • 建模方法:集成学习、贝叶斯神经网络

偶然不确定性(Aleatoric Uncertainty)

  • 环境固有随机性,无法通过数据消除
  • 例如:传感器噪声、环境扰动
  • 建模方法:概率输出层、异方差模型

区分两类不确定性对机器人决策至关重要:

  • 高认知不确定性 → 谨慎探索
  • 高偶然不确定性 → 鲁棒控制策略

19.5.2 集成方法

训练多个模型,通过预测分歧估计不确定性: $$\text{不确定性} = \text{Var}[\{f_i(s,a)\}_{i=1}^N]$$ 实现策略

  1. Bootstrap集成:不同数据子集训练
  2. 随机初始化集成:相同数据、不同初始化
  3. 架构集成:不同模型架构
# 集成不确定性估计
predictions = []
for model in ensemble:
    pred = model.predict(state, action)
    predictions.append(pred)
mean_pred = np.mean(predictions, axis=0)
uncertainty = np.std(predictions, axis=0)

19.5.3 贝叶斯方法

通过参数后验分布建模不确定性: $$p(\theta|D) \propto p(D|\theta)p(\theta)$$ 变分推断: $$\mathcal{L}_{VI} = D_{KL}(q(\theta)||p(\theta|D))$$ MC Dropout:训练时使用dropout,推理时保持开启

# MC Dropout不确定性估计
predictions = []
for _ in range(n_samples):
    model.train()  # 开启dropout
    pred = model(state, action)
    predictions.append(pred)
model.eval()
uncertainty = torch.std(torch.stack(predictions), dim=0)

19.6 案例研究:DeepMind MuZero在机器人控制中的应用

19.6.1 MuZero核心创新

MuZero突破性地证明了无需学习环境的完整状态表示,仅学习与价值和策略相关的表示即可达到超人表现。其三个核心网络:

  1. 表示网络 $h$:将观察历史编码为隐状态 $$s^0 = h_\theta(o_1, ..., o_t)$$

  2. 动力学网络 $g$:预测隐空间中的状态转移和奖励 $$r^k, s^k = g_\theta(s^{k-1}, a^k)$$

  3. 预测网络 $f$:输出策略和价值 $$p^k, v^k = f_\theta(s^k)$$ 关键洞察:不需要重构观察,只需要预测对决策有用的信息。

19.6.2 在机器人操作中的应用

任务设定:6自由度机械臂的积木堆叠任务

状态表示

  • 输入:RGB-D图像 + 关节角度
  • 隐状态维度:256维向量
  • 无需显式物体检测或位姿估计

训练流程

  1. 收集人类演示数据(~1000条轨迹)
  2. 自对弈改进:机器人在仿真中探索
  3. 蒙特卡洛树搜索(MCTS)规划动作

性能表现

  • 成功率:从随机策略的5%提升到85%
  • 规划深度:有效预测15-20步
  • 泛化能力:适应不同颜色、形状的积木

19.6.3 实现细节与挑战

连续动作空间处理: 原始MuZero设计用于离散动作,机器人控制需要连续动作:

  • 方案1:动作离散化(如每个关节±5°)
  • 方案2:采样连续动作的MCTS变体
  • 方案3:学习动作先验分布引导搜索

实时性要求

  • 挑战:MCTS搜索耗时(~100ms/决策)
  • 解决:蒸馏策略网络,直接输出动作
  • 权衡:牺牲部分性能换取10倍加速

Sim-to-Real迁移

  • 域随机化:变化光照、纹理、物理参数
  • 隐空间正则化:强制仿真和真实数据的隐表示对齐
  • 在线微调:真实环境中持续学习

19.7 高级话题

19.7.1 对比预测编码(CPC)

CPC通过预测未来表示而非原始观察来学习: $$\mathcal{L}_{CPC} = -\sum_{k=1}^K \log \frac{\exp(z_t^T W_k c_{t+k})}{\sum_{z_j} \exp(z_t^T W_k z_j)}$$ 其中 $c_{t+k}$ 是基于历史的未来预测,$z_j$ 是负样本。

优势

  • 避免像素级重构的困难
  • 学习高层语义特征
  • 更好的长期预测能力

在机器人中的应用

  • 预训练视觉编码器
  • 学习动作无关的环境动力学
  • 异常检测和新颖性识别

19.7.2 SimSiam与自监督学习

SimSiam通过简单的孪生网络实现自监督学习,无需负样本:

# SimSiam核心思想
z1 = encoder(aug1(x))  # 增强1
z2 = encoder(aug2(x))  # 增强2
p1 = predictor(z1)
loss = -cosine_similarity(p1, z2.detach())

停止梯度的关键作用:防止模型坍塌到平凡解

机器人视觉的数据增强

  • 几何变换:旋转、缩放(保持物理一致性)
  • 颜色扰动:适应光照变化
  • 遮挡模拟:提升鲁棒性

19.7.3 因果世界模型

传统世界模型学习相关性,因果模型学习干预效果:

结构因果模型(SCM)

环境状态 S ──> 观察 O
    │           │
    v           v
  动作 A ──> 结果 R

因果发现方法

  1. 基于约束的方法:PC算法、FCI算法
  2. 基于分数的方法:GES、NOTEARS
  3. 基于干预的方法:主动学习因果结构

优势

  • 更好的分布外泛化
  • 反事实推理能力
  • 理解动作的真实效果

19.7.4 神经过程(Neural Processes)

结合神经网络的灵活性和高斯过程的不确定性量化: $$p(y_{target}|x_{target}, D_{context}) = \int p(y_{target}|x_{target}, z)p(z|D_{context})dz$$ 元学习视角:快速适应新环境动力学

实现架构

上下文集 ──> 编码器 ──> 聚合 ──> z
                              │
查询点 x ─────────────────────┴──> 解码器 ──> 预测 y

应用场景

  • 多任务世界模型
  • 快速在线适应
  • 处理变化的动力学参数

本章小结

世界模型为机器人提供了理解和预测环境的能力,是实现高效学习和长期规划的关键技术。本章核心要点:

  1. 概念基础:世界模型通过内部仿真减少真实交互需求,提升样本效率和安全性

  2. 建模选择: - 前向动力学适合规划和预测 - 逆向动力学适合控制和模仿 - 双向模型通过一致性约束提升性能

  3. 表示学习: - VAE/β-VAE学习紧凑、解耦的隐空间 - 对比学习捕获时序和语义结构 - 好的表示是准确预测的基础

  4. 预测架构: - RNN适合在线、流式预测 - Transformer提供更强的长程建模 - 混合架构结合各自优势

  5. 不确定性量化: - 区分认知和偶然不确定性指导决策 - 集成和贝叶斯方法提供可靠估计 - 不确定性感知对安全至关重要

  6. 实践洞察(MuZero案例): - 面向任务的表示学习胜过完整重构 - 搜索与学习的结合提升决策质量 - 工程优化(如策略蒸馏)平衡性能与效率

关键公式汇总:

  • VAE目标:$\mathcal{L} = \text{重构} - \text{KL正则}$
  • 前向模型:$s_{t+1} = f(s_t, a_t)$
  • 注意力机制:$\text{softmax}(QK^T/\sqrt{d_k})V$
  • 不确定性:$\text{Var}[\text{ensemble predictions}]$

下一章将探讨如何利用学习到的世界模型进行规划和控制,包括模型预测控制(MPC)、Dreamer系列算法以及视频预测技术的最新进展。

练习题

基础题

19.1 世界模型的核心价值 在机器人抓取任务中,比较使用世界模型和不使用世界模型的强化学习方法。假设每次真实交互成本为1单位,仿真交互成本为0.01单位。如果无模型方法需要10000次交互达到90%成功率,基于模型的方法需要1000次真实交互+50000次仿真交互,计算两种方法的总成本。

Hint: 分别计算真实交互和仿真交互的成本,然后求和。

答案

无模型方法成本:10000 × 1 = 10000单位

基于模型方法成本:1000 × 1 + 50000 × 0.01 = 1000 + 500 = 1500单位

成本降低比例:(10000 - 1500) / 10000 = 85%

基于模型的方法显著降低了交互成本,这在真实机器人系统中尤其重要,因为真实交互不仅耗时,还可能造成硬件磨损或安全风险。

19.2 前向vs逆向动力学 给定机器人末端执行器的当前位置 $p_t = [1.0, 0.5]$ 和目标位置 $p_{t+1} = [1.2, 0.6]$,以及可能的动作空间 $a \in \{[0.2, 0.1], [0.1, 0.2], [0.3, 0]\}$。假设确定性线性动力学 $p_{t+1} = p_t + a$。

a) 使用前向模型预测每个动作的结果 b) 使用逆向模型找出达到目标的动作 c) 如果存在噪声 $\epsilon \sim \mathcal{N}(0, 0.01I)$,哪种模型更容易处理?

Hint: 前向模型直接应用动力学方程,逆向模型需要求解方程。

答案

a) 前向预测:

  • 动作[0.2, 0.1]:$p_{t+1} = [1.0, 0.5] + [0.2, 0.1] = [1.2, 0.6]$ ✓
  • 动作[0.1, 0.2]:$p_{t+1} = [1.0, 0.5] + [0.1, 0.2] = [1.1, 0.7]$
  • 动作[0.3, 0]:$p_{t+1} = [1.0, 0.5] + [0.3, 0] = [1.3, 0.5]$

b) 逆向求解: 所需动作 $a = p_{t+1} - p_t = [1.2, 0.6] - [1.0, 0.5] = [0.2, 0.1]$

c) 噪声情况:

  • 前向模型:$p_{t+1} = p_t + a + \epsilon$,直接加入噪声项即可
  • 逆向模型:需要处理 $a = (p_{t+1} - \epsilon) - p_t$,但 $\epsilon$ 未知,需要估计或忽略

前向模型在有噪声时更自然,因为噪声是动力学的一部分。逆向模型需要额外的假设或鲁棒性设计。

19.3 VAE隐空间维度选择 设计一个VAE用于编码机器人工作空间的RGB图像(224×224×3)。考虑以下因素选择隐空间维度:

  • 工作空间包含最多3个物体
  • 每个物体有6个自由度(位置+姿态)
  • 需要编码颜色和形状信息

估算合理的隐空间维度,并解释你的选择。

Hint: 考虑信息的最小充分表示。

答案

最小信息需求分析:

  • 3个物体 × 6自由度 = 18维(位姿)
  • 3个物体 × 3维(颜色RGB) = 9维
  • 3个物体 × 2维(形状编码) = 6维
  • 环境全局信息(光照等) = 2-4维

理论最小:约35-40维

实践建议:64维或128维

  • 留有冗余以提高鲁棒性
  • 2的幂次便于神经网络设计
  • 过小可能丢失细节信息
  • 过大增加计算成本且可能过拟合

典型选择:64维是良好的起点,可根据重构质量和下游任务性能调整。

19.4 不确定性类型识别 判断以下场景中的不确定性类型(认知/偶然),并说明原因:

a) 机器人第一次遇到玻璃材质的物体 b) 传送带上物体的随机到达时间 c) 未标定相机的深度估计误差 d) 风扰动下的无人机位置偏移

Hint: 认知不确定性可通过学习减少,偶然不确定性是固有的。

答案

a) 玻璃材质物体 - 认知不确定性 原因:缺乏玻璃材质的视觉和物理属性经验,通过更多玻璃物体交互可以减少

b) 传送带物体到达 - 偶然不确定性 原因:到达时间的随机性是系统固有的,无法通过学习消除

c) 未标定相机 - 认知不确定性 原因:标定参数是固定但未知的,通过标定过程可以消除误差

d) 风扰动 - 偶然不确定性 原因:风的随机性是环境固有的,只能建模其统计特性,无法精确预测

理解这种区别对机器人决策很重要:认知不确定性高时应主动探索学习,偶然不确定性高时应采用鲁棒控制策略。

挑战题

19.5 多步预测误差分析 考虑一个简化的一维世界模型,真实动力学为 $s_{t+1} = 0.9s_t + a_t$,学习到的模型为 $\hat{s}_{t+1} = 0.85s_t + a_t$(存在0.05的系数误差)。

a) 推导k步预测的误差累积公式(假设动作序列为0) b) 计算10步后的相对误差 c) 提出两种减少长期预测误差的方法

Hint: 考虑误差的指数增长特性。

答案

a) 误差累积推导:

真实轨迹:$s_k = 0.9^k s_0$ 预测轨迹:$\hat{s}_k = 0.85^k s_0$ 绝对误差:$e_k = |s_k - \hat{s}_k| = |0.9^k - 0.85^k| \cdot |s_0|$

b) 10步相对误差: $e_{rel} = \frac{|0.9^{10} - 0.85^{10}|}{0.9^{10}} = \frac{|0.349 - 0.197|}{0.349} = 43.6\%$

c) 减少误差的方法:

方法1:分层时间抽象

  • 学习不同时间尺度的模型
  • 短期模型(1-3步):高精度预测
  • 长期模型(5-20步):直接预测,避免累积误差
  • 根据预测范围选择合适模型

方法2:误差修正机制

  • 训练误差预测网络:$\epsilon_k = g_\phi(s_0, a_{0:k})$
  • 修正预测:$\tilde{s}_k = \hat{s}_k + \epsilon_k$
  • 使用真实轨迹监督误差预测器

额外方法:

  • 集成多个模型,用分歧检测不可靠预测
  • 使用注意力机制直接关注初始状态,减少中间步骤依赖

19.6 设计实验:解耦表示学习验证 设计一个实验来验证β-VAE是否学习到了解耦的物体属性表示(位置、颜色、形状)。包括:

  • 数据集设计
  • 评估指标
  • 预期结果

Hint: 考虑如何独立变化各个因素。

答案

实验设计:

数据集设计:

  1. 合成数据集:3D渲染环境 - 3种形状:立方体、球、圆柱 - 5种颜色:红、绿、蓝、黄、紫 - 位置:在2×2米工作空间内均匀采样 - 总计:10000张图像,每个因素独立随机

  2. 生成策略: - 固定两个因素,变化第三个因素的序列 - 例如:固定红色立方体,只改变位置

评估指标:

  1. 互信息差距(MIG): $$MIG = \frac{1}{K}\sum_{k} \frac{I(z_j; v_k) - I(z_{j'} v_k)}{H(v_k)}$$ 其中 $z_j$ 是信息量最大的隐变量,$z_{j'}$ 是次大的

  2. 因素预测准确率: - 训练线性分类器从单个隐维度预测因素 - 完美解耦:每个维度100%预测一个因素

  3. 遍历可视化: - 固定其他维度,遍历单个隐维度 - 观察重构图像的变化

预期结果:

理想情况(完全解耦):

  • 隐维度1-2:仅编码x-y位置
  • 隐维度3-5:仅编码颜色(one-hot)
  • 隐维度6-7:仅编码形状
  • MIG > 0.8
  • 单维度因素预测准确率 > 90%

实际可能:

  • 部分解耦,主要因素分离但有轻微纠缠
  • 位置信息最容易解耦(连续、独立)
  • 颜色和形状可能有轻微纠缠(视觉相关)
  • 需要调节β值平衡解耦和重构质量

验证方法:

  1. 干预测试:改变特定隐维度,检查生成图像的变化
  2. 组合泛化:测试未见过的属性组合
  3. 下游任务:使用隐表示进行物体属性预测

19.7 世界模型的组合泛化 你训练了一个世界模型,在以下场景表现良好:

  • 推动单个立方体
  • 推动单个球体
  • 抓取立方体

现在需要执行"推动两个立方体使它们碰撞"的新任务。分析: a) 模型可能面临的泛化挑战 b) 如何设计训练数据提升组合泛化能力 c) 如何在线适应新场景

Hint: 考虑物理交互的组合爆炸问题。

答案

a) 泛化挑战:

  1. 多物体交互: - 训练只见过单物体,缺乏碰撞动力学经验 - 接触力传递的建模缺失 - 物体间遮挡导致的部分可观测问题

  2. 状态空间扩展: - 从1个物体6DoF到2个物体12DoF - 隐空间可能不足以表示多物体状态 - 物体索引和排列的不变性问题

  3. 时序依赖复杂化: - 碰撞时刻的不连续动力学 - 级联效应:推动A影响B的后续运动

b) 训练数据设计:

课程学习策略:

阶段1:单物体基础动力学

- 不同形状、质量、摩擦系数
- 各种推动角度和力度

阶段2:双物体非交互

- 同时存在但不接触
- 学习多物体表示

阶段3:简单交互

- 对齐的正面碰撞
- 可预测的动量传递

阶段4:复杂交互

- 斜角碰撞
- 连锁反应
- 三体及以上交互

数据增强技术:

  • 物体位置随机化
  • 物体属性(质量、摩擦)扰动
  • 时间反转增强(利用物理可逆性)

c) 在线适应策略:

方案1:元学习框架

# MAML-style适应
def adapt_online(world_model, new_task_demos):
    # 保存原始参数
    theta_0 = world_model.parameters()

    # 少样本梯度更新
    for demo in new_task_demos[:5]:
        loss = prediction_error(world_model, demo)
        theta_1 = theta_0 - α * grad(loss)

    # 使用适应后的模型
    return model_with_params(theta_1)

方案2:残差动力学学习

  • 保持原始模型冻结
  • 学习残差:$\Delta s = f_{residual}(s, a, context)$
  • 组合预测:$s_{t+1} = f_{base}(s_t, a_t) + \Delta s$

方案3:检索增强

  • 维护经验缓存
  • 相似场景检索:$k = \arg\min_i d(s_{current}, s_i^{memory})$
  • 基于检索的局部模型调整

实施建议:

  1. 先在仿真环境中验证适应效果
  2. 使用不确定性估计识别分布外场景
  3. 主动收集信息丰富的交互数据
  4. 保持安全边界,避免激进探索

19.8 开放性思考:世界模型的极限 讨论世界模型在以下极端场景中的局限性,并提出可能的解决方向:

  • 混沌系统(如三体问题)
  • 非马尔可夫环境(历史依赖)
  • 对抗性环境(其他智能体)
  • 量子效应主导的微观操作

Hint: 考虑模型假设与现实的差距。

答案

混沌系统挑战:

  • 局限:微小误差指数放大,长期预测不可能
  • 解决方向:
  • 概率轨迹束预测instead of单轨迹
  • 吸引子和不变量学习
  • 短期预测+频繁重规划

非马尔可夫环境:

  • 局限:标准MDP假设失效,隐状态不充分
  • 解决方向:
  • 递归隐状态累积历史
  • 注意力机制over全部历史
  • 显式记忆模块(神经图灵机)
  • 分层时间抽象

对抗性环境:

  • 局限:环境策略会适应并利用模型弱点
  • 解决方向:
  • 博弈论建模(纳什均衡)
  • 鲁棒MDP(最坏情况优化)
  • 对手建模(theory of mind)
  • 持续学习和适应

量子效应操作:

  • 局限:确定性/经典概率模型不适用
  • 解决方向:
  • 量子概率幅建模
  • 密度矩阵表示
  • 测量导致坍缩的特殊处理
  • 混合经典-量子模型

统一的思考: 世界模型的核心假设是环境有可学习的规律。在极端情况下:

  1. 规律可能存在但超出模型容量(混沌)
  2. 规律可能依赖不可观测信息(非马尔可夫)
  3. 规律可能动态变化(对抗)
  4. 规律可能违反直觉(量子)

未来方向:

  • 混合模型:不同场景用不同模型
  • 元模型:学习何时信任/切换模型
  • 人机协作:人类直觉补充模型盲点
  • 基础模型:大规模预训练提升泛化

常见陷阱与错误

1. 过度依赖像素重构

错误:强制VAE完美重构每个像素细节 后果:隐空间被无关细节(如背景纹理)占据,忽略任务相关信息 正确做法

  • 使用感知损失而非L2损失
  • 加入任务相关的辅助损失
  • 考虑部分观察或注意力机制

2. 忽视复合误差

错误:单步预测准确就认为模型可靠 后果:多步推演时误差exponential增长,10步后完全偏离 正确做法

  • 训练时加入多步预测损失
  • 使用scheduled sampling逐渐增加预测步数
  • 实施分层模型,直接预测长期结果

3. 训练测试分布不匹配

错误:只在专家演示数据上训练 后果:机器人自己的动作导致的状态分布未见过,模型失效 正确做法

  • DAgger:混合专家和自己的数据
  • 域随机化增加数据多样性
  • 在线微调适应实际分布

4. 确定性思维

错误:使用确定性模型建模随机环境 后果:无法处理多模态结果(如物体可能左倒或右倒) 正确做法

  • 概率输出(混合高斯、VAE)
  • 集成方法捕获认知不确定性
  • 条件流模型处理多模态

5. 计算资源低估

错误:忽视世界模型的计算开销 后果:实时控制中模型推理成为瓶颈 正确做法

  • 模型压缩(剪枝、量化、蒸馏)
  • 异步规划和执行
  • 缓存和重用计算结果

6. 因果混淆

错误:学习虚假相关性而非因果关系 示例:模型学会"看到手臂阴影→预测物体移动"而非"手臂推动→物体移动" 正确做法

  • 数据增强打破虚假相关
  • 多环境训练
  • 因果发现算法

7. 评估指标误导

错误:只看重构误差或单步预测准确率 后果:模型在真实控制任务中表现差 正确做法

  • 任务相关评估(控制后的成功率)
  • 多步预测稳定性
  • 不确定性校准质量

最佳实践检查清单

设计阶段

  • [ ] 明确建模目标:是为了规划、控制还是理解?
  • [ ] 确定状态表示:原始感知还是结构化状态?
  • [ ] 选择不确定性类型:确定性、概率还是集成?
  • [ ] 设定时间范围:需要预测多远的未来?
  • [ ] 考虑计算约束:实时性要求是什么?

数据准备

  • [ ] 覆盖状态空间:数据是否充分覆盖可能的状态?
  • [ ] 包含失败案例:不只是成功轨迹
  • [ ] 动作多样性:探索性动作和最优动作都有
  • [ ] 环境变化:光照、物体属性、噪声水平
  • [ ] 标注质量:状态标签准确且一致

模型训练

  • [ ] 多步损失:不只优化单步预测
  • [ ] 正则化充分:防止过拟合到训练动力学
  • [ ] 课程学习:从简单到复杂逐步增加难度
  • [ ] 在线评估:训练中定期测试控制性能
  • [ ] 检查点保存:保存不同训练阶段的模型

验证测试

  • [ ] 分布内外测试:测试集应包含新场景
  • [ ] 长期稳定性:验证100+步的预测
  • [ ] 不确定性校准:高不确定性对应高误差
  • [ ] 故障模式分析:了解模型何时失效
  • [ ] 对抗样本测试:轻微扰动的鲁棒性

部署优化

  • [ ] 延迟测试:满足控制频率要求
  • [ ] 内存占用:适配边缘设备限制
  • [ ] 预热程序:模型初始化和预热
  • [ ] 故障恢复:模型失效时的降级策略
  • [ ] 持续监控:记录预测误差和异常

维护更新

  • [ ] 增量学习:新数据的在线适应
  • [ ] 版本管理:模型版本与数据版本对应
  • [ ] A/B测试:新旧模型的对比评估
  • [ ] 回滚机制:问题时快速恢复
  • [ ] 文档完整:假设、限制、已知问题