TD-MPC 为什么是三类范式之外的 outlier

这篇文章的中心问题很窄:为什么《机器人学习中三类 World Model 范式的数学本质》比较了三类范式,却没有把 TD-MPC 放进去?

答案要从比较对象开始。原文讨论的三类路线,主要属于当前机器人 world model 里更主流的 world model + action prediction 范式。它们把核心问题写成:机器人已经看到历史观测、执行过历史动作、读到语言指令,下一步动作应该服从什么分布?

\[ h_t=(o_{1:t},a_{1:t-1},l), \qquad \pi(a_t\mid h_t). \]

围绕这个条件策略,可以得到三种参数化方式:

三者的共同点比名字更重要:动作 \(a_t\) 是被预测的对象。模型从历史 \(h_t\) 出发,经过未来目标、单一 backbone 或共享表示,最终得到动作分布。

TD-MPC 的数学对象换了一个方向。它最终也输出动作,但动作在计算链里先作为条件出现。模型先回答一个反事实问题:如果我在当前 latent state 里尝试动作 \(a_t\),下一步 latent state 会怎样,reward 是多少,future value 是多少?

\[ z_t,a_t \longrightarrow z_{t+1},r_t,Q_t \longrightarrow \mathrm{planning} \longrightarrow a_t. \]

这里的 \(z_t\) 是 TD-MPC 的 latent state,也就是模型从当前观测或状态里编码出来的内部状态向量。它通常避开原始图像和完整物理状态,只保留服务 reward、value 和 dynamics prediction 的任务相关信息。

\(Q_t\) 来自 \(Q_\theta(z_t,a_t)\),表示 action-value:在 latent state \(z_t\) 下尝试动作 \(a_t\) 后,模型估计未来还能拿到多少折扣累计回报。字母 \(Q\) 在强化学习里通常读作 “Q value”,历史上可以理解成某个 state-action pair 的 quality。

所以 TD-MPC 的 outlier 性来自主对象错位。三类原文范式以 \(h_t\to a_t\) 为主线;TD-MPC 以 \((z_t,a_t)\to z_{t+1},r_t,Q_t\) 为主线。前者首先是条件动作生成,后者首先是 action-conditioned 建模,再接 planning。

如果一定要把 TD-MPC 放进一个更大的范畴,它更接近 action-conditioned 这一类路线,也接近 action-conditioned JEPA 这种“给定当前表示和动作,预测未来表示”的建模方式。它和 inverse dynamics、end-to-end action backbone、MoT 的关系,首先是一种数学方向上的差别。

共同起点:机器人最终要选动作

先把机器人控制写成最朴素的数学对象。环境在时间 \(t\) 有真实状态 \(x_t\),机器人执行动作 \(a_t\),环境进入下一状态 \(x_{t+1}\),并返回 reward \(r_t\)

\[ x_{t+1}\sim p(x_{t+1}\mid x_t,a_t), \qquad r_t=r(x_t,a_t). \]

机器人控制首先关注未来累计回报;单帧图像预测只是可能的辅助信号:

\[ G_t=\sum_{k=0}^{\infty}\gamma^k r_{t+k}, \qquad \pi^\star=\arg\max_\pi \mathbb E_\pi[G_t]. \]

这里 \(\gamma\in[0,1)\) 是折扣因子。它让近期 reward 权重更高,也让无限和在数学上更稳定。

如果机器人能完整看到 \(x_t\),策略可以写成:

\[ \pi(a_t\mid x_t). \]

真实机器人通常拿不到完整状态。它看到的是 observation:

\[ o_t\sim p(o_t\mid x_t). \]

单帧 \(o_t\) 往往不够。桌面图像里看不出杯子是否已经被碰松,单个关节角看不出速度,单帧 RGB 看不出物体刚刚滑动过。所以控制系统会使用历史:

\[ h_t=(o_{1:t},a_{1:t-1},l). \]

这就得到原文三类范式共同服务的动作预测对象:

\[ \pi(a_t\mid h_t). \]

这行公式属于概率论、统计学习和强化学习的交界。概率论提供条件分布,统计学习用神经网络近似这个分布,强化学习把这个分布放进长期回报最大化问题里。

三类范式的边界:action prediction

原文的三类范式都可以看作对 \(\pi(a_t\mid h_t)\) 的不同分解。这个范围很关键:它的比较边界落在“动作怎样被预测出来”,没有覆盖所有可能的 robot world model。

IDM-style 引入未来目标 \(g_t\)。动作先由未来目标组织:

\[ \pi(a_t\mid h_t) \approx \int_{\mathcal G} \kappa_\phi(a_t\mid h_t,g_t) q_\theta(g_t\mid h_t) \,dg_t. \]

这行公式来自边缘化。若 \(g_t\) 是一个中间随机变量,则有严格恒等式:

\[ p(a_t\mid h_t) = \int_{\mathcal G} p(a_t\mid h_t,g_t) p(g_t\mid h_t) \,dg_t. \]

IDM-style 把真实的两个条件分布替换成可训练模型。\(q_\theta(g_t\mid h_t)\) 预测可能的未来目标,\(\kappa_\phi(a_t\mid h_t,g_t)\) 根据目标反推当前动作。积分是在对所有未来目标做加权平均。如果 \(g_t\) 是离散目标,积分换成求和。

\[ p(a_t\mid h_t) = \sum_{g\in\mathcal G} p(a_t\mid h_t,g) p(g\mid h_t). \]

VLA-style 直接用一个大 backbone 建模多模态输出:

\[ p_\Theta(O_{t+1},A_t,y_t^L\mid h_t). \]

这里 \(O_{t+1}\) 是下一时刻观测,\(A_t\) 是动作或 action chunk,\(y_t^L\) 是语言输出。这个路线把视觉、语言、动作放进一个统一生成模型里,训练时通常用 imitation learning、cross-entropy、diffusion loss、flow-matching loss 或多任务 loss。它的数学中心是联合条件分布,工程中心是一个足够大的 multimodal backbone。

MoT-style 先学习共享表示,再由专家网络分别预测不同输出:

\[ Z_t=f_\Phi(h_t), \]

\[ p_{\Phi,\theta_O,\theta_A,\theta_L} (O_{t+1},A_t,y_t^L\mid h_t) \approx p_{\theta_O}(O_{t+1}\mid Z_t) p_{\theta_A}(A_t\mid Z_t) p_{\theta_L}(y_t^L\mid Z_t). \]

这里 \(Z_t\) 是共享表示。视觉专家、动作专家、语言专家都读取同一个 \(Z_t\),但各自有独立参数。这个结构试图保留共享感知和任务语义,同时减少不同输出头之间的梯度冲突。

大写 \(Z_t\) 和 TD-MPC 里的小写 \(z_t\) 都在表达 latent representation。常见记号习惯是:大写 \(Z_t\) 更像随机变量或共享表示对象,小写 \(z_t\) 更像某次前向计算得到的具体 latent vector。二者都属于 observation 之外的内部表示。

把三者放在一起,可以得到一个统一描述:

\[ h_t \longrightarrow \text{intermediate structure} \longrightarrow a_t. \]

IDM-style 的 intermediate structure 是未来目标 \(g_t\)。VLA-style 的 intermediate structure 是单一 multimodal backbone 的内部 hidden states。MoT-style 的 intermediate structure 是共享表示 \(Z_t\) 加专家输出头。

它们都在回答“动作怎样从历史中产生”。这也是 TD-MPC 缺席的直接原因:TD-MPC 的主要建模对象从动作预测换成了动作条件下的未来预测。

TD-MPC 的 outlier 性:action-conditioned

TD-MPC 的论文题名是 Temporal Difference Learning for Model Predictive Control。这几个词已经暴露了它的结构:TD learning 负责长期价值,MPC 负责短期在线规划,world model 负责提供可规划的 latent dynamics。

TD-MPC 使用的模型叫 TOLD,Task-Oriented Latent Dynamics。它有五个核心接口:

\[ \begin{aligned} z_t &= h_\theta(s_t),\\ z_{t+1} &= d_\theta(z_t,a_t),\\ \hat r_t &= R_\theta(z_t,a_t),\\ \hat q_t &= Q_\theta(z_t,a_t),\\ \hat a_t &\sim \pi_\theta(z_t). \end{aligned} \]

逐个读:

\(s_t\) 是当前 state 或 observation,在图像任务里也可以理解成当前观测输入。
\(h_\theta\) 是 encoder,把输入编码成 latent state \(z_t\)
\(d_\theta\) 是 latent dynamics,输入当前 latent state 和动作,输出下一 latent state。
\(R_\theta\) 是 reward model,预测这一步动作会带来的即时 reward。
\(Q_\theta\) 是 action-value function,也就是 critic,估计在 \(z_t\) 执行动作 \(a_t\) 后的长期 return。
\(\pi_\theta\) 是 policy prior,给 planner 提供动作采样的 warm start。

这组函数都带参数 \(\theta\)。在神经网络里,\(\theta\) 代表权重矩阵、bias、LayerNorm 参数、MLP 参数等所有可学习数字。

这里的关键在于动作进入 world model 的位置。三类动作预测范式把动作当成要预测的标签或输出;TD-MPC 把动作当成 dynamics model 的条件:

\[ (z_t,a_t) \xrightarrow{d_\theta} z_{t+1}. \]

动作 \(a_t\) 先作为候选动作进入 dynamics model,代表 planning 中的一种行动假设。TD-MPC 先构造很多候选动作序列,在模型里试算它们的后果,然后再选择最终执行的动作。

这一步把因果方向翻了过来。Inverse dynamics 问的是:给定历史和目标,什么动作能解释这个变化?Forward dynamics 问的是:给定当前状态和动作,未来会怎样变化?TD-MPC 属于后一类。

差别一:prediction 与 planning

MPC 的基本操作很机械。当前时刻先得到 \(z_t\),然后采样很多候选动作序列:

\[ \tau=a_{t:t+H-1}. \]

对每条候选序列,模型递推预测 latent future:

\[ \begin{aligned} \hat z_{t+1} &= d_\theta(z_t,a_t),\\ \hat z_{t+2} &= d_\theta(\hat z_{t+1},a_{t+1}),\\ &\cdots\\ \hat z_{t+H} &= d_\theta(\hat z_{t+H-1},a_{t+H-1}). \end{aligned} \]

每一步都用 reward model 给短期分数:

\[ \hat r_{t+k}=R_\theta(\hat z_{t+k},a_{t+k}). \]

短 rollout 末端再用 value function 估计后面的长期回报:

\[ J_\theta(\tau) = \sum_{k=0}^{H-1}\gamma^k R_\theta(\hat z_{t+k},a_{t+k}) + \gamma^H V_\theta(\hat z_{t+H}). \]

如果使用 \(Q\) 形式,终端项可以写成:

\[ \gamma^H Q_\theta(\hat z_{t+H},a_{t+H}). \]

Planner 选择分数高的动作序列:

\[ \tau^\star = \arg\max_{\tau} J_\theta(\tau), \qquad a_t=\mathrm{first}(\tau^\star). \]

只执行第一步是 MPC 的重要特征。真实环境执行 \(a_t\) 后,机器人收到新的 observation,再重新编码成 \(z_{t+1}\),重新规划下一步。它每一步都在校正模型误差。

这就是 TD-MPC 的核心计算链:

\[ o_t \xrightarrow{h_\theta} z_t \xrightarrow{\text{candidate actions}} \hat z_{t+1:t+H} \xrightarrow{R_\theta,V_\theta} J_\theta \xrightarrow{\mathrm{planner}} a_t. \]

这个链条和三类动作生成范式的差异很清楚。动作生成范式把 \(a_t\) 当成模型输出的主对象;TD-MPC 把候选动作当成 world model 的输入,让 planner 在 imagined consequences 上做选择。

差别二:value 进入动作选择

MPC 只往前想 \(H\) 步。真实任务可能需要很长时间。机器人走到门口、开门、搬物体、绕障,远远超过几步 dynamics rollout。TD-MPC 用 TD learning 学一个终端 value,补上短 horizon 之后的 return。

从 Bellman 方程开始:

\[ Q^\pi(s_t,a_t) = \mathbb E_\pi \left[ r_t+\gamma Q^\pi(s_{t+1},a_{t+1}) \mid s_t,a_t \right]. \]

它的意思是:当前 state-action 的长期价值,等于当前 reward 加上下一个 state-action 的折扣后长期价值。

TD-MPC 在 latent space 里使用同一个递推思想:

\[ y_t = r_t+\gamma Q_{\bar\theta} \bigl( z_{t+1}, \pi_\theta(z_{t+1}) \bigr). \]

这里 \(y_t\) 是 TD target,\(\bar\theta\) 是 target network 参数。Target network 是一个慢更新的副本,用来让训练目标更稳定。

Value loss 是:

\[ \mathcal L_Q(\theta) = \left\| Q_\theta(z_t,a_t)-y_t \right\|_2^2. \]

这就是 TD 的含义:完整 episode 结束前也可以构造训练目标,目标由“一步 reward + 下一步 value”组成。它让短 horizon planning 和长期回报估计能接起来。

所以 TD-MPC 里 \(Q_\theta\) 承担一个明确职责:在 \(H\)-step rollout 末端估计剩余未来,使 planner 不必把模型往很远滚动。

差别三:latent 学习服务 planner

很多 world model 会预测未来 observation:

\[ \hat o_{t+1}=g_\theta(z_t,a_t). \]

如果 observation 是图像,这个目标可能迫使模型学习背景纹理、光照、阴影、无关物体等大量细节。它们对视觉预测重要,对当前控制未必重要。

TD-MPC 的判断更窄:latent state 应该保留对 reward、value、dynamics 有用的信息。它用三类 loss 训练 TOLD:

\[ \mathcal L(\theta) = c_1\mathcal L_{\mathrm{reward}} + c_2\mathcal L_{\mathrm{value}} + c_3\mathcal L_{\mathrm{consistency}}. \]

Reward loss 让模型预测即时 reward:

\[ \mathcal L_{\mathrm{reward}} = \left\| R_\theta(z_t,a_t)-r_t \right\|_2^2. \]

Value loss 让模型满足 TD target:

\[ \mathcal L_{\mathrm{value}} = \left\| Q_\theta(z_t,a_t) - \bigl( r_t+\gamma Q_{\bar\theta}(z_{t+1},\pi_\theta(z_{t+1})) \bigr) \right\|_2^2. \]

Latent consistency 让 dynamics 预测的下一 latent state 对齐真实下一 observation 的编码:

\[ \mathcal L_{\mathrm{consistency}} = \left\| d_\theta(z_t,a_t) - h_{\bar\theta}(s_{t+1}) \right\|_2^2. \]

这组 loss 共同定义了 task-oriented latent。训练目标会推动 \(z_t\) 优先保存足够支持 reward prediction、value estimation 和 short-horizon rollout 的信息。

换成一句工程话:TD-MPC 的 world model 是 planner 的内部模型。它服务动作选择,完整还原退到背景里。

四类接口的数学比较

把原文三类范式和 TD-MPC 放在同一张数学比较里,差异会更清楚。

路线 主对象 中间变量 训练压力 推理时怎样得到动作
IDM-style \(\pi(a_t\mid h_t)\) 未来目标 \(g_t\) 未来目标预测、inverse dynamics 从未来目标边缘化得到动作分布
VLA-style \(p_\Theta(O_{t+1},A_t,y_t^L\mid h_t)\) 单一 multimodal hidden state 多模态监督、动作损失、语言和视觉损失 backbone 直接生成动作或 action chunk
MoT-style \(p(O,A,y^L\mid h_t)\) 共享表示 \(Z_t\) 加专家头 共享表示学习、专家分工、多任务优化 动作专家读取 \(Z_t\) 输出动作分布
TD-MPC \(d_\theta,R_\theta,Q_\theta\) 可规划 latent state \(z_t\) latent consistency、reward loss、TD value loss planner 搜索动作序列,只执行第一步

这张表里最重要的一列是“主对象”。三类原文范式主要在建模动作条件分布。TD-MPC 主要在学习 planner 可以调用的 transition、reward、value 接口。

更紧凑地写:

\[ \begin{aligned} \text{IDM-style:}\quad &h_t\longrightarrow g_t\longrightarrow a_t,\\ \text{VLA-style:}\quad &h_t\longrightarrow a_t,\\ \text{MoT-style:}\quad &h_t\longrightarrow Z_t\longrightarrow a_t. \end{aligned} \]

\[ \text{TD-MPC:} \qquad z_t,a_t \longrightarrow z_{t+1},r_t,Q_t \longrightarrow \mathrm{planning} \longrightarrow a_t. \]

注意第二行里 \(a_t\) 出现了两次。第一次是候选动作,作为模型输入;第二次是最终执行动作,作为 planning 输出。这是 TD-MPC 和直接动作生成路线的关键差别。

范式归属:model-based RL 的问题轴

强化学习里常把方法分成 model-free 和 model-based。

Model-free 方法直接学习策略或 value:

\[ \pi_\theta(a_t\mid s_t), \qquad Q_\theta(s_t,a_t). \]

它不显式学习环境转移 \(p(s_{t+1}\mid s_t,a_t)\)。SAC、PPO、TD3 等都可以放在这个大类里。

Model-based 方法学习一个环境模型:

\[ \hat p_\theta(s_{t+1},r_t\mid s_t,a_t), \]

然后用这个模型做 planning、policy improvement 或 imagined training。

TD-MPC 的 model-based 特征非常明确:它学习 \(d_\theta(z_t,a_t)\)\(R_\theta(z_t,a_t)\),并在推理时用它们做 trajectory optimization。它同时保留 TD value,因此和传统纯 MPC 的计算对象不同。它把两者组合起来:

\[ \text{short-horizon model-based planning} + \text{long-horizon TD bootstrap}. \]

这也是它在数学上有趣的地方。纯 model-free 依赖 value 和 policy 学习,纯 long-horizon model-based planning 容易被模型误差拖垮。TD-MPC 让模型只负责短 horizon 的局部预测,把更远的未来交给 \(Q_\theta\)

TD-MPC2 改了什么

TD-MPC2 可以看作对 TD-MPC 接口的规模化和工程稳定化。TD-MPC2 论文把 TD-MPC 描述为在 learned implicit decoder-free world model 的 latent space 里做 local trajectory optimization;TD-MPC2 在更多任务、更强 robustness、更统一超参、更大模型上推进这套方法。

从接口角度看,TD-MPC2 没有改变最核心的闭环:

\[ z_t \xrightarrow{\text{candidate }a} \hat z_{t+1:t+H} \xrightarrow{R,Q} J \xrightarrow{\mathrm{planner}} a_t. \]

它主要把 TD-MPC 变成更可扩展的 continuous-control backbone:更稳的模型训练、更强的任务覆盖、更大的 agent,以及一个单一 agent 跨多个 domain、embodiment、action space 的尝试。

所以 TD-MPC2 的数学意义不在于重新定义 world model,而在于证明这套 decoder-free latent planning 接口可以从早期 TD-MPC 推到更大规模的 continuous control。

PRISM-WM 改的是 transition function

PRISM-WM 沿着 TD-MPC 和 TD-MPC2 的接口继续往下拆。它保留 planner、reward 和 value 评分、latent rollout 这些外层结构,集中改一个最容易出错的函数:

\[ \hat z_{t+1}=d_\theta(z_t,a_t). \]

机器人接触世界时,物理经常是 hybrid dynamics:连续运动中夹着离散模式切换。脚在空中和脚踩地,杯子滑动和杯子被夹住,身体腾空和落地冲击,局部动力学都不一样。

单一 MLP 可以写成:

\[ \hat z_{t+1}=z_t+f_\theta(z_t,a_t). \]

这种 monolithic dynamics 可能把多个物理模式平均成一个平滑函数。一步预测的误差可能还小,planner 连续调用 \(d_\theta\) 做 rollout 时,误差会累积。

PRISM-WM 把 residual dynamics 改成 gated mixture of experts:

\[ x_t=[z_t,a_t], \qquad w_t=\mathrm{softmax}(g_\psi(x_t)). \]

\(k\) 个 expert 输出一个 residual direction:

\[ u_{t,k}=e_{\theta_k}(x_t). \]

为了减少专家学成同一个方向,PRISM-WM 使用 latent orthogonalization。稳定版 Gram-Schmidt 可以写成:

\[ \tilde v_{t,k} = u_{t,k} - \sum_{j=1}^{k-1} \frac{\langle u_{t,k},v_{t,j}\rangle} {\lVert v_{t,j}\rVert_2^2+\epsilon} v_{t,j}, \qquad v_{t,k} = \frac{\tilde v_{t,k}} {\lVert \tilde v_{t,k}\rVert_2+\epsilon}. \]

最终 transition 是:

\[ \hat z_{t+1} = z_t + \sum_{k=1}^K w_{t,k}v_{t,k}. \]

这里的 \(g_\psi\) 是 gate network,\(e_{\theta_k}\) 是第 \(k\) 个 expert network。Softmax 保证 \(w_{t,k}\ge 0\),并且 \(\sum_k w_{t,k}=1\)。Gate 读取当前 latent state 和候选动作,决定每个 expert 的权重。Expert 提出不同 residual basis,orthogonalization 让这些 basis 更不容易重复。

PRISM-WM 的本质改动可以写成一行:

\[ d_\theta(z_t,a_t) \quad\leadsto\quad d_{\psi,\theta_1,\ldots,\theta_K}^{\mathrm{MoE}} (z_t,a_t). \]

它改的是 planner 反复调用的 transition operator。它没有把 TD-MPC 改成直接动作生成模型,也没有把 world model 改回图像重建模型。

Newt 改的是任务规模和训练组织

Newt 继续保留 TD-MPC2-style world model,但把问题推进到 200 个异构 continuous-control tasks。它引入 language instruction、demonstrations、可选视觉观测,并让一个 agent 在多任务上 joint online RL。

一个简化接口可以写成:

\[ g=\mathrm{CLIP}_{text}(s_{\mathrm{lang}}), \qquad x=\mathrm{DINOv2}(s_{\mathrm{img}}), \qquad z=h(s_{\mathrm{state}},x,g). \]

然后 world model 接受 task-conditioned latent:

\[ \begin{aligned} z' &= d(z,a,g),\\ r &= R(z,a,g),\\ q &= Q(z,a,g),\\ a &\sim p(z,g). \end{aligned} \]

Newt 的关键在于保持 \(d,R,Q\) 这组接口,并把它们放进 massively multitask online RL。Demonstrations 同时用于 representation pretraining、action prior、早期 constrained planning、replay oversampling 和 BC supervision,行为克隆只是其中一部分。

所以 Newt 的数学对象仍然是 latent world model + planning + value,只是条件变量多了 task、language 和 vision,训练分布从单任务扩展到多任务。

可以写成:

\[ (z_t,a_t,g) \longrightarrow z_{t+1},r_t,Q_t \longrightarrow \mathrm{planning} \longrightarrow a_t. \]

这里 \(g\) 表示任务语言 embedding。它和 IDM-style 里的未来目标变量 \(g_t\) 语义不同:IDM 里的 \(g_t\) 组织未来目标;Newt 里的 \(g\) 条件化当前任务。

Puppeteer 改的是控制层级

Puppeteer 把 visual whole-body humanoid control 拆成两层 TD-MPC2-style world model。

低层 tracking agent:

\[ (q_t,c_t) \longrightarrow z_t^{\mathrm{low}} \longrightarrow a_t^{\mathrm{joint}}. \]

这里 \(q_t\) 是 humanoid proprioception,\(c_t\) 是 abstract command,例如 head、hands、feet 的 end-effector 位置。低层在 MoCap 数据上训练,学会把几何 command 转成自然 joint-level action。

高层 puppeteering agent:

\[ (q_t,v_t) \longrightarrow z_t^{\mathrm{high}} \longrightarrow c_t. \]

这里 \(v_t\) 是视觉观测。高层输出低层可以执行的 command,避开直接生成 56-DoF joint action。低层 frozen 后,高层在视觉任务上训练。

两层内部都使用类似 TD-MPC2 的世界模型组件:encoder、latent dynamics、reward head、termination head、terminal value、policy prior、planner。

Puppeteer 的改动是动作接口分层。原本一步要从视觉直接到高维 joint action:

\[ v_t,q_t\longrightarrow a_t^{\mathrm{joint}}. \]

Puppeteer 把它分成:

\[ v_t,q_t \longrightarrow c_t \longrightarrow a_t^{\mathrm{joint}}. \]

这仍然属于 TD-MPC 和 TD-MPC2 的 planning-centric 路线,因为两个层级都通过 learned world model 做 latent planning。它的创新点在于把 humanoid 控制的 action space 重新组织成可复用的低层运动 prior 和高层视觉任务决策。

现在的 world model 这个词指什么

在 2026 年的机器人语境里,world model 的定义并不单一。它可能指像素级未来视频模型,可能指 latent dynamics,可能指可交互 simulator,可能指 action-conditioned predictive model,也可能指带 reward 和 value 的 planning substrate。

为了避免概念变散,可以用一个功能定义:

\[ \text{world model} = \text{agent 用来预测行动后果并改进决策的内部模型}. \]

这一定义保留三个条件:

第一,它和行动有关。模型通常需要知道 action 或 policy 怎样改变未来:

\[ p(o_{t+1},r_t\mid h_t,a_t), \qquad p(z_{t+1},r_t\mid z_t,a_t). \]

第二,它要服务决策。预测未来本身不够,预测结果需要进入 planning、policy improvement、value estimation、data generation 或 safety evaluation。

第三,它可以是 latent 的。对机器人来说,未来图像逼真不等于控制有用。很多时候更重要的是 contact、pose、velocity、reward、termination、value 这些变量是否足够准确。

所以当前 world model 的分歧常常不在“是否预测未来”,而在预测什么、为谁预测、怎样被动作选择调用。

这条线怎么串起来

现在把 TD-MPC 到后续工作的改动串成一条数学链。

TD-MPC 定义控制型 world model 的基本接口:

\[ z_t,a_t \longrightarrow z_{t+1},r_t,Q_t \longrightarrow \mathrm{MPC} \longrightarrow a_t. \]

TD-MPC2 把这个接口做得更稳定、更可扩展:

\[ \text{same interface} \quad+\quad \text{larger scale, robustness, unified continuous-control recipe}. \]

PRISM-WM 改内部 transition operator:

\[ d_\theta(z_t,a_t) \quad\leadsto\quad \sum_{k=1}^K w_{t,k}v_{t,k}. \]

Newt 改任务条件和训练分布:

\[ z_t,a_t,g_{\mathrm{task}} \longrightarrow z_{t+1},r_t,Q_t \longrightarrow \mathrm{planning} \longrightarrow a_t. \]

Puppeteer 改 action hierarchy:

\[ \text{vision} \longrightarrow \text{abstract command} \longrightarrow \text{joint action}, \]

并在两个层级分别使用 TD-MPC2-style world model。

这条线的共同点是,动作选择需要 imagined consequence。模型不只输出动作,还要能被 planner 或控制器反复查询:

\[ \text{What happens if I take this action?} \]

动作生成路线更像回答:

\[ \text{Given the history, what action should I output?} \]

这两个问题都服务机器人控制,但数学接口不同。动作生成路线的强项在多模态语义、数据规模、语言条件和端到端 imitation;TD-MPC 这条线的强项在 reward-aware 与 value-aware latent rollout、在线 trajectory optimization、样本效率和连续控制。

一个落地例子:机器人要跨过台阶

假设一个 humanoid 看到前方有台阶,当前任务是往前走。

动作生成式 VLA 可以学习:

\[ \pi_\Theta(a_t\mid o_{1:t},a_{1:t-1},l). \]

它从大量演示中学到:看到这种视觉场景、这种身体姿态、这种语言目标时,下一段 joint action 应该怎样输出。它的能力来自数据覆盖、backbone 表示、动作解码,以及 imitation loss 或 generative loss。

TD-MPC 式方法会先编码当前状态:

\[ z_t=h_\theta(o_t). \]

然后 planner 生成多条候选动作序列。比如有些序列抬腿更高,有些序列步幅更短,有些序列让身体前倾。World model 对每条序列做 latent rollout:

\[ (z_t,a_t^{(i)}) \to \hat z_{t+1}^{(i)} \to \cdots \to \hat z_{t+H}^{(i)}. \]

Reward model 估计这条轨迹是否前进、是否稳定、是否摔倒;terminal value 估计短 horizon 之后还能不能继续走。Planner 选最高分的候选序列,只执行第一步。

如果 transition function 把“脚在空中”和“脚接触台阶”平均掉,planner 可能以为一个动作会稳定落地,真实环境里却绊倒。PRISM-WM 的 MoE dynamics 正是在这个地方发挥作用:让不同 contact regime 的 residual dynamics 由不同 expert basis 组合表达。

如果任务从一个台阶扩展到 200 个不同环境、不同身体、不同目标,Newt 处理的是多任务训练问题。如果动作还要看起来自然,并且视觉任务需要低层运动 prior,Puppeteer 处理的是层级动作接口问题。

这个例子说明:三类动作生成范式和 TD-MPC 系列处理机器人系统里的不同环节。VLA 适合把语言、视觉、演示动作整合进一个大条件模型;TD-MPC 适合把候选动作放进 learned dynamics 里在线评估;PRISM-WM 适合改进被 planner 反复调用的 dynamics;Puppeteer 适合把高维 humanoid action space 拆成可复用控制层级。

缺席的数学原因

最后直接回答缺席问题。

原文三类范式的共同母题是:

\[ \pi(a_t\mid h_t). \]

IDM-style 把动作分布写成未来目标的边缘化:

\[ \pi(a_t\mid h_t) \approx \int \kappa_\phi(a_t\mid h_t,g_t) q_\theta(g_t\mid h_t) \,dg_t. \]

VLA-style 把动作放进多模态联合生成:

\[ p_\Theta(O_{t+1},A_t,y_t^L\mid h_t). \]

MoT-style 先学共享表示,再用专家输出:

\[ Z_t=f_\Phi(h_t), \qquad p(O,A,y^L\mid h_t) \approx \prod_m p_{\theta_m}(Y_m\mid Z_t). \]

TD-MPC 的母题是:

\[ z_{t+1}=d_\theta(z_t,a_t), \qquad r_t=R_\theta(z_t,a_t), \qquad Q_t=Q_\theta(z_t,a_t). \]

动作由 planner 产生:

\[ a_t = \mathrm{first} \left( \arg\max_{a_{t:t+H-1}} \left[ \sum_{k=0}^{H-1} \gamma^kR_\theta(\hat z_{t+k},a_{t+k}) + \gamma^HV_\theta(\hat z_{t+H}) \right] \right). \]

这几行公式说明了 TD-MPC 的 outlier 性。原文三类范式的共同母题可以写成:

\[ h_t \longrightarrow \text{action prediction structure} \longrightarrow a_t. \]

TD-MPC 的共同母题可以写成:

\[ z_t,a_t \longrightarrow \text{future prediction and value} \longrightarrow \mathrm{planning} \longrightarrow a_t. \]

动作在第一条链里是预测目标;动作在第二条链里先是条件变量,经过 planning 后才成为执行变量。这个差别解释了 TD-MPC 为什么没有落进原文三类范式:原文比较的是 inverse dynamics、single end-to-end backbone、MoT 这些 action prediction 的数学组织方式;TD-MPC 属于 action-conditioned 建模加 online planning。

读 TD-MPC 时,应把注意力放在 \(d_\theta,R_\theta,Q_\theta\) 和 planner 的关系上。读 PRISM-WM 时,应看 \(d_\theta\) 怎样从 monolithic MLP 变成 gated orthogonalized experts。读 Newt 时,应看同一个接口怎样加入 language 和 task conditioning,以及 200-task online RL。读 Puppeteer 时,应看同一个 planning-centric world model 怎样拆成低层 tracking 和高层视觉 command。

如果只记一条链,可以记这一条:

\[ \text{history} \to \text{latent state} \to \text{action-conditioned future} \to \text{reward and value score} \to \text{planned action}. \]

对机器人 world model 来说,未来预测的价值最终要回到动作。预测什么、保留什么、舍弃什么、怎样被 planner 调用,决定了这个 world model 是否真的服务控制。

参考资料