Skip to content
Go back

Video Prediction Policy - A Generalist Robot Policy with Predictive Visual Representations

Edit page

Video Prediction Policy 精读

论文:Video Prediction Policy: A Generalist Robot Policy with Predictive Visual Representations

你给出的 arXiv 入口目前对应 2025 年 5 月更新的 v2,论文后来发表于 ICML 2025,并被选为 Spotlight。下面主要按照 ICML 终稿讲解;它与早期 arXiv 版本在部分实验数字和 baseline 上略有更新,但核心方法完全一致。(arXiv)


1. 先用一句话理解 VPP

传统机器人策略是:

otvision encoderztpolicyato_t \xrightarrow{\text{vision encoder}} z_t \xrightarrow{\text{policy}} a_t

VPP 则是:

(ot,l,ϵ)video diffusion modelFp包含未来演化信息的中间特征Video FormerQdiffusion policyat:t+H.(o_t,l,\epsilon) \xrightarrow{\text{video diffusion model}} \underbrace{F_p}_{\text{包含未来演化信息的中间特征}} \xrightarrow{\text{Video Former}} Q'' \xrightarrow{\text{diffusion policy}} a_{t:t+H}.

这里最关键的一点是:

VPP 在执行时并不真正生成完整视频,而只运行视频扩散模型的一次前向传播,读取中间层 latent,把它当作带有未来信息的视觉编码。

因此,它不是“先花几十步生成视频,再根据视频控制机器人”,而是把视频生成模型改造成一个 predictive vision encoder。(ar5iv)


2. 论文试图解决什么问题?

2.1 传统视觉编码器只理解“现在”

一般的机器人策略使用 ImageNet、CLIP、R3M、VC-1、Voltron 等视觉编码器:

zt=E(ot).z_t=E(o_t).

这些编码器通常通过以下目标预训练:

它们擅长回答:

但机器人控制还需要回答:

作者认为,静态视觉编码器没有显式建模这种未来动力学信息。(ar5iv)


2.2 视频扩散模型天然包含未来表示

视频扩散模型需要完成:

p(x1:Tx0,l),p(x_{1:T}\mid x_0,l),

即给定当前图像 x0x_0 和语言指令 ll,预测未来视频 x1:Tx_{1:T}

为了完成这个任务,它的中间特征不能只编码“当前是什么”,还必须编码:

作者把这些具有时间维度的中间特征称为:

Predictive Visual Representations.\textbf{Predictive Visual Representations}.

因此,论文的核心假设是:

一个训练良好的视频生成模型,其内部表示可能比静态视觉编码器更适合机器人动作学习。

这也是整篇论文真正的新意。(ar5iv)


3. VPP 整体架构

VPP 分成两个阶段。

Stage 1:训练任务可控的视频预测模型

先把 Stable Video Diffusion 微调成机器人操作领域的文本条件视频模型:

(s0,l)s0:T.(s_0,l)\longrightarrow s_{0:T}.

这个模型叫做:

Text-guided Video Prediction Model, TVP.\text{Text-guided Video Prediction Model, TVP}.

Stage 2:用视频模型的 latent 学动作

冻结 TVP,不再更新。

给定当前图像、语言和随机噪声,只运行 TVP 一次前向,提取多个中间层特征:

Fp=ETVP(s0,l,ϵ).F_p=E_{\text{TVP}}(s_0,l,\epsilon).

然后用 Video Former 压缩这些高维时空特征,最后通过一个 DiT Diffusion Policy 输出动作序列:

at:t+H=πdiff(Fp,l).a_{t:t+H}=\pi_{\text{diff}}(F_p,l).

论文将这个过程称为学习一个 implicit inverse dynamics model:模型不显式计算两个图像间的逆动力学,而是直接从预测未来的 latent 中恢复动作。(ar5iv)


4. Stage 1:Text-guided Video Prediction

4.1 视频扩散基础

对于真实视频 x0x_0,前向扩散不断加入高斯噪声:

$$

x_t

\sqrt{\bar{\alpha}_t}x_0
+
\sqrt{1-\bar{\alpha}_t}\epsilon,
\qquad
\epsilon\sim\mathcal N(0,I).

当 $t$ 很大时,$x_t$ 接近白噪声。 反向过程学习:

p_\theta(x_{t-1}\mid x_t),

逐步从噪声恢复视频。 这里注意两个“时间”: - 视频中的物理时间:第 $1,\dots,T$ 帧; - diffusion timestep:噪声等级 $t$。 二者不是一回事。 --- ## 4.2 从 SVD 改造 TVP 作者使用约 1.5B 参数的 Stable Video Diffusion 作为初始化,然后做了两个主要改动: 1. 加入 CLIP 文本特征,通过 cross-attention 注入任务指令; 2. 生成长度为 16 帧、分辨率为 $256\times256$ 的视频。 条件包括: - 初始观察 $s_0$; - 语言 embedding $l_{\text{emb}}$; - noisy video latent $x_t$。 模型写作:

V_\theta(x_t,l_{\text{emb}},s_0).

TVP 使用的是预测干净视频 $x_0$ 的训练形式: # $$ \mathcal L_D \mathbb E_{x_0\sim D,\epsilon,t} \left[ \left| V_\theta(x_t,l_{\text{emb}},s_0)-x_0 \right|_2^2 \right].

也就是说,这里的网络更接近 x0x_0-prediction,而不是经典 DDPM 中直接预测噪声 ϵ\epsilon。TVP 完成微调后会被冻结,动作学习阶段不会继续修改它。(ar5iv)


4.3 为什么可以混合人类视频与机器人视频?

视频预测目标只要求:

(初始画面,语言)未来视频.(\text{初始画面},\text{语言}) \rightarrow \text{未来视频}.

它不要求视频必须带机器人 action 标注。

因此作者可以统一使用三类数据:

总损失为:

$$

\mathcal L_{\text{video}}

\lambda_H\mathcal L_{D_H}
+
\lambda_R\mathcal L_{D_R}
+
\lambda_C\mathcal L_{D_C}.

这是 VPP 的一个重要数据优势: > 视频数据负责学习“世界会怎样变化”;只有第二阶段才需要动作标签来学习“怎样造成这种变化”。 终稿训练使用了约 19.4 万条人类操作轨迹和约 17.9 万条机器人操作轨迹,同时加入 CALVIN、MetaWorld 和真实机器人数据。视频模型微调需要约 8 张 A100、2–3 天;每种机器人对应的 action policy 训练约需 4 张 A100、6–12 小时。([ar5iv](https://ar5iv.org/pdf/2412.14803 "[2412.14803] Video Prediction Policy: A Generalist Robot Policy with Predictive Visual Representations")) --- # 5. Stage 2:把视频扩散模型当作视觉编码器 这是整篇论文最值得精读的部分。 ## 5.1 为什么不直接把完整预测视频送给策略? 一种直觉方法是: 1. 运行 30 次去噪; 2. 生成未来视频; 3. 把视频输入动作模型。 但存在三个问题。 第一,生成完整视频计算成本很高。 第二,预测视频属于 open-loop imagination:生成过程中不会根据机器人真实执行后的新观察纠错。 第三,像素空间包含大量与动作无关的信息,如纹理、光照和背景细节。([ar5iv](https://ar5iv.org/pdf/2412.14803 "[2412.14803] Video Prediction Policy: A Generalist Robot Policy with Predictive Visual Representations")) --- ## 5.2 只运行一次扩散前向 VPP 从接近白噪声的 latent 开始:

x_{t’}\approx\epsilon.

输入: 输入:

(x_{t’},l_{\text{emb}},s_0)

并只调用一次TVP 并只调用一次 TVP:

V_\theta(x_{t’},l_{\text{emb}},s_0).

一次前向产生的图像仍然很模糊,但中间特征已经包含大致的运动趋势: - 机械臂向哪里移动; - 物体大概如何变化; - 目标位置在哪里; - 未来多帧的整体轨迹。 可以把它理解成: > 完整去噪负责把“未来意图”渲染成精确像素;但动作控制可能只需要渲染之前的粗粒度动力学结构。 这有点类似人类做动作时,并不需要在脑中渲染一段高清未来视频,只需要形成粗略的运动计划。 --- # 6. 多层 Feature Aggregation TVP 的第 $m$ 个 upsampling layer 特征写成:

L_m

V_\theta(x_{t’},l_{\text{emb}},s_0)_{(m)},

其形状为: 其形状为:

L_m
\in
\mathbb R^{T\times C_m\times W_m\times H_m}.

这里 $T$ 是视频帧数,因此它和普通图像编码器最大的不同是,特征中显式保留了时间维。 不同层的空间尺寸不同,因此先插值到统一尺寸:

L’_m=\operatorname{Interpolation}(L_m),

然后沿channel维连接: 然后沿 channel 维连接:

F_p

\operatorname{Concat}
\left(
L’_0,L’_1,\ldots,L’_M
\right).

为什么不只使用最后一层? 因为不同层包含不同抽象程度的信息: - 较早层:空间位置、边缘、局部运动; - 中间层:物体结构、接触关系、粗略轨迹; - 最后层:接近像素输出,包含较多纹理细节。 实验显示,中间 upsampling layers 的表示通常比最终像素层更适合控制;终稿还表明,移除多层特征聚合会让 CALVIN 平均完成长度从 4.33 降至 3.60。早期版本的层位置实验也显示,中间层表现优于最终输出层。([ar5iv](https://ar5iv.org/html/2412.14803v2 "[2412.14803] Video Prediction Policy: A Generalist Robot Policy with Predictive Visual Representations")) --- # 7. Video Former 如何压缩时空特征? $F_p$ 非常大,不能直接交给动作模型。 作者初始化一组 learnable queries:

Q\in\mathbb R^{T\times L\times d},

其中: - $T$:预测时间长度; - $L$:每一帧使用的 query 数; - $d$:token 维度。 对于每个视频时刻 $i$,query 对多个相机视角做 spatial attention: # $$ Q'_i \operatorname{SpatAttn} \left( Q_i, F_{p,i}^{\text{static}}, F_{p,i}^{\text{wrist}} \right).

把所有时间步连接起来:

Q=Qii=0T.Q'={Q'_i}_{i=0}^{T}.

再沿时间维做 temporal attention:

$$

Q”

\operatorname{FFN}
\left(
\operatorname{TempAttn}(Q’)
\right).

因此VideoFormer的处理顺序是: 因此 Video Former 的处理顺序是:

\text{空间/多视角聚合}
\rightarrow
\text{时间聚合}
\rightarrow
\text{固定长度 action condition tokens}.

这和 Perceiver/Q-Former 很相似:使用有限数量的可学习 query,从庞大的视觉 latent 中主动抽取对下游任务有用的信息。 --- # 8. Diffusion Action Head 加入噪声后的动作序列为: # $$ a_k \sqrt{\bar{\beta}_k}a_0 + \sqrt{1-\bar{\beta}_k}\epsilon.

动作模型使用 DiT block,并通过 cross-attention 读取:

损失为:

\mathcal L_{\text{diff}}(\psi,A) ## \mathbb E_{a_0,\epsilon,k} \[ \| D_\psi(a_k,l_{\text{emb}},Q'') a_0 \|_2^2 \].

同样,它预测的是干净动作 a0a_0,而非噪声。

这里的 action head 本质上学习:

p(at:t+HFp,l).p(a_{t:t+H}\mid F_p,l).

由于 FpF_p 已经描述了“未来大概应该如何演化”,action head 只需要学习:

哪些动作能够实现 TVP latent 中表达的未来。

因此作者称它为 implicit inverse dynamics


9. VPP 与 UniPi、GR-1、SuSIE 的本质区别

方法如何利用未来控制时使用什么
SuSIE生成一个未来目标图像当前图像 + goal image
UniPi生成完整未来视频对相邻生成帧做 inverse dynamics
GR-1自回归联合预测图像与动作每次预测一帧和一个动作
VPP提取视频扩散模型内部的未来 latent一次 TVP 前向 + latent action policy

VPP 的主要优势是:

不必生成高清未来更快、更少受像素误差影响.\text{不必生成高清未来} \quad\Rightarrow\quad \text{更快、更少受像素误差影响}.

相较于 UniPi,它跳过了“latent \rightarrow pixels \rightarrow inverse dynamics”这条链路:

UniPi: zfuturex^futurea\text{UniPi: } z_{\text{future}} \rightarrow \hat x_{\text{future}} \rightarrow a

而 VPP 直接:

VPP: zfuturea.\text{VPP: } z_{\text{future}} \rightarrow a.

相较于 GR-1,VPP 的视频模型来自大规模视频 foundation model,并且一次获得整段时间轴的表示,而不是自回归地逐帧预测。(ar5iv)


10. 实验结果怎么看?

10.1 CALVIN ABC\rightarrowD

训练环境是 A、B、C,测试环境是未见过的 D;每次要求连续完成 5 个语言任务。

ICML 终稿结果:

VPP Avg. Len=4.33,\text{VPP Avg. Len}=4.33,

而最强的 3D baseline RoboUniview 是:

3.65.3.65.

相对提升为:

4.333.653.6518.6\frac{4.33-3.65}{3.65}\approx18.6%.

更重要的是,随着任务链增长,VPP 的优势越来越明显:

只使用 10% CALVIN 动作标注数据时,VPP 仍达到 3.25,说明视频预训练明显降低了动作标注需求。官方终稿将 CALVIN 相对提升报告为 18.6%。(Proceedings of Machine Learning Research)


10.2 MetaWorld

一个语言条件 policy 同时完成 50 个任务:

VPP=0.682,GR-1=0.574.\text{VPP}=0.682, \qquad \text{GR-1}=0.574.

这里论文所说的提升是 10.8 个百分点

0.6820.574=0.108,0.682-0.574=0.108,

并不是相对提升 10.8%。

VPP 在 middle 和 hard tasks 上优势尤其明显,支持了作者的观点:动态预测表示在需要精细时序控制的任务上更有价值。


11. 最关键的消融实验

11.1 是视频预测目标有效,还是换了一个更大的编码器?

替换视觉 encoder、保持其余结构基本一致:

Encoder预训练目标CALVIN Avg. Len
VDM视频生成4.33
Stable-VAE图像重建2.58
VC-1MAE 重建1.23
VoltronMAE + 语言生成1.54

作者用它说明:

“预测未来”学到的 representation,比单纯“重建当前图像”更适合动作学习。

不过这项实验仍不能完全排除模型规模、数据量和架构差异,后面会具体讨论。早期 arXiv 版本同样观察到 VDM 表示明显优于 Stable-VAE、VC-1 和 Voltron。(ar5iv)


11.2 视频预训练到底贡献了多少?

终稿消融大致如下:

设置Avg. Len
完整 VPP4.33
去掉互联网 manipulation data3.97
去掉 CALVIN video training3.31
去掉互联网数据和 SVD 预训练1.63

这说明贡献大小大致是:

SVD foundation pretraining目标域视频额外互联网 manipulation data.\text{SVD foundation pretraining} \text{目标域视频} \text{额外互联网 manipulation data}.

互联网操作数据有效,但真正决定性的部分似乎是:

  1. 视频 foundation model 初始化;

  2. 用目标域视频让预测模型适应机器人场景。

早期版本也报告,去掉互联网数据后从约 4.29 降到 3.97,而进一步去掉 SVD 初始化后降到 1.63。(ar5iv)


11.3 Video Former 是否只是增加参数?

终稿中:

去掉 Video Former 后不仅准确率下降,延迟反而增加。

原因是,没有 query-based compression 时,大量 TVP latent 需要直接进入 diffusion policy,导致 action denoising 的每一步都处理高维视觉特征。

Video Former 相当于先做一次昂贵但固定的压缩:

FpQ,F_p\rightarrow Q'',

后续十次 action denoising 都只读取少量 QQ'' tokens。


12. 为什么一次模糊预测仍然有用?

论文将一次前向的 latent 解码成图像进行可视化。结果的纹理、颜色和物体细节并不准确,但粗略运动通常正确:

因此,对机器人动作而言,表示可能只需要保留:

where to move+what changes+temporal ordering,\text{where to move} + \text{what changes} + \text{temporal ordering},

而不需要:

perfect texture+photorealistic rendering.\text{perfect texture} + \text{photorealistic rendering}.

这也是 latent world model 经常优于 pixel-space planning 的一个直觉:控制需要 task-relevant dynamics,而不是所有像素细节。(ar5iv)


13. 真实机器人结果

作者在两个平台上实验:

终稿平均成功率中,VPP 在 Panda seen/unseen 上达到约 0.85/0.73;在灵巧手 seen/unseen/tool-use 上达到约 0.75/0.60/0.68,明显高于 Diffusion Policy、SuSIE 和 GR-1。论文共进行了 200+ 次 Panda rollout 和 500+ 次灵巧手 rollout。(ar5iv)

这里最值得注意的不是 seen task,而是 unseen object、unseen background 和工具使用上的提升。这说明 predictive representation 提供的可能不只是场景记忆,还包括一定程度的通用运动先验。


14. 这篇论文真正强在哪里?

14.1 把视频模型从“生成器”重新解释为“编码器”

最有价值的思想不是“用视频帮助机器人”,此前 UniPi、SuSIE、GR-1 已经做过。

真正的新意是:

不读取视频模型的最终像素输出,而读取其内部预测表示\boxed{ \text{不读取视频模型的最终像素输出,而读取其内部预测表示} }

这将视频生成模型从昂贵的 planner,变成了一个相对高频的 predictive encoder。


14.2 实现了无动作视频和有动作机器人数据的解耦

Stage 1 可以用海量无 action 视频学习:

world dynamics.\text{world dynamics}.

Stage 2 再用少量机器人 action 学习:

inverse dynamics.\text{inverse dynamics}.

因此:

large video data+small action data\text{large video data} + \text{small action data}

就有机会形成较强策略。

这个思想后来也成为不少 video-to-action、world-action-model 工作的重要路线。


14.3 避免了显式像素规划的脆弱性

如果生成视频中的杯子边缘有误、纹理发生变化,pixel inverse dynamics 可能受到很大影响。

VPP 在生成像素前就截取 latent:

semantic/dynamic latentaction,\text{semantic/dynamic latent} \rightarrow \text{action},

可以过滤掉大量无关的图像生成误差。


15. 论文的局限

15.1 它并不是严格意义上的 action-conditioned world model

标准 world model 通常学习:

p(st+1st,at).p(s_{t+1}\mid s_t,a_t).

但 VPP 的 TVP 学习的是:

p(s1:Ts0,l).p(s_{1:T}\mid s_0,l).

它没有把候选动作 ata_t 输入视频模型。

因此它无法回答:

“分别执行动作 A、B、C,会产生怎样的未来?”

它只能回答:

“根据当前观察和任务指令,一个合理的未来大概是什么?”

所以更准确地说,VPP 是:

task-conditioned predictive prior\boxed{\text{task-conditioned predictive prior}}

而不是可以进行 action search 的完整世界模型。


15.2 预测未来未必是机器人真实会到达的未来

TVP 可能预测一个成功完成任务的未来,但当前 action policy 未必真的能实现它。

VPP 没有显式约束:

s^t+1=?f(st,a^t).\hat s_{t+1} \stackrel{?}{=} f(s_t,\hat a_t).

视频模型和动作模型是分阶段训练的,二者之间没有显式 cycle consistency、dynamics consistency 或 online correction loss。

其成功主要依赖 action model 在示范数据中学会:

Fpa.F_p\rightarrow a.

15.3 “预测性”优势的因果证据还不够干净

VDM 与 VC-1、Voltron、Stable-VAE 的差异不仅是目标函数,也包括:

所以表格能证明:

使用这个视频模型的表示效果更好。

但不能完全证明:

提升全部由“预测未来”这一属性造成。

更严格的实验应该使用同规模、同数据、同架构模型,只替换:

image reconstruction objectivevs.video prediction objective.\text{image reconstruction objective} \quad\text{vs.}\quad \text{video prediction objective}.

15.4 没有显式建模未来不确定性

对于“把杯子放到桌上”,可能存在很多合理轨迹。

视频 diffusion model 本身具有多模态能力,但 VPP 只采样一个噪声 latent,并将单次前向表示交给 action policy,没有显式:

因此它的“想象”更多是一种隐式条件特征,而不是显式 planning。


16. 与你最近看的 WAM、latent causal memory 的关系

VPP 与 World Action Model 的区别非常关键:

VPP: (st,l)zfutureat\text{VPP: } (s_t,l)\rightarrow z_{\text{future}}\rightarrow a_t WAM: (st,at)st+1(st,l)(at,st+1).\text{WAM: } (s_t,a_t)\rightarrow s_{t+1} \quad\text{或}\quad (s_t,l)\rightarrow(a_t,s_{t+1}).

VPP 的 latent FpF_p 有时间轴:

FpRT×C×H×W,F_p\in\mathbb R^{T\times C\times H\times W},

因此非常适合做你之前提出的 causal attribution:

但 VPP 自身没有把这些 latent 当作长期 memory。每次观察都会重新计算 FpF_p,它属于:

ephemeral predictive representation,\text{ephemeral predictive representation},

而不是跨时间保存和更新的 latent memory。


17. 最后形成一个论文级理解

VPP 的核心不是“视频预测得非常准,所以机器人做得好”。

更准确的理解是:

为了生成未来,视频模型必须形成具有动力学结构的中间表示; 机器人策略可以直接利用这种结构,而不必真正生成未来视频。\boxed{ \text{为了生成未来,视频模型必须形成具有动力学结构的中间表示; 机器人策略可以直接利用这种结构,而不必真正生成未来视频。} }

整条逻辑链是:

video generation pretraining  predictive spatiotemporal representations  Video Former extracts task-relevant dynamics  diffusion inverse-dynamics policy  robot actions.\begin{aligned} &\text{video generation pretraining}\ &\Downarrow\ &\text{predictive spatiotemporal representations}\ &\Downarrow\ &\text{Video Former extracts task-relevant dynamics}\ &\Downarrow\ &\text{diffusion inverse-dynamics policy}\ &\Downarrow\ &\text{robot actions}. \end{aligned}

从研究定位看,它处在以下几条路线的交叉点:

video foundation model+world-model representation+inverse dynamics+diffusion policy.\text{video foundation model} + \text{world-model representation} + \text{inverse dynamics} + \text{diffusion policy}.

下一步最值得做的是逐行拆解第 4 节的张量形状,并结合官方代码定位 SVD feature extraction → Video Former → DiT action head 的具体实现。

**Spatial-Temporal Attention(时空注意力)**就是同时建模:

  1. 同一时刻,空间上不同位置/视角之间的关系

  2. 不同时间步之间的运动与变化关系

在 VPP 里,它被拆成两步:先做 SpatAttn,再做 TempAttn


Spatial Temporal Attention

1. Spatial Attention:看“这一帧里哪里重要”

假设视频特征为:

FRT×N×d,F\in\mathbb R^{T\times N\times d},

其中:

固定某个时间步 tt

FtRN×d.F_t\in\mathbb R^{N\times d}.

Spatial Attention 在这一帧内部计算不同空间位置之间的关系:

Attn(Qt,Kt,Vt)softmax(QtKtd)Vt.\operatorname{Attn}(Q_t,K_t,V_t) \operatorname{softmax} \left( \frac{Q_tK_t^\top}{\sqrt d} \right)V_t.

例如,在“机械臂抓杯子”的任务中,它会关联:

它回答的问题类似:

在当前这一个未来时间点,图像中的哪些区域对动作最重要?


2. Temporal Attention:看“这些区域如何随时间变化”

Spatial Attention 完成后,模型已经得到了每一帧的紧凑表示:

Q1,Q2,,QT.Q'_1,Q'_2,\dots,Q'_T.

Temporal Attention 再沿时间维计算注意力:

QTempAttn(Q1,Q2,,QT).Q'' \operatorname{TempAttn} \left( Q'_1,Q'_2,\dots,Q'_T \right).

它建模的关系包括:

它回答的问题类似:

这些未来帧之间构成了什么运动轨迹和事件顺序?


3. VPP 中的 SpatAttn 具体是什么?

VPP 有两个相机视角:

对未来第 ii 个时间步,视频模型提供:

Fp,istatic,Fp,iwrist.F_{p,i}^{\text{static}}, \qquad F_{p,i}^{\text{wrist}}.

Video Former 初始化一组可学习 query:

QiRL×d.Q_i\in\mathbb R^{L\times d}.

然后做:

$$

Q’_i

\operatorname{SpatAttn}
\left(
Q_i,
F_{p,i}^{\text{static}},
F_{p,i}^{\text{wrist}}
\right).

更具体地,可以理解为先把两个视角的空间token拼起来: 更具体地,可以理解为先把两个视角的空间 token 拼起来:

K_i=V_i=
\left[
F_{p,i}^{\text{static}};
F_{p,i}^{\text{wrist}}
\right].

然后让 learnable query 去读取这些视觉 token: # $$ Q'_i \operatorname{softmax} \left( \frac{ (Q_iW_Q)(K_iW_K)^\top }{ \sqrt d } \right) (V_iW_V).

因此这里的 SpatAttn 更准确地说是:

query-to-visual cross-attention\boxed{ \text{query-to-visual cross-attention} }

而不只是普通的图像 self-attention。

它完成两个功能:


4. 为什么需要 learnable query?

原始视频特征非常大。假设:

T=16,H=W=32,T=16,\quad H=W=32,

那么一个视角就有:

16×32×32=1638416\times32\times32=16384

个视觉 token;两个视角更多。

Video Former 用少量 query,例如每个时间步 LL 个:

QiRL×d,LHW.Q_i\in\mathbb R^{L\times d}, \qquad L\ll HW.

把大量空间 token 压缩为少量任务相关 token:

HW 个视觉 tokenL 个 query token.HW\text{ 个视觉 token} \longrightarrow L\text{ 个 query token}.

这和 Q-Former、Perceiver Resampler 的思想很像:

不保留所有视觉信息,而是让可学习 query 主动提取对动作预测最有用的信息。

例如某个 query 可能逐渐专门关注机械爪,另一个关注目标物体,另一个关注目标位置。不过这种对应通常是隐式形成的,并没有显式监督。


5. 为什么先 Spatial,再 Temporal?

直接对所有时空 token 一起做 attention,需要处理:

THWTHW

个 token,其注意力复杂度近似:

O((THW)2).O((THW)^2).

拆开以后:

复杂度大致变为:

O(TLHW)+O((TL)2),O(TLHW)+O((TL)^2),

其中 LHWL\ll HW

因此这样做有两个优势:

  1. 计算更便宜

  2. 结构上更符合视频信息:先理解每帧,再理解帧间运动。


6. 一个直观例子

任务是:

把红色方块放进抽屉。

视频预测 latent 中有 4 个未来时刻:

F1,F2,F3,F4.F_1,F_2,F_3,F_4.

Spatial Attention

对每个时刻分别抽取:

形成:

Q1,Q2,Q3,Q4.Q'_1,Q'_2,Q'_3,Q'_4.

Temporal Attention

再把它们串联起来,识别出:

靠近抓取移动放置.\text{靠近} \rightarrow \text{抓取} \rightarrow \text{移动} \rightarrow \text{放置}.

最终动作模型便能根据这个时序结构预测动作序列。


7. Spatial Attention 和 Temporal Attention 的区别

AttentionToken 之间比较什么主要学习什么
Spatial Attention同一帧的不同位置、不同视角物体位置、空间关系、接触区域
Temporal Attention不同帧或未来时间步运动轨迹、变化过程、事件顺序
Spatial-Temporal Attention同时或分阶段处理空间与时间完整的动态场景表示

在 VPP 中可以总结为:

SpatAttn:每个未来时刻会发生在哪里\boxed{ \text{SpatAttn:每个未来时刻会发生在哪里} } TempAttn:这些未来时刻按什么顺序演化\boxed{ \text{TempAttn:这些未来时刻按什么顺序演化} }

最终:

video latent空间目标与物体关系时间运动轨迹robot action.\text{video latent} \rightarrow \text{空间目标与物体关系} \rightarrow \text{时间运动轨迹} \rightarrow \text{robot action}.

Edit page
Share this post on:

Previous Post
Unified World Models
Next Post
具身智能技术路线梳理