Skip to content
Go back

GR-1

Edit page

GR-1 精读

论文题目是 Unleashing Large-Scale Video Generative Pre-training for Visual Robot Manipulation,核心模型叫 GR-1

1. 一句话概括

GR-1 的核心思想是:

先让模型通过大规模人类视频学习“接下来会发生什么”,再让它在机器人数据上同时预测“接下来会看到什么”和“现在应该执行什么动作”。

它不是单纯地做视觉预训练,而是把未来视频生成任务一直保留到机器人策略微调阶段,使未来预测成为动作学习的辅助目标。模型使用统一的 GPT-style causal Transformer,输入语言、历史图像和机器人状态,输出动作与未来图像。


2. 论文要解决的问题

机器人模仿学习通常面临两个问题:

  1. 机器人轨迹数据昂贵

  2. 跨场景、跨物体的泛化很弱

作者的观察是:

机器人轨迹本身也是一段视频。假如模型能够根据语言和历史图像预测未来画面,那么它可能已经理解了:

因此,与其只用大规模视频学习一个静态视觉编码器,不如直接预训练一个未来生成模型

论文的逻辑可以写成:

理解未来状态变化更容易选择导致该变化的动作\text{理解未来状态变化} \quad\Longrightarrow\quad \text{更容易选择导致该变化的动作}

这里的关键假设是:

未来视觉预测所学习的时序知识,可以迁移为机器人动作预测所需要的动态知识。


3. 问题建模

3.1 视频生成预训练

语言描述记为 ll,最近 h+1h+1 帧图像记为:

$$

o_{t-h:t}

\left(o_{t-h},o_{t-h+1},\ldots,o_t\right)

模型根据语言和历史图像,预测未来第 $t+\Delta t$ 时刻的图像:

\pi\left(l,o_{t-h:t}\right)
\rightarrow
\hat{o}_{t+\Delta t}

其中: - $l$:视频对应的语言描述; - $o_t$:时刻 $t$ 的视觉观测; - $\Delta t$:预测未来多少步; - $\hat{o}_{t+\Delta t}$:预测出来的未来图像。 视频数据可以表示为:

v=
{
l,o_1,o_2,\ldots,o_T
}

注意,这一阶段没有机器人状态,也没有动作标签。它只学习: 注意,这一阶段没有机器人状态,也没有动作标签。它只学习:

p\left(
o_{t+\Delta t}
\mid
l,o_{t-h:t}
\right)

也就是: > 给定一句话和过去的视频,未来画面应该是什么样。 --- ## 3.2 机器人操作微调 进入机器人数据后,模型输入增加机器人状态: # $$ s_{t-h:t} \left( s_{t-h},\ldots,s_t \right)

机器人状态包含:

模型同时预测未来图像和当前动作:

π(l,oth:t,sth:t)(o^t+Δt,a^t)\pi\left( l,o_{t-h:t},s_{t-h:t} \right) \rightarrow \left( \hat{o}_{t+\Delta t}, \hat{a}_t \right)

一条机器人轨迹表示为:

τ={l,o1,s1,a1,o2,s2,a2,,oT,sT,aT}\tau= \{ l, o_1,s_1,a_1, o_2,s_2,a_2, \ldots, o_T,s_T,a_T \}

因此,GR-1 不是:

视频预训练丢掉视频任务只预测动作\text{视频预训练} \rightarrow \text{丢掉视频任务} \rightarrow \text{只预测动作}

而是:

视频预训练视频预测与动作预测联合微调\text{视频预训练} \rightarrow \text{视频预测与动作预测联合微调}

这个设计非常重要。它避免了预训练目标和下游目标完全断开。


4. GR-1 的模型架构

整体上,GR-1 可以拆成五部分:

多模态编码器token 序列causal Transformer{动作解码器 图像解码器\text{多模态编码器} \rightarrow \text{token 序列} \rightarrow \text{causal Transformer} \rightarrow \begin{cases} \text{动作解码器}\ \text{图像解码器} \end{cases}

4.1 语言编码

语言指令 ll 使用冻结的 CLIP Text Encoder 编码:

zl=fCLIP(l)z_l=f_{\mathrm{CLIP}}(l)

随后经过 MLP 投影到 GR-1 Transformer 的隐藏维度。

作者在每个时间步都会重复放入语言 token,而不是只在序列开头放一次。原因是图像和状态 token 很多,单个语言 token 容易在长序列中被其他模态“淹没”。


4.2 图像编码

每张视觉观测通过经过 MAE 预训练的 ViT 编码:

$$

f_{\mathrm{ViT}}(o_t)

\left(
z^{\mathrm{CLS}}_t,
z^{p_1}_t,\ldots,z^{p_n}_t
\right)

其中: - $z^{\mathrm{CLS}}_t$ 是全局图像表示; - $z^{p_i}_t$ 是局部 patch 表示。 局部 patch token 数量很大,所以作者使用 Perceiver Resampler 将它们压缩成固定数量的视觉 token:

\left(
z^{p_1}_t,\ldots,z^{p_n}_t
\right)
\xrightarrow{\text{Perceiver Resampler}}
\left(
\tilde z^1_t,\ldots,\tilde z^m_t
\right)

其中通常有: 其中通常有:

m\ll n

这样可以在保留局部物体信息的同时降低 Transformer 的序列长度。CLIP 和 MAE 图像编码器在预训练与机器人微调阶段均被冻结。 --- ## 4.3 机器人状态编码 机器人状态为:

s_t=
\left(
s_t^{\mathrm{arm}},
s_t^{\mathrm{gripper}}
\right)

其中: 其中:

s_t^{\mathrm{arm}}\in SE(3)

表示末端执行器的 $6$ 自由度位姿,而:

s_t^{\mathrm{gripper}}\in{0,1}

表示夹爪开闭。 两者分别通过线性层或 MLP 编码,再投影到统一维度。 --- # 5. `[ACT]` 和 `[OBS]` 到底是什么 GR-1 引入了两类可学习查询 token: - `[ACT]`:用于读取动作预测结果; - `[OBS]`:用于读取未来图像预测结果。 这里的中括号是 token 名称的一部分。 可以把它们理解为:

\texttt{[ACT]}
\approx
\text{“请在这个位置输出动作信息”}

\texttt{[OBS]}
\approx
\text{“请在这个位置输出未来图像信息”}

它们不是已有的动作或图像,而是可学习的 query embedding。 --- ## 5.1 视频预训练阶段的序列 视频预训练时,token 序列大致为:

\begin{aligned}
(&l,o_{t-h},\texttt{[OBS]},\
&l,o_{t-h+1},\texttt{[OBS]},\
&\ldots,\
&l,o_t,\texttt{[OBS]})
\end{aligned}

每个时间步都包含: 每个时间步都包含:

\text{语言}
+
\text{当前图像}
+
\text{未来图像查询}

--- ## 5.2 机器人微调阶段的序列 微调时增加机器人状态和动作查询:

\begin{aligned}
(&l,s_{t-h},o_{t-h},
\texttt{[OBS]},\texttt{[ACT]},\
&l,s_{t-h+1},o_{t-h+1},
\texttt{[OBS]},\texttt{[ACT]},\
&\ldots,\
&l,s_t,o_t,
\texttt{[OBS]},\texttt{[ACT]})
\end{aligned}

同一个 Transformer 同时处理: - 语言条件; - 视觉历史; - 本体状态; - 未来视觉查询; - 动作查询。 这就是论文所谓的 unified GPT-style model。 --- # 6. 为什么要特殊处理 `[ACT]` 和 `[OBS]` GR-1 使用 causal attention,但作者规定: - 普通 token 不允许看到先前位置的 `[ACT]`; - 普通 token 不允许看到先前位置的 `[OBS]`。 可以简化理解为:

\text{历史观测}
\rightarrow
\texttt{[ACT]},\texttt{[OBS]}

但不能让: 但不能让:

\texttt{[ACT]}_{t-1}
\rightarrow
\text{后续输入 token}

或者: 或者:

\texttt{[OBS]}_{t-1}
\rightarrow
\text{后续输入 token}

这样做的作用是避免预测槽位之间互相泄漏信息。 尤其是在训练时,模型不应通过另一个目标查询 token 的隐藏状态“偷看答案”,而应该从真实的历史语言、状态和图像中完成预测。 --- # 7. 输出头与损失函数 ## 7.1 动作预测 机械臂动作为连续值,使用 Smooth-L1 Loss: # $$ \mathcal L_{\mathrm{arm}} \operatorname{SmoothL1} \left( \hat a_t^{\mathrm{arm}}, a_t^{\mathrm{arm}} \right)

夹爪是二值动作,使用 Binary Cross Entropy:

$$

\mathcal L_{\mathrm{gripper}}

\operatorname{BCE}
\left(
\hat a_t^{\mathrm{gripper}},
a_t^{\mathrm{gripper}}
\right)

--- ## 7.2 未来图像预测 `[OBS]` 对应的 Transformer hidden states 输入一个视觉 Transformer Decoder。 它不是一次性预测整张图片,而是预测每个 patch: # $$ \hat{o}_{t+\Delta t} \operatorname{VisionDecoder} \left( h_{\texttt{[OBS]}} \right)

图像损失是在像素 patch 空间计算 MSE:

$$

\mathcal L_{\mathrm{video}}

\left|
\hat{o}_{t+\Delta t}

o_{t+\Delta t}
\right|_2^2

最终微调目标是: # $$ \boxed{ \mathcal L_{\mathrm{finetune}} \mathcal L_{\mathrm{arm}} + \mathcal L_{\mathrm{gripper}} + \mathcal L_{\mathrm{video}} }

论文公式中没有显式给出三个损失之间的权重系数,也就是没有写成:

λaLarm+λgLgripper+λvLvideo\lambda_a\mathcal L_{\mathrm{arm}} + \lambda_g\mathcal L_{\mathrm{gripper}} + \lambda_v\mathcal L_{\mathrm{video}}

这说明作者至少在主文表述中采用了直接相加的联合目标。


8. 大规模视频预训练具体怎么做

作者使用 Ego4D 中的人类第一视角视频:

预训练时,每隔约 13\frac{1}{3} 秒采样一帧,并预测采样序列中的下一帧:

Δtpretrain=1\Delta t_{\mathrm{pretrain}}=1

机器人数据的采样更密集,所以微调时改为预测三步后的图像:

Δtrobot=3\Delta t_{\mathrm{robot}}=3

历史序列长度设置为:

h+1=10h+1=10

并同时预测静态相机和夹爪相机的未来图像。

模型配置为:

预训练和微调分别训练 50502020 个 epoch,使用 AdamW 和 cosine learning-rate decay。


9. 实验指标应该怎么读

CALVIN 的评价不是只执行一个任务,而是连续给机器人 55 条语言指令。

表格中的:

例如 GR-1 在 ABCD→D 上是:

0.949,0.896,0.844,0.789,0.7310.949,\quad 0.896,\quad 0.844,\quad 0.789,\quad 0.731

Average Length 为:

4.214.21

这里有一个很值得注意的数学关系。设连续完成任务数为随机变量 N0,,5N\in{0,\ldots,5},那么:

$$

\mathbb E[N]

\sum_{k=1}^{5}
P(N\ge k)

所以: # $$ 0.949+0.896+0.844+0.789+0.731 4.209 \approx4.21

因此 Avg. Len. 不是一个独立计算的模糊指标,而是表中五个成功率的 tail-sum。


10. CALVIN 主实验结果

10.1 正常多任务学习:ABCD→D

该设置使用四种环境的数据训练,然后在环境 D 上测试。

方法完成 1 个任务完成 5 个任务Avg. Len.
RT-184.4%22.7%2.45
HULC88.9%38.3%3.06
MT-R3M75.2%16.3%2.08
GR-194.9%73.1%4.21

最明显的不是单任务成功率从 88.9%88.9\% 提升到 94.994.9%,而是五任务连续成功率从 38.338.3% 提升到 73.173.1%

这说明 GR-1 的收益主要体现在:

\text{长期稳定性} \text{单步成功率的小幅提升} $$ --- ## 10.2 未见场景泛化:`ABC→D` 这一设置只使用环境 A、B、C 训练,在从未见过的环境 D 测试。 |方法|完成 1 个任务|完成 5 个任务|Avg. Len.| |---|--:|--:|--:| |RT-1|53.3%|1.3%|0.90| |HULC|41.8%|1.1%|0.67| |MT-R3M|52.9%|1.8%|0.93| |**GR-1**|**85.4%**|**40.1%**|**3.06**| 这是论文最强的结果之一。 它表明提升并不只是因为模型记住了 CALVIN 的视觉布局。大规模 Ego4D 视频预训练可能让模型学习到了更广泛的人—物交互和视觉变化模式。 --- ## 10.3 只使用 10% 机器人数据 GR-1 的单任务成功率为: $$ 77.8% $$ 而最强 baseline HULC 为: $$ 66.8% $$ 平均连续任务长度: $$ 2.00 \quad\text{vs.}\quad 1.11 $$ 这说明视频预训练在机器人数据不足时尤其有价值。换句话说,视频数据提供了一种机器人轨迹之外的 dynamics prior。 --- # 11. 最关键的消融实验 论文比较了三种模型: |视频预训练|微调时预测未来图像|ABCD→D Avg. Len.| |---|---|--:| |否|否|3.33| |否|是|3.82| |是|是|**4.21**| 由此可以把增益拆成两部分。 ## 11.1 只加入视频预测辅助任务 $$ 3.33 \rightarrow 3.82 $$ 增益为: $$ +0.49 $$ 这说明即使没有大规模预训练,仅仅让策略在机器人数据上预测未来图像,也能改善动作学习。 未来预测本身可以作为一种: - dynamics regularization; - task-progress supervision; - representation shaping。 --- ## 11.2 再加入 Ego4D 视频预训练 $$ 3.82 \rightarrow 4.21 $$ 进一步提升: $$ +0.39 $$ 因此性能不是单纯来自更多预训练数据,也不是单纯来自辅助损失,而是二者共同作用: # $$ \boxed{ \text{GR-1 增益} \text{future prediction objective} + \text{large-scale video pre-training} } $$ 类似趋势在未见场景和 10% 数据设置中也存在。 --- # 12. 为什么预测三步后最好 作者比较了: $$ \Delta t\in{1,3,5} $$ 结果为: |Future Step|Avg. Len.| |--:|--:| |1|3.61| |**3**|**3.82**| |5|3.67| 解释是: - $\Delta t=1$:连续帧太相似,未来预测任务过于简单; - $\Delta t=3$:有足够明显的状态变化,又与当前动作相关; - $\Delta t=5$:未来太远,与当前局部动作之间的联系变弱。 因此存在一个 temporal horizon trade-off: $$ \text{预测太近} \Rightarrow \text{监督信号弱} $$ $$ \text{预测太远} \Rightarrow \text{与当前动作对齐弱} $$ 中间距离更适合作为动作学习的辅助目标。 --- # 13. GR-1 是不是 World Action Model 我的判断是: > GR-1 是一个具有 world-model-like predictive head 的行为策略,但还不是严格意义上的 action-conditioned world model。 GR-1 学习的是: $$ p\left( o_{t+\Delta t}, a_t \mid l,o_{\le t},s_{\le t} \right) $$ 未来图像与动作都是由相同历史条件联合预测。 但典型的 action-conditioned world model 更接近: $$ p\left( o_{t+1} \mid o_{\le t},a_t \right) $$ 也就是说,它需要明确回答: > 假如我采取候选动作 $a_t$,世界会发生什么变化? GR-1 的未来图像预测没有显式以候选动作作为输入,因此它不能在多个候选动作之间分别模拟未来: $$ a_t^{(1)} \rightarrow \hat{o}_{t+1}^{(1)} $$ $$ a_t^{(2)} \rightarrow \hat{o}_{t+1}^{(2)} $$ 然后通过规划选择更好的动作。 因此,GR-1 更准确的定位是: $$ \boxed{ \text{Policy} + \text{Future-observation auxiliary prediction} } $$ 而不是: $$ \boxed{ \text{Action-conditioned simulator} + \text{planning} } $$ 这一判断来自论文的问题定义和联合输出结构。 --- # 14. 它会不会预测失败后回退修正 不会,至少论文中没有这样的机制。 GR-1 在每个时刻根据当前历史直接预测动作: # $$ \hat a_t \pi_a \left( l,o_{t-h:t},s_{t-h:t} \right) $$ 未来图像只是辅助输出。论文没有设计: - 候选动作搜索; - MPC; - 预测结果验证; - 失败检测; - rollback; - action replanning; - 基于预测误差的在线修正。 下一时刻得到新的真实观测后,模型会再次执行闭环推理,所以它具有普通视觉策略的反馈能力;但这与“发现未来预测错误后主动回滚”不是一回事。 --- # 15. 对这篇论文更批判性的理解 ## 15.1 视频预测可能只是表示正则,而不是真正用于决策 虽然模型输出未来图像,但动作头没有显式读取生成出来的像素图像。 更准确地说,两个任务共享 Transformer representation: $$ h_t \rightarrow \begin{cases} \hat a_t\ \hat o_{t+\Delta t} \end{cases} $$ 而不是: $$ h_t \rightarrow \hat o_{t+\Delta t} \rightarrow \hat a_t $$ 所以论文证明的是: > 学习预测未来,有助于形成更好的动作表示。 它没有证明: > 模型在推理时真的利用生成的未来画面进行了规划。 --- ## 15.2 没有显式因果建模 GR-1 学到的是历史、动作与未来画面之间的统计关联: $$ p(o_{\mathrm{future}},a_t\mid \text{history}) $$ 但它没有显式学习干预分布: $$ p\left( o_{\mathrm{future}} \mid do(a_t) \right) $$ 因此不能直接说明: - 哪个动作导致了哪个视觉变化; - 哪些历史帧是因果关键帧; - 改变某个动作会如何改变未来; - latent 中是否真的编码了可干预的 dynamics。 这正是你之前提出的 **WAM + latent causal attribution** 可以进一步推进的地方。 --- ## 15.3 Pixel MSE 对多模态未来不友好 未来通常不是唯一的。 给定同一历史,机器人可能: - 向左绕; - 向右绕; - 从不同角度抓取。 但 MSE 的最优解倾向于预测条件均值: # $$ \hat{o} \mathbb E[o_{\mathrm{future}}\mid \text{history}] $$ 当存在多个可能未来时,像素均值可能导致模糊预测。 因此后续方法自然可以考虑: - latent prediction; - discrete visual tokens; - diffusion video prediction; - stochastic world model; - multi-hypothesis future prediction。 --- ## 15.4 人类视频和机器人动作之间仍有 domain gap Ego4D 提供了丰富的人—物交互,但没有机器人动作标签。 因此预训练主要提供: - 视觉语义; - 物体状态变化; - 动作语言与视觉结果的对应; - 通用交互先验。 它没有直接提供: - 机器人控制空间; - 关节动力学; - 末端执行器约束; - gripper affordance; - action-to-state transition。 GR-1 依赖机器人微调阶段将这些视频知识重新对齐到机器人动作空间。 --- # 16. 这篇论文真正重要的贡献 它最值得记住的不是“GPT 用在机器人上”,而是这三个观点: ## 观点一:预训练目标应该与机器人决策的时序结构一致 静态图像表征学习的是: $$ \text{what is there} $$ 视频生成学习的是: $$ \text{what happens next} $$ 后者与控制问题更接近。 ## 观点二:未来预测可以成为策略学习的辅助监督 $$ \text{Behavior Cloning} + \text{Future Prediction} \text{Behavior Cloning only} $$ 消融实验直接支持了这一点。 ## 观点三:世界预测和动作预测可以共享统一的序列模型 GR-1 展示了一条后来很常见的路线: $$ \text{language} + \text{vision} + \text{state} + \text{action} $$ 全部 token 化后交给统一 Transformer 建模。 --- # 17. 你应该如何给 GR-1 定位 把它放在发展脉络中,可以这样理解: $$ \text{视觉预训练策略} \rightarrow \boxed{\text{GR-1}} \rightarrow \text{Action-conditioned World Model} \rightarrow \text{World Action Model} $$ GR-1 已经做到了: - 大规模视频预训练; - 联合未来图像和动作预测; - 统一 GPT-style 多模态建模; - 将 future prediction 用作控制辅助目标。 但还没有做到: - 显式 action-conditioned dynamics; - 多候选未来 rollout; - 基于未来结果的规划; - prediction-error correction; - latent causal attribution; - 长期 imagination。 所以它非常适合作为你精读 WAM 和 latent world model 时的一篇**前置论文**。它把“视频预测能够帮助动作”验证出来,但还没有把“动作—未来—规划”这个闭环真正建立起来。

Edit page
Share this post on:

Previous Post
World Action Models 综述
Next Post
Learning Universal Policies via Text-Guided Video Generation