LaST-R1 论文分享简明笔记

5,644 字 · English 1,086 词 · 约 22 分钟阅读

本文基于以下本地材料整理:

  • 长版笔记:LaST-R1_论文与代码笔记.md
  • 论文 tex 源码:arXiv-2604.28192v3/main.tex
  • 论文图片:arXiv-2604.28192v3/figs/*.pdf
  • 本文图片导出目录:assets/last-r1-share/

1. 一句话讲清楚

LaST-R1 的核心想法是:机器人 VLA 模型在输出动作前,先在连续 latent 空间里“想一想”;然后用在线 RL 的环境奖励同时优化“怎么想”“想多久”和“怎么动”。

这篇论文的核心不是又做了一个更大的 VLA,而是提出了一个针对 latent reasoning-before-acting policy 的 RL post-training 框架:LAPO, Latent-to-Action Policy Optimization。

LaST-R1 总览

图 1:论文 teaser,一张图概括全文逻辑。画面分四个部分:

以前:image + instruction -> action
现在:image + instruction -> latent reasoning -> action
关键:reward 不只优化 action,也优化 latent reasoning 和 stop length

2. 论文要解决什么问题

VLA 模型通常把图像、语言指令和机器人动作接起来:

image + instruction -> action

这个范式有两个常见问题:

  1. 只靠 SFT / behavior cloning 容易被数据限制。 模型模仿专家轨迹,但没有真正和环境试错;一旦执行时偏离专家分布,错误会累积。

  2. 现有 VLA RL 多数只优化 action。 在线 RL 能利用成功/失败奖励改进动作,但如果模型内部有 CoT / reasoning 过程,普通 PPO/GRPO 往往没有直接优化这部分“思考”。

LaST-R1 的切入点是:复杂机器人操作不是只靠最后的动作 token 决定成败,动作之前的物理理解、空间推理和未来动态建模也应该被环境反馈优化。

3. 方法总览

LaST-R1 把一次决策拆成三段:

image + instruction
  -> latent reasoning embeddings
  -> <latent_end>
  -> action tokens

直观解释:

LaST-R1 方法框架

图 2:方法框架,三栏分别展示模型结构、训练流程和自适应推理效果。

左栏 (a) LaST-R1 VLA 模型结构:

中栏 (b) LAPO 在线 RL 训练流程:

右栏 (c) Adaptive Latent CoT 效果示意:

模块 做什么
LaST-R1 VLA 输入图像和指令,先生成 latent,再生成 action
LAPO rollout/update 和环境交互,记录 latent、action、reward
Adaptive latent CoT 学会什么时候发出 <latent_end>

4. 模型结构:latent 从哪里来

LaST-R1 基于 Qwen3-VL-4B,视觉编码器使用 SigLIP2-Large,动作采用离散 token 表示。

关键设计是:latent target 不是随便初始化的 learnable token,而是来自视觉基础模型 DINOv3:

  1. 用 DINOv3 提取图像 <CLS> token,原始维度为 4096;
  2. 按通道特征幅值做 top-k 选择,取 k = 2560;
  3. 得到与 VLA hidden size 对齐的 dense latent target;
  4. 这些 latent target 离线预计算,训练和推理时不需要额外跑 DINOv3。

为什么这样做:

5. LAPO:把 RL 从 action 扩展到 latent

普通 PPO 的思路是:

如果某个 action 带来了比预期更好的结果,就提高它再次出现的概率;
如果结果比预期差,就降低它再次出现的概率。

LaST-R1 把这个思想扩展到三类决策:

决策对象 论文里的优化含义 直觉
action tokens 学会做什么动作 成功动作更常出现,失败动作更少出现
latent embeddings 学会怎么内部推理 成功时的 latent 思考路径被拉近,失败时的路径被抑制
<latent_end> 学会什么时候停止思考 简单状态少想,复杂状态多想

5.1 action ratio

action 是离散 token,可以直接算新旧策略概率比:

$$r_t^a(\theta) = \exp( \log \pi_\theta(C_t) - \log \pi_{\theta_{old}}(C_t) )$$

这里 C_t 是一次决策输出的 action token 序列。论文和代码里通常把一个 action chunk 离散成多个 token,再把它们的 logprob 加起来作为整段 action 的 logprob。

5.2 latent ratio

latent 是连续向量,没有 softmax 概率。LAPO 的做法是:假设 rollout 时旧策略生成的 old_latents 来自一个以当前策略 latent 输出为均值的高斯分布。

于是 latent ratio 可以写成:

$$r_t^z(\theta) = \exp\left( -\frac{1}{2\sigma^2} \sum_i \|z_{t,i}^{old} - z_{t,i}^{\theta}\|^2 \right)$$

直觉:

所以这里看起来像 MSE,但它在 LAPO 里扮演的是连续 latent 的 likelihood ratio surrogate,不是普通监督学习里的 MSE loss。

5.3 <latent_end> ratio

<latent_end> 也是一个策略决策:模型需要决定什么时候结束 latent CoT。

训练时,论文会记录 rollout 中选择的停止位置,并像 PPO 优化离散 token 一样优化它:

新的 <latent_end> logprob - 旧的 <latent_end> logprob -> end ratio

如果较短 reasoning length 已经能成功,RL 会鼓励早停;如果任务复杂、想太少导致失败,RL 会降低过早停止的倾向。

6. adaptive latent CoT:学会动态分配思考预算

固定长度 latent CoT 的问题是:

LaST-R1 让 <latent_end> 可以在若干候选位置发出。论文默认最大 latent 长度为 8,并设置若干候选停止位置。

在 rollout 时:

  1. 模型在候选位置上给出 <latent_end> logits;
  2. 用带温度的 categorical distribution 采样一个 reasoning length;
  3. 执行动作并得到环境 reward;
  4. 用 advantage 优化这个停止长度。

在推理时:

Adaptive latent reasoning length

图 3:adaptive reasoning length 频率分布,对比 SFT warm-up 后(蓝色)和 RL 优化后(红色)的长度分布,四个子图对应 LIBERO 的四个 task suite(Spatial / Object / Goal / Long)。

关键发现:

Adaptive CoT 不是手工指定”所有任务都想 8 步”,而是让环境 reward 选择更有效的思考长度。

7. 训练流程

论文整体训练分成三步:

flowchart TD
    A["大规模机器人数据预训练"] --> B["任务内 SFT warm-up"]
    B --> C["在线 RL post-training"]
    C --> D["同时优化 action、latent、latent_end、value"]

7.1 预训练

论文使用约 400K 条轨迹、28M 帧,来源包括 Open-X-Embodiment、DROID、RoboMIND 等机器人数据集。DINOv3 latent target 会离线预计算。

7.2 SFT warm-up

SFT 阶段让模型先学会基本动作和 latent reasoning 格式:

在 LIBERO 上,论文采用极低数据设定:每个任务只用 1 条 expert trajectory 做 warm-up。

7.3 在线 RL

LIBERO 仿真里,LaST-R1 使用 LAPO 做在线交互:

7.4 训练资源

阶段 数据量 GPU 训练量 关键配置
预训练 400K 轨迹, 28M 帧 未明确(推测 8×H20) 未明确 OXE + DROID + RoboMIND,DINOv3 latent 离线预计算
LIBERO SFT warm-up 1 trajectory/task(one-shot) 8× H20 10K iterations/suite bf16 + DeepSpeed, batch=64, lr=1e-5, cosine decay
LIBERO RL (LAPO) 在线交互采集 1 节点 8× H20, FSDP + Ray ~50–150 RL steps 收敛 每步 512 rollout, 4 mini-batch × 4 epoch, actor lr=3e-5, value lr=3e-4
真机 SFT warm-up 30 trajectories/task 8× H20 1K iterations 固定 latent 长度 8
真机 RL 在线交互 + 人工干预 单卡 RTX 4090 在线持续训练 LoRA r=32, 异步 actor-learner, 500 transitions 后启动

注:论文未给出各阶段的 wall-clock 训练时间。从 LIBERO 学习曲线看,LaST-R1 + LAPO 通常在 50–100 RL steps 内收敛,而 Action-Only + PPO 需要更多步数且最终性能更低。

8. 实验结论

8.1 LIBERO benchmark

论文在 LIBERO 的四个 suite 上评估:

主要结果:

方法 Spatial Object Goal Long 平均 SR
OpenVLA-OFT 97.6 98.4 97.9 94.5 97.1
SimpleVLA-RL 98.2 98.7 98.8 91.7 96.9
RLinf-GRPO 98.9 99.7 98.3 93.6 97.6
pi_RL 99.6 100.0 99.6 94.0 98.3
LaST-R1 99.8 100.0 100.0 99.8 99.9

最值得强调的是 Long suite:LaST-R1 达到 99.8%,而对比的 pi_RL 是 94.0%。这说明 latent reasoning 对长任务更有帮助。

LIBERO learning curves

图 4:LIBERO one-shot online RL 学习曲线,四个子图分别对应四个 task suite。横轴是 RL 训练步数,纵轴是平均成功率 SR(50 个 hold-out 测试场景)。红色是 LaST-R1 + LAPO,蓝色是 Action-Only + PPO。

关键观察:

Long suite 上的曲线差距直接证明了 latent reasoning 对长任务不是锦上添花,而是必需的。

8.2 关键 ablation

论文的 ablation 支持三点:

  1. latent reasoning 本身有用。 one-shot SFT warm-up 后,LaST-R1 Warm-up 平均 SR 是 63.9%,Action-Only baseline 是 51.0%。在 LIBERO-Long 上提升更明显:49.6% vs 26.2%。

  2. RL 后 LAPO 明显优于 action-only PPO。 LaST-R1 + LAPO 平均 SR 达到 99.9%,Action-Only + PPO 是 95.2%。

  3. DINOv3 latent 表征最好。 DINOv3 表征在 ablation 中达到 99.8% SR,高于 Convolution 98.4%、Q-Former 97.2%、Global Pooling 96.8%。

Latent ablation studies

图 5:三组核心消融实验(均在 LIBERO-Spatial 上评估)。

子图 (a) Latent 表征方式对比(RL 后 SR):

子图 (b) Latent CoT 固定长度对比(RL 后 SR):

子图 (c) Adaptive 候选位置数量 M 对比(RL 后 SR):

总结:DINOv3 表征最好,8 个 latent token 够用,4 个候选停止位置是探索 vs 稳定的最佳折中。

8.3 真实机器人实验

真实世界任务包括:

论文报告:LaST-R1 使用少量 SFT 数据加在线 RL 后,原始场景平均 SR 从 52.5% 提升到 93.75%,超过使用 100 条专家轨迹 full SFT 的 pi_0.5 baseline(71.25%)。

Real-world results

图 6:真实机器人实验结果总览。图片分四行,对应四个真实任务(Insert hexagon block / Open bag zipper / Wipe vase with sponge / Open bottle cap),每行包含多组场景的照片序列,展示机器人从初始状态到完成的关键帧。

图中四个任务的特点和难点:

对比数据:

对比维度 π₀.₅(100 条轨迹 full SFT) LaST-R1(30 条 SFT → RL)
原始场景平均 SR 71.25% 52.5% → 93.75%
Unseen-Object 泛化 最高下降 45% 下降控制在 15% 以内
Background/Lighting 扰动 下降 5–25% 接近零下降

真机 RL 是怎么做的

真机 RL 的训练流程和 LIBERO 仿真 RL(PPO/LAPO + GAE)完全不同,是一个异步 actor-learner 架构,核心思路是:机器人一边在真实环境里跑,后台一边用混合数据在线更新模型。

硬件配置:

整体架构:异步 actor-learner

Actor(机器人端)                  Learner(训练端)
─────────────────                ─────────────────
持续执行策略                      从混合 buffer 采样训练
↓                                ↓
采集 transition tuples           更新 LoRA 参数
↓                                ↓
遇到失败 → 人工干预纠正           定期广播新权重给 Actor
↓                                ↓
干预轨迹写入专用 buffer           Actor 热加载新权重继续跑

Actor 和 Learner 是并发的——Actor 不等待 Learner 更新完才继续跑,Learner 也不阻塞 Actor 采集数据。

人工在环(Human-in-the-Loop):

真机 RL 不是全自动的。当策略执行失败或即将出错时,操作员通过 SpaceMouse 介入纠正。这些人工干预轨迹会被专门存入一个 demonstration buffer,和自动 rollout buffer 分开保存。Learner 训练时从两个 buffer 混合采样(mixed mini-batch),确保模型不会遗忘正确的行为模式。

为什么用 LoRA 而不是全参数更新:

真机 RL 只更新 LoRA 参数(rank r=32,注入所有 attention 层),冻结 base model。原因有三:

  1. 计算效率:单张 4090 上做全参数 RL 训练不现实,LoRA 大幅降低显存和计算量;
  2. 稳定更新:真机数据量少且噪声大,全参数更新容易导致策略崩溃,LoRA 约束了更新空间;
  3. 热加载:Learner 完成更新后把 LoRA 权重广播给 Actor,Actor 可以无缝切换新权重而不中断执行。

训练目标:BC + Q-guided policy improvement

这也是和 LIBERO 仿真 RL 最大的区别——真机不用 PPO/GAE。

LIBERO 仿真 RL 用的是 PPO 风格的 clipped objective + GAE 算 advantage,优化的是"新旧策略的概率比值"。真机 RL 用的是完全不同的组合:

Critic 用 one-step TD target(γ=0.98),target value 软更新(τ=0.005)。Critic 更新频率是 Actor 的 2 倍(2:1 更新比)。

奖励设计:

真机没有仿真里自动判断任务成功的 verifier,所以奖励是人工给的:

训练启动和超参:

真机 RL vs LIBERO 仿真 RL 对比:

维度 LIBERO 仿真 RL 真机 RL
更新方式 同步(collect → train 循环) 异步 actor-learner
参数更新 全参数 仅 LoRA(r=32)
训练目标 PPO clipped + GAE + latent/transition loss BC + Q-guided policy improvement
Advantage 计算 GAE(γ=0.99, λ=0.95) One-step TD(γ=0.98)
奖励信号 仿真自动判断(稀疏 0/1) 人工确认(+10 成功 / -0.05 步数)
干预机制 无 人工 SpaceMouse 干预,存入专用 buffer
数据量 1 trajectory/task warm-up 30 trajectories/task SFT warm-up
Latent 长度 多任务随机 {2,4,6,8} 单任务固定 8

关键洞察:仿真 RL 追求的是"从极少量数据快速探索"(one-shot + 稀疏奖励),所以用 PPO 做保守的策略更新来防止探索崩溃。真机 RL 面对的是完全不同的挑战——物理噪声、视觉域差、安全约束——所以走的是"少量 SFT 打底 + BC 保持行为锚 + Q 函数引导改进"的稳健路线,外加人工干预兜底。

8.4 泛化和执行效率

论文还从两个角度解释为什么 latent reasoning 有帮助:

Generalization analysis (detailed)

附录图 10:LIBERO OOD 泛化曲线详情(论文附录 §Additional Generalization Analysis)。每个 LIBERO suite 展示 2 个代表性 held-out task,共 8 个子图。横轴是 RL 训练步数,纵轴是 held-out task 上的成功率 SR。红色 = LaST-R1 + LAPO,蓝色 = Action-Only + PPO。

Figure 10: Generalization analysis on LIBERO. For each task suite, models are warmed up with one trajectory per task, followed by online RL training on 9 tasks, with the remaining 1 task for evaluation. While the out-of-distribution performance of the Action-Only PPO baseline (blue) stagnates, our LaST-R1 with LAPO (red) demonstrates continuous generalization improvements across all task suites.

这张图的核心问题是:在线 RL 训练会不会只把训练任务刷高,还是能真正提升对未见任务的泛化? 它不是普通的"训练集成功率曲线",而是 OOD generalization 曲线。

实验设置:LIBERO 每个 suite 有 10 个任务(Spatial: 10 个空间操作任务、Object: 10 个物体操作任务、Goal: 10 个目标导向任务、Long: 10 个长程任务)。每个 suite 中选 9 个任务做 online RL 训练,剩下 1 个任务完全不参与 RL 训练,用这个 held-out task 测试 OOD 成功率。也就是说,图上测试的是:模型在训练 9 个任务的过程中,对第 10 个没训练过的任务表现有没有变好。

上图列出了每个 suite 的 2 个 held-out task,其关键趋势如下:

核心洞察:这张图直接支持了论文的关键主张——action-only RL 会有"过拟合"到训练任务特定运动模式的风险。加入 latent reasoning 后,模型从环境反馈中学到的是可迁移的物理理解(空间关系、物体动态),而不是机械记忆训练分布的轨迹模式,因此对 unseen 任务持续泛化。

Episode length comparison

图 8:平均执行步数对比,四个子图对应四个 LIBERO suite。每个子图有三组柱形:Expert(仿真专家轨迹)、Before RL(SFT warm-up 后 RL 前的策略)、After RL(LAPO 优化后的策略)。数据在 500 条 rollout 上无条件平均(包含成功和失败的 episode)。

三个关键对比:

关于"latent reasoning 会不会让模型变慢":RL 后 latent length 缩短(图 3),执行步数也减少(图 8),整体比专家更快完成。

8.5 视觉注意力证据

论文附录还用 attention 可视化说明:加入 latent reasoning 和 LAPO 后,action token 对视觉区域的关注更集中在任务相关物体和目标位置上。

Action-to-vision attention

图 9:action-to-vision cross-attention 可视化(Grad-CAM),四行对应 LIBERO 四个 suite 上的典型轨迹,四列对应四种模型配置。热力图叠加在原图上,深色/暖色区域表示 action token 对视觉区域的关注度更高。

四种配置的纵向对比(按列看):

按行看任务案例:

这组热力图是 latent reasoning 的定性证据——它不只是数字的微小提升,而是从根本上改变了模型"看"的方式。

9. 这篇论文的核心贡献

可以概括成三点:

  1. 提出 LaST-R1 框架。 将 latent CoT reasoning 和 action generation 放进同一个 VLA policy 里,先推理再行动。

  2. 提出 LAPO。 把 PPO 风格的 RL post-training 从 action 扩展到 continuous latent reasoning 和 <latent_end> 停止决策。

  3. 提出 adaptive latent CoT。 让模型根据环境状态动态选择 reasoning length,兼顾复杂任务的推理能力和简单任务的执行效率。

10. 常见问题

Q1:latent CoT 是不是可解释的文字推理?

不是。这里的 CoT 是连续 latent embedding,不是自然语言文本。它更像模型内部的物理状态表示或未来动态摘要。

Q2:LAPO 的 latent loss 是不是普通 MSE?

不完全是。形式上包含 latent 距离,但论文把它解释为高斯分布下的 likelihood ratio surrogate,再用 PPO clipping 和 advantage 加权。它的作用不是固定模仿某个 ground-truth latent,而是根据 rollout 的好坏决定靠近或远离旧策略产生的 latent。

Q3:old_latents 是不是标准答案?

不是。old_latents 是 rollout 时旧策略实际生成的 latent 轨迹。它是否值得学习,取决于这段轨迹的 advantage。

Q4:为什么 adaptive latent length 有用?

因为不同状态需要的推理预算不同。简单状态可以早停,复杂状态需要更多 latent token。RL 通过 reward 学会哪个长度更可能带来成功。

Q5:论文最应该关注的局限是什么?

论文当前的 adaptive CoT 仍然依赖最大长度和候选停止位置,例如最大长度为 8、候选位置数量有限。它还不是完全自由的动态停止机制。另外,真实世界实验虽然展示了强结果,但附录中的真实世界 RL pipeline 与 LIBERO 的 LAPO/PPO 实现并不完全一致,需要注意仿真和真实机器人的训练细节不同。

11. 最短版 takeaway

LaST-R1 = latent reasoning-before-acting + online RL post-training。

它的关键是 LAPO:不只优化机器人最后的 action,还用环境 reward 优化 action 之前的 continuous latent reasoning 和 <latent_end> 停止长度。因此成功经验会同时塑造“怎么想、想多久、怎么动”,这也是它在长任务和泛化实验中表现更好的主要解释。