← 返回 2026-07-29

VisualPatchWorld:把代码世界模型当作规划用的结构化潜表示 VisualPatchWorld: Code World Models as Latent Structured Representations for Planning

Jiaxin Bai, Jiaxuan Xiong 📅 2026-07-28 👍 4 2026-08-03 18:30
世界模型 代码世界模型 场景图 机器人操作 模型预测控制 程序归纳

用代码归纳世界动力学,可仿真、可规划、可解释。

前置知识

世界模型 (World Model)

按照 Li (2026) 的功能分类法,世界模型是智能体对环境动力学的内部表征,承担三种角色:渲染(生成观测)、仿真(维护显式状态并在动作下推演)、规划(选择下一步动作)。三者是同一套世界知识的不同投影,其中仿真是核心,因为显式状态与动力学使视觉外观和动作后果都可计算。

本文全部论述都建立在这个三功能分类上:VPW 的目标就是恢复一个能同时服务仿真和规划的『仿真器风格』世界模型,而不是只做渲染或单步预测。

模型预测控制与交叉熵方法 (CEM-MPC)

MPC 是滚动时域规划器:每个重规划步采样若干候选动作序列,用世界模型向前滚动打分,保留精英样本更新采样分布,只执行前 $r$ 步后重新观测状态。CEM(Cross-Entropy Method)就是用精英分位更新高斯分布的实现。论文中 Two-room/Reacher 用 300×10 预算,PushT 用 600×15。

VPW 把诱导出的代码程序直接插进 CEM-MPC 当打分模型,所以『程序是否好用』最终看规划成功率,而不是一步预测误差——这是全文评价的核心落脚点。

程序归纳 (Program Induction)

从输入输出样本中合成可执行程序(通常 Python)的技术。现有代码世界模型方法(PatchWorld、WorldCoder、PoE-World)多采用开放式 LLM 合成:让大模型写转移程序,再用反例引导修复,目标是拟合单步转移。问题在于程序可能语法正确、单步误差低,却编码了错误的动力学形式。

VPW 的核心创新正是针对程序归纳的弱点——它把『选对动力学形式』和『拟合参数』拆成两级,避免了开放式合成选错结构的问题。

场景图 / 对象中心表征 (Scene Graph)

把一帧图像抽象成结构化文本描述,记录物体位姿(坐标、朝向)、成对距离、近接触标志、相对方向等几何与关系属性。论文定义 $g_t = \phi(o_t)$,$\phi$ 可以是读仿真器状态的 oracle 路径、用颜色分割+PCA 求朝向+仿射标定的 CV 工具路径、或调用 Qwen3.5-397B-A17B 的 VLM 路径。所有路径输出同一 schema,使动力学程序能统一消费。

场景图是 VPW 连接『视觉』和『代码动力学』的桥梁:诱导阶段用仿真器状态场景图,规划阶段用图像导出的场景图做实时重规划,共享同一接口让感知误差可被独立评估。

接触动力学与正向运动学 (Contact Dynamics & Forward Kinematics)

接触动力学描述刚体碰撞瞬间的力与运动,如 PushT 中推杆通过接触把动量传给 T 形块;正向运动学(FK)则是给定关节角计算末端执行器位置,如 Reacher 中由关节角 $(q_1, q_2)$ 解析推出指尖坐标。这两类问题里『选对定性形式』(接触驱动 vs 自由运动、关节空间 vs 笛卡尔空间)比拟合参数更关键。

论文用 PushT 和 Reacher 证明:开放式 LLM 合成常把指尖当自由粒子、把接触块当冻结,导致规划失败;而 VPW 通过主动探测选对接触 PD / 关节空间+FK 形式,规划成功率从近零跃升到 22% 和 72%。

研究动机

世界模型研究存在两条割裂的路线,各有硬伤。第一条是神经潜世界模型(Dreamer、LeWM、JEPA/PLDM、DINO-WM),它们在连续向量空间里学动力学,数据驱动、可扩展,但动力学形式隐式——预测出错时没有任何可编辑的方程或程序供检查修复,只能整网重训。第二条是手工物理引擎,状态和物理定律显式、可检查可编辑,最接近理想世界模型,但每个新环境都要人写一份『世界如何变化』的模型,难以规模化。第三条折中是代码世界模型(PatchWorld、WorldCoder、PoE-World、GIF-MCTS、CWM-Game),从交互中归纳可执行程序,但通常只优化单步或轨迹拟合精度:程序可能拟合局部转移却在更长时域上选错动作。论文给出触目惊心的证据——这些方法在接触丰富的 PushT 上规划成功率几乎全是 0–2%,在 Reacher 上只有 6–30%;PatchWorld 把 Reacher 指尖当自由笛卡尔粒子更新($\text{finger.x} \mathrel{+}= dx$)导致规划仅 8%;WorldCoder 在 PushT 上产生几千像素的不稳定跳变($\sum|\Delta b| = 4722$)。

本文的目标是本文要回答三个层层递进的问题:第一,如何从交互轨迹中自动恢复出『仿真器风格』的世界模型——即能接受结构化状态、在候选动作下更新状态、沿动作序列向前滚动、并以可检查可编辑形式暴露转移律的程序?第二,如何让方法选对动力学的『定性形式』,而不是用一个错误形式去拟合参数?第三,恢复出的模型能否在短时域规划器里对候选动作序列排序,相对真值物理引擎还差什么?可量化的目标是:在共享冻结规划器下,四任务平均规划成功率显著超过最强代码基线,并在导航和抓取类任务上逼近 MuJoCo 引擎天花板。

与已有工作不同的是,VPW 抓住一个被现有代码世界模型忽视的关键点:『结构选择』和『参数拟合』必须分开。现有方法让 LLM 开放式合成完整程序,把选形式和定参数混在一起,结果程序能解析、单步误差低,却编码了错误的动力学类(指尖当自由粒子、接触块当冻结)。VPW 借鉴科学定律发现(NewtonBench、LLM-SR)的洞察——静态回归在复杂系统上会失败、需要判别性探针识别正确定律类——把它 restricted 地用到机器人控制:先用少量主动探测(黑盒 reset/step)在一个很小的环境相关候选家族里选定动力学草图,再在固定形式下做参数拟合。这种『先定性、后定量』的拆分,加上多步滚动损失而非单步误差,是它和所有前人代码方法的本质区别。

核心方法

直觉上,VPW 像一个科学家:先用几个判别性实验判断『这是哪一类定律』(牛顿第二定律还是胡克定律?接触驱动还是自由运动?),再去测量常数。流程分四阶段。阶段一视觉抽象:把 RGB 转成场景图 $g_t = \phi(o_t)$,记录物体位姿和关系。阶段二转移导出:把 HDF5 轨迹切成符号化三元组 $(g_t, \tilde{a}_t, g_{t+\delta})$,宏动作离散必须和帧步 $\delta$ 对齐,否则单步预测好看但多步滚动退化。阶段三两级程序归纳(核心):Level 1 用主动探测选动力学草图,Level 2 在固定草图下做多步滚动损失的多起点可微拟合。阶段四规划:把诱导出的程序插进滚动时域 CEM-MPC 打分,可选地对前 30% 候选用 MuJoCo 二次校验(hybrid 模式),并用图像导出的场景图做重规划状态。代码被当作一种『结构化潜表示』——不是黑箱神经激活,而是可滚动、可读源码、可编辑、可插进规划器的可执行程序。

核心是『两级程序归纳,把结构选择和参数估计彻底分离』。Level 1 主动探测:每个环境提供一个紧凑候选家族 $H=\{h_1,\dots,h_K\}$(PushT 上 3 个二元选择 → 8 个草图:PD vs 无记忆、准静态 vs 动量、接触驱动 vs 动作驱动),对每个判别性探针 $p_j$ 调用 reset()+step($p_j$) 记录真实输出 $y_j$,用每个草图预测 $\hat{y}_{kj}$,打分 $s_{kj}=\mathbb{1}[\hat{y}_{kj}\approx y_j]$,选 $h^\star=\arg\max_k\sum_j s_{kj}$,一次性提交一个形式。Level 2 参数辨识:把 $h^\star$ 实例化成带未知常数 $\theta$ 的 Python 模板,用多步滚动损失 $\mathcal{L}(\theta)=\sum\sum\|\hat{g}_t(\theta)-g_t\|^2$ 做多起点可微优化,保留 held-out 滚动误差最低的起点。和现有代码方法的本质区别在于:前者开放式 LLM 合成、优化单步精度易选错动力学类;VPW 用受限假设族 + 主动探测 + 多步滚动损失,保证选对形式且参数对规划友好。同一套流程跨四域复用,只换那个很小的草图家族。

方法步骤详情

阶段一(视觉抽象,Alg.1):oracle 路径直接读仿真器位姿;tool 路径对 RGB 做颜色分割得掩码 $\{M_i\}$,质心 $c_i=\text{mean}(M_i)$、朝向 $\alpha_i=\text{PCA}(M_i)$,可选仿射标定 $c_i\mapsto Wc_i+b$ 再时间平滑,并从像素检测碰撞几何(多边形顶点、agent 半径);VLM 路径用 Qwen3.5-397B-A17B 识别语义但拿不到量纲坐标。阶段二(转移导出,Alg.2):把每条轨迹按帧步 $\delta$ 切,输出 JSONL,宏动作 $\tilde{a}_t=\text{Disc}(a_t,\dots,a_{t+\delta-1})$,要求动作离散与步幅对齐。阶段三 Level 1(Alg.3):对 $M$ 个探针循环 reset/step,对 $K$ 个草图打分,argmax 选 $h^\star$。阶段三 Level 2(Alg.4):模板 $T_{h^\star}(\cdot;\theta)$ 跑 $R$ 个起点,每个 $L$ 步梯度下降 $\theta^{(\ell)}=\theta^{(\ell-1)}-\eta\nabla_\theta\mathcal{L}$,在 Dval 上选 $\theta^\star$;接触模板可用接触点、法向、力臂等特征。阶段四(Alg.5,CEM-MPC):重规划时取 $g_t$,初始化高斯 $\mathcal{N}(\mu_0,\Sigma_0)$,循环 $I$ 次采样 $N$ 条 $h$ 步序列、用诱导模型滚动打分 $J(A)=\text{GoalDist}(\text{Rollout}(f_{\theta^\star},g_t,A,h),G)$,hybrid 模式对 top-30% 候选用 MuJoCo 重打分,精英分位更新分布,执行最优序列前 $r$ 步并重新观测。

技术新颖性

新颖性体现在四点。第一,结构与参数解耦:所有前人代码方法(PatchWorld 反例引导修复、WorldCoder REx 候选池、PoE-World 专家合成、GIF-MCTS 代码编辑搜索、CWM-Game 树搜索合成)都把选形式和定参数混在开放式 LLM 合成里,VPW 第一次显式拆成两级。第二,主动探测做结构发现:借鉴 NewtonBench『静态回归在复杂系统上失败、需要判别性探针』的结论,把它 restricted 地用到机器人控制,每个环境只需一个小假设族(PushT 才 8 个草图)。第三,多步滚动损失而非单步重放损失:$\mathcal{L}$ 在规划时域 $K$ 上累积误差,直接惩罚『单步拟合好但长程漂移』的模型,这是规划可用性的关键。第四,代码即结构化潜表示:区别于 Dreamer/JEPA 的向量潜空间,VPW 的潜是一个可读、可编辑、可插进 CEM-MPC 的可执行程序,失败时能直接检查并修订转移律,而不是重训不透明嵌入。

VisualPatchWorld pipeline.
Figure 2: VisualPatchWorld pipeline.
Two-level program induction (shared across domains), illustrated on a contact-push example.
Figure 3: Two-level program induction (shared across domains), illustrated on a contact-push example.

实验结果

主表(Table 1)是头条:在共享冻结规划器、相同仿真器状态训练轨迹、相同 50 起点 seed-42 下,VPW Oracle+Induced 取 69.0% 四任务平均规划成功率,超过最强代码基线 POMDP-Coder(45.5%)23.5 个百分点,超 PatchWorld(43.0%)26 个点。逐域看:Two-room 96%(天花板 100%,比值 0.96),Reacher 72%(天花板 100%,比值 0.72,比 PatchWorld 的 8% 提升 64 点),PushT 22%(天花板 96%,前人代码方法全 0–2%),Cube 86%(天花板 94%,比 WorldCoder 74% 提升 12 点)。Table 3/Figure 4 滚动分析解释了原因:Reacher 上 PatchWorld/WorldCoder 笛卡尔指尖更新开环误差 0.86,VPW 关节空间跟踪器仅 0.04;PushT 上多基线预测冻结块($\sum|\Delta b|=0$)或不稳定跳变(4722),VPW 恢复接触运动($\sum|\Delta b|=16.2$,真值 140.4)。Table 6 PushT 结构消融:PatchWorld LLM 0%、线性模板仍误定、只有 VPW L1+L2 到 22%,证明结构选择是关键。混合打分(Table 7)大幅补接触缺口:Oracle+Hybrid 95.0% 几乎追平 MuJoCo+CEM 97.5%,PushT 从 22% 跃到 96%,每步物理查询减少 70%(0.3N vs N)。感知审计(Table 8)显示 tool 提取器匹配 oracle(PushT 1.8px vs 1.9px,Two-room 0.19,Cube 0.08,Reacher 0.12),VLM 坐标严重失准(PushT 236px)。多种子(Table 13/14):Oracle+Induced 套件均值 67.5±1.5%,Reacher 帧 CEM 下 Oracle+Hybrid 达 100.0±0.0%。

Main planning comparison, success % with n=50 and seed 42.
Table 1: Main planning comparison, success % with n=50 and seed 42.
Code baselines versus VPW on Reacher and PushT under the shared CEM planner.
Table 3: Code baselines versus VPW on Reacher and PushT under the shared CEM planner.
PushT structure ablation on identical graphs.
Table 6: PushT structure ablation on identical graphs.
Simulator-assisted scoring under the same planners as Table 1.
Table 7: Simulator-assisted scoring under the same planners as Table 1.
查看结构化数据
任务指标本文基线提升
四任务平均规划成功率(LeWM 套件) mean success % 69.0 (Oracle+Induced) 45.5 (POMDP-Coder,最强代码基线) +23.5 个百分点
Reacher 臂到达(DMC 连续控制) CEM success % 72 8 (PatchWorld) / 30 (CWM-Game) +42 至 +64 个百分点
PushT 2D 接触推动 CEM-MPC success % 22 (诱导) / 96 (混合) 0–2(所有前人代码方法) 从近零提升到 22,混合达 96
Cube 3D 多物体重排 library shooting success % 86 (Oracle+Induced) 74 (WorldCoder) +12 个百分点
混合打分四任务均值 mean success % 95.0 (Oracle+Hybrid) 97.5 (MuJoCo+CEM 物理天花板) 几乎追平天花板,物理查询减 70%

局限与改进

作者承认四点局限。其一,接触丰富的 PushT 纯诱导打分仍弱(22% vs 96% 天花板),因为接触事件稀疏且承重,接触瞬间的小排序误差会丢弃本会成功的计划,『规划效用不随单步保真度单调提升』。其二,Reacher 对重规划粒度敏感:粗糙宏 MPC($h=r=\text{fs}=5$)仅 8%,必须帧级 CEM 才到 72%,规划粒度是一阶因素。其三,Cube 上 Oracle+Hybrid(84%)在 $n=50$ 反而略低于 Oracle+Induced(86%),作者解释为噪声范围内(一个 trial 的差别),即诱导已近天花板时混合未必有帮助。其四,作者坦言未做真实机器人和分布外测试。我额外观察到:草图家族是每环境手工设计的(PushT 三轴、Reacher 关节 vs 笛卡尔),并非通用,需领域知识;VLM 路径拿不到量纲坐标(236px RMSE),所谓『Visual』目前主要靠工程化 per-env tool 提取器;Two-room 诱导模型其实是『穿过墙壁』的线性 ridge map,只是目标可达、打分景观平滑才碰巧好用,并未真正建模墙壁约束。

独立分析的弱点

第一个弱点:草图家族是手工的、per-domain 的。PushT 要人指定『PD vs 无记忆、准静态 vs 动量、接触驱动 vs 动作驱动』三轴,Reacher 要人知道『关节空间 vs 笛卡尔』,换新域就得重设家族。改进方向:从数据中自动发现或扩充草图库(作者自列为未来工作),或元学习从更大通用家族里主动探测选择。第二个弱点:只在 LeWM 四个合成仿真任务上验证,没有真实机器人、没有分布外物体形状/物理参数测试。改进方向:部署真实机械臂推动/抓取,测对未知摩擦、几何、质量的迁移。第三个弱点:『Visual』名不副实——tool 提取器是 per-env 工程模块(颜色分割、PCA、标定),VLM 又拿不到量纲坐标。改进方向:训练量纲校准 VLM、引入深度或 RGB-D 恢复度量坐标,或用可微渲染自监督标定。第四个弱点:PushT 接触排序脆弱(诱导仅 22%),接触点/法向在线学习不足。改进方向:接触感知主动探测,专门采集接触瞬间过渡做强化拟合。第五个弱点:Reacher 必须用昂贵的帧级 CEM,粗糙宏 MPC 失败,计算成本高。改进方向:分层规划器、粗到细课程、或学值函数剪枝。

未来方向

作者明确提出三方向:从视觉场景图轨迹端到端诱导程序(真正 visual end-to-end,摆脱对仿真器状态训练轨迹的依赖);扩充草图家族覆盖更多动力学类;测试分布外与真实机器人场景。基于成果可延伸的方向:把代码草图作为结构化先验嵌进 Dreamer 类神经潜世界模型,兼得可解释性与可扩展性;用主动学习循环专门采集最难接触事件的过渡;把 sketch 选择思想推广到更广的科学定律发现问题(与 LLM-SR、NewtonBench 互鉴);引入多模态场景图(深度、触觉)补足 VLM 的量纲短板;在 Two-room 这类『平滑景观碰巧好用』的任务上显式加墙壁/门约束项,避免更复杂导航场景失效。

复现评估

复现友好度中等偏上。代码与配置承诺随 camera-ready 发布在 github.com/HKBU-KnowComp/VisualPatchWorld,用公开的 LeWM 四任务环境及专家 HDF5 轨迹和规划协议。重要加分项:VPW 报告的动力学本身不依赖 LLM——Level 1 探测和 Level 2 滚动拟合只是实例化 Python 模板加可微优化,无开放式 LLM 合成,只要草图家族和提取器写好就能稳定复现。代码基线则共用 Qwen3-Coder-480B-A35B-Instruct-Turbo 的 API 和调用预算,复现成本主要是 API 费。冻结规划器预算在 Table 9(Two-room/Reacher 300×10,PushT 600×15,Cube 400 macros×B=100),多种子区间在 Table 14(5 seed×50 start×4 env)。复现难点有二:每环境需手写场景图 tool 提取器和草图家族;CEM-MPC 与帧级规划有一定算力开销。整体难度中等,有代码和 LeWM 基础的团队可在 1–2 个月内复现主表。