Skip to content

VLAC:统一 Actor-Critic 的视觉-语言-动作模型——真实世界机器人 RL 自改进框架

论文:A Vision-Language-Action-Critic Model for Robotic Real-World Reinforcement Learning

机构:上海人工智能实验室(Shanghai AI Lab)

发布时间:2025年9月

🔗 arXiv


一句话总结

VLAC 基于 InternVL 构建统一的 Vision-Language-Action-Critic 模型,用 pairwise progress delta 提供稠密过程奖励,消除逐任务奖励工程,同时兼任策略(actor);配合异步真实世界 RL 框架和分级人机协作协议,在四个真实操作任务上 200 个 episode 内将成功率从 ~30% 提升至 ~90%,人机协作后最高达 100%。


一、论文要解决什么问题?

1.1 VLA 模仿学习的天花板

当前 VLA 模型主要靠模仿学习训练,依赖大量人类专家演示数据。问题在于:

  • 数据收集成本极高且主要聚焦实验室定制场景
  • 数据质量参差不齐,难以覆盖真实世界的多样性
  • 训练出的模型面对分布外场景和任务时泛化能力有限

因此,让机器人在真实世界中通过 RL 自主交互、自我改进成为自然的解决路线。

1.2 真实世界 RL 的奖励工程瓶颈

真实世界 RL 面临的核心瓶颈不是算法本身,而是奖励信号

  1. 稀疏奖励:大多数方法只在任务完成/失败时给出二值信号,中间过程完全无反馈,导致信用分配困难
  2. 任务特定奖励工程:每个新任务都需要手工设计 reward shaping 或训练 done 分类器,工程开销巨大
  3. 已有通用奖励方案的局限
    • 直接查询 VLM(如 Gemini)做打分:空间精度差、时序不稳定、对失败轨迹判别力弱
    • CLIP 语义嵌入距离:对几何变化不敏感
    • 时间对比学习(如 VIP、LIV):信号更平滑但跨任务泛化差
    • 目标图像合成/编辑:依赖额外生成模型,误差累积

本文的目标:构建一个通用的过程奖励模型,能够零样本或一样本迁移到未见过的任务和环境,提供稠密、有方向的进度信号。

1.3 Actor-Critic 分离的低效

传统做法中,策略(actor)和奖励/价值(critic)是分离的模块。VLAC 的核心 insight 是:对任务进度的理解能力和动作生成能力本质上共享同一套视觉-语言表征。理解"当前做到了哪一步"的能力反过来能增强"下一步该做什么"的决策。因此,VLAC 用一个统一的多模态自回归模型,通过不同的 prompt 在 critic 模式和 actor 模式之间切换。


二、预备知识

2.1 Pairwise Progress Delta

与传统的绝对价值函数不同,VLAC 输出的是相对进度增量:给定两帧图像 oioi+Δt 以及任务描述 ltask,模型输出 ci,i+Δt 表示第二帧相对于第一帧的任务进展百分比:

ci,i+Δt=VLAC(oi,oi+Δt;ltask)
  • c>0:第二帧比第一帧更接近任务完成(正向进展)
  • c<0:第二帧反而倒退了(负向进展,即"坏动作")
  • c=0:两帧处于相同进度(无变化或无关任务)

这个 delta 值天然可以作为 TD 风格的奖励信号 用于 RL。

2.2 为什么用 Pairwise 而非绝对值?

关键优势:与轨迹起点无关。不管数据从哪个中间状态开始采集,pairwise delta 只衡量局部窗口内两帧之间的相对变化。这使得模型可以:

  • 兼容不同采集策略和起点
  • 同时利用有动作标注的机器人数据无动作标注的人类视频数据
  • 天然构造正负样本(交换帧顺序即可得到反向样本)

2.3 PPO 基础

VLAC 的 RL 部分使用标准 PPO。核心目标函数:

LPPO=Et[min(rtAt,clip(rt,1ϵ,1+ϵ)At)]

其中 rt=πnew(at|st)πold(at|st) 是新旧策略的似然比,At 是 GAE 计算的优势函数。


三、核心方法

3.1 VLAC Critic 学习

3.1.1 进度标注方式

核心假设:在成功的演示轨迹中,任务进度与时间正相关。一条长度为 T 的轨迹,从第 i 帧到第 i+Δt 帧的进度标签为:

ci,i+Δt=ΔtTi

用大白话说:如果一条轨迹还剩 (Ti) 步完成,往前走了 Δt 步,那么完成了剩余任务的 Δt/(Ti) 比例。

Δt 的取值范围是 [i+1,Ti]Z,既覆盖相邻帧的细粒度变化,也覆盖跨度较大的长程进度。当 Δt<0(交换帧顺序)时自然产生负样本。

3.1.2 四种数据增强策略

策略 1:像素差异过滤

当两帧几乎没有视觉变化时(如机器人静止不动),强行标注正进度会引入噪声。因此设定阈值 σ=1%

Diff(oi,oi+Δt)<σci,i+Δt=0

策略 2:联合采样(Joint Sampling)

对每个采样对 (oi,oi+Δt),同时构造四个样本:

{(oi,oi+1)细粒度正向(oi+1,oi)细粒度反向(oi,oi+Δt)长程正向(oi+Δt,oi)长程反向

确保正/负、局部/全局样本的平衡。

策略 3:任务完成判断联合采样

每次采样一对数据:一个来自完成状态(i>0.95Tldone=1),一个来自未完成状态(i<0.8Tldone=0)。0.8Ti0.95T 的灰色区域不标注,避免边界噪声。

策略 4:跨任务描述交叉采样

以 5% 概率将当前轨迹的任务描述替换为不相关的任务描述,并强制标注 c=0。这训练模型学会判断"这段视频和给定的任务描述是否匹配",避免对任何指令都给出进度信号。

3.1.3 任务描述估计

除了进度预测,还构建了一个辅助任务——从起始帧和终止帧推断任务描述:

ltask=VLAC(oistart,oiend)

其中 oistart[0,0.3T]oiend[0.8T,T]。这让任务描述不仅是输入条件,也成为输出目标,增强视觉-语言的联合理解。

3.1.4 In-Context Learning 增强泛化

为提升跨场景、跨任务的迁移能力,VLAC 支持 one-shot in-context 进度理解:

ci,i+Δt=VLAC(oi,oi+Δt;ltask,Oref,o0)

其中 Oref 是一段参考演示(可以是机器人或人类的),o0 是当前轨迹的起始帧。模型从参考示例中获取场景和任务逻辑的先验,实现"看一个例子就能评估新任务的进度"。

3.2 VLAC Actor 学习

动作表示为 delta End-Effector (EEF) 位姿——一个 7 维向量 [Δx,Δy,Δz,Δα,Δβ,Δγ,ΔGrip],与具体机器人构型无关。

关键设计:动作以语义空间中的数字字符串生成,例如:

"x: -47mm, y: 19mm, z: 66mm, roll: 14 degrees, pitch: 10 degrees, yaw: 15 degrees, open: 0"

利用结构化模板,非数值部分(如 "x:"、"degrees")直接从模板读取,模型只需要从词表中选择数值对应的 token。这样做的好处:

  1. 大幅减少自回归生成所需的 token 数量
  2. 充分利用预训练多模态模型的语义生成能力
  3. 生成的动作可以在合理范围内多样采样,有利于探索

3.3 视觉-语言感知学习

为增强多模态理解能力,训练数据中混合了四类 VQA 数据集:

  • 通用对话:LLaVA(保持基本对话能力)
  • 机器人理解:RoboVQA(机器人场景多模态理解)
  • 空间推理:SpatialVQA(深度、检测、空间关系)
  • 图像差异:Spot-the-diff、InstructPix2Pix(细粒度图像对比)

3.4 数据规模

数据源规模用途混合权重
Ego4D HOD157M 样本 / 3000h任务进度理解14.6%
Droid40M / 741h进度理解 + 动作30.0%
RoboSet4M / 130h进度理解 + 动作17.4%
FMB2M / 144h进度理解 + 动作9.7%
Bridge2M / 135h进度理解 + 动作9.1%
SpatialQA781k通用视觉语言5.8%
LLaVA633k通用视觉语言4.7%
自采集数据946k / 18h进度理解 + 动作4.4%
AGIBOT8M / 73h进度 + 语言 + 动作3.0%

总计约 4000 小时操作数据 + 多种 VQA 数据,采样 4000 万数据点训练。

3.5 统一架构:Prompt 控制模式切换

一个 VLAC 模型通过不同 prompt 切换两种模式:

  • Critic 模式(进度评估):

    • 奖励 prompt:"Image-1: <image> Image-2: <image> Compare two images and evaluate whether the second image is closer to achieving task objectives... The target task is: <task> <score>"
    • Done 判断 prompt:"<image> The 1 means yes, the 0 means no. Check if the robot has completed its task: <task>"
  • Actor 模式(动作生成):接收观测图像、机器人状态、任务指令和历史动作,输出结构化动作字符串

实验中使用 2B VLAC 作为 actor8B VLAC 作为 critic

3.6 PPO 训练与 Value Head

在 VLAC 的自回归架构上集成 PPO 的方式:

  1. 模型先生成 reward tokens(critic 输出),再生成 action tokens
  2. action token 的 logits 记录下来,用于计算似然比 rt
  3. 在最后一个 token 生成后的 hidden state 上接一个线性 value head,输出 V(st) 用于 GAE 计算
  4. Value head 在少量演示和早期探索轨迹上轻量预训练,减少初始优势方差

一个重要的工程发现:vLLM 和 PyTorch 原生推理的结果存在显著差异。在相同参数和样本下,两者计算的 importance ratio 在 0.4 到 1.8 之间波动,导致约 60% 的数据触发 PPO 的裁剪机制而被浪费。因此使用 vLLM 推理时,训练阶段必须用 PyTorch 重新计算 action 概率。

3.7 真实世界 RL 基础设施

异步执行架构

  • 机器人异步执行:上传观测和执行动作独立进行,不需要等待动作完成才上传新观测
  • 动态推理服务器分配:确保所有机器人观测在 0.1 秒内分配到空闲 VLA 副本进行推理
  • 动作时间戳滞后调整:训练时将 action timestamp 延后一段由 VLA 推理时间决定的 duration,使下一个动作恰好在上一个执行完毕时到达

框架基于 Ray 构建,组件包括:推理 worker、训练 trainer、数据服务器、日志服务器、rollout worker(机器人通信)。通信使用 ZeroMQ

3.8 分级人机协作(Human-in-the-Loop)

VLAC 设计了三个层次的人机协作策略,逐步递增干预强度:

Level 1:Offline Demonstration Replay

预先收集人类操作数据填充 replay buffer,训练时周期性采样,用 NLL 损失更新模型:

LNLL(θ)=(at,st)Dhumanlogπθ(at|st)

关键是遥操作员先观察策略执行一段时间,然后针对性地补充策略成功率低的场景的演示数据。

Level 2:Return and Explore

遥操作员观察策略频繁失败的状态(如碗的特定初始位置),手动将机器人和物体重置到这些困难状态开始探索。本质上是针对性重置到高失败率区域

Level 3:Human Guided Explore

当策略即使从正确的起点也无法探索出正确行为轨迹时,遥操作员直接提供示范数据并加入 replay buffer。这是最强的干预手段,直接提供"怎么做"的信号。


四、实验结果

4.1 Critic 性能:跨实体、跨场景、跨任务泛化

使用 VOC-F1(Value-Order Correlation 的正反序 F1)评估进度理解能力。在 8 个数据集上的表现:

数据集类型GVL (Gemini-1.5-Pro)VLAC-8B (zero-shot)VLAC-8B (one-shot)
Bridge训练集内0.510.97/0.991.00/1.00
Droid训练集内-0.010.92/0.940.93/0.95
RT1OOD0.740.71/0.720.91/0.95
RoboNetOOD(无语言)-0.85NAN0.59/0.76
Dobb-EOOD(夹爪视角)0.530.47/0.550.74/0.78
RH20TOOD-0.17/0.340.64/0.77
EgoDexOOD(人手)-0.05/0.480.44/0.78
RoboFAC-successOOD-0.76/0.590.83/0.95
RoboFAC-failOOD-0.30/-0.060.41/0.47

(表中数值为 VOC/VROC)

关键发现:

  • In-context learning 效果显著:RT1 上 zero-shot VOC 0.71 → one-shot 0.91
  • 正确依赖语言指令:RoboNet 无语言标注,zero-shot 时 VOC-F1=0,说明模型不会瞎打分
  • 区分成功/失败轨迹:RoboFAC 成功视频 VOC-F1=0.89 vs 失败 0.44,差距明显
  • 人类视频数据有益:加入 Ego4D 训练后,成功/失败轨迹的区分度进一步拉大

4.2 Actor 性能

在 5 个真实任务上评估,每个任务收集 100 个样本训练 8B VLAC:

方法开盖放碗铺垫扫桌盛饭平均成功率
Pi085%40%0%10%30%27%
VLAC w/o pretrain50%0%0%0%30%16%
VLAC90%85%85%40%75%75%
VLAC + 光照迁移85%65%60%25%50%57%
VLAC + 场景迁移90%65%70%40%50%63%

关键发现:

  • 进度预训练至关重要:去掉进度理解预训练后成功率从 75% 降至 16%。模型不是不会动,而是无法判断当前任务状态——例如没抓到碗就开始放置
  • 泛化能力强:在极端光照变化和场景迁移下仍能合理生成动作
  • Pi0 在光照迁移下几乎完全失败(3%),VLAC 仍保持 57%

4.3 真实世界 RL 自改进

四个任务上的最终成功率(200 episode 训练后):

任务BaselineReturn & ExploreHuman GuidedOffline Demo Replay
扫桌清理90%100%100%100%
放碗80%90%100%100%
铺垫80%90%90%100%
盛饭转移100%80%100%70%
平均88%95%98%93%
  • Baseline(纯 PPO + VLAC critic)已经很强,200 episode 内从 ~30% 升至 88%
  • Human Guided Explore 和 Offline Demo Replay 均能在部分任务达到 100%
  • Return and Explore 效果相对有限,因为选择好的重置点本身很困难

4.4 多机器人扩展规律

在 Pick-and-Place Bowl 任务上测试 1/2/4/8 机器人并行训练:

机器人数达到 80% 成功率所需 episode/robot总时间
864~24.6 分钟
4147
2325~2 小时
1137
  • 从 2→4→8,每增加一倍机器人约减半每 robot 所需 episode,呈现 scaling law
  • 单 robot 异常低是因为单一静态背景更容易拟合
  • 多 robot 训练需要动态采样策略:增加学得慢的 robot 的采样频率

五、局限性与未来方向

  1. 人机协作的启发式依赖:干预时机、重置状态选择、演示策划仍依赖操作员经验,缺乏量化触发器(如能力饱和检测器、失败模式覆盖指标)
  2. RL 方案与离散动作头的耦合:当前 PPO + 自回归 tokenized delta-EEF 不能直接推广到 diffusion/flow-matching 等连续迭代解码器
  3. 多任务在线 RL 不稳定:同时训练多个任务时存在奖励尺度漂移、负信号密度不均、梯度干扰和遗忘,尚未集成任务自适应归一化或梯度冲突缓解机制

六、个人思考

6.1 与项目中其他论文的联系

  • vs RISE/WMPO/WoVR(世界模型 RL):这些方法在想象空间做 RL 来避免真实交互成本,而 VLAC 直接在真实世界做 RL。VLAC 的关键贡献是用 VLM 提供通用稠密奖励解决了真实世界 RL 的奖励信号问题,两条路线互补
  • vs VLA-RL/RLVLA(在线 PPO 微调 VLA):VLA-RL 提出 Robotic PRM 解决稀疏奖励,RLVLA 系统性比较了 PPO/DPO/GRPO。VLAC 的独特之处在于 critic 和 actor 共享一个模型,且 critic 的训练数据远超任务特定数据(4000h 多源数据),泛化能力更强
  • vs TGRPO(LLM 生成稠密奖励):TGRPO 用 LLM 自动设计奖励函数,VLAC 用 VLM 直接视觉对比打分。VLAC 的方式更"端到端",不需要语言层面的奖励函数设计
  • vs RLinf-USER(真实世界 RL 基础设施):两者都关注真实世界 RL 的工程基础设施,但设计哲学不同——RLinf-USER 强调统一硬件抽象和云-边协同,VLAC 的 Ray+ZeroMQ 方案更轻量
  • vs π₀.₆*(优势条件化离线 RL):π₀.₆* 用 RECAP 将 rollout + 专家数据统一为离线 RL,VLAC 用在线 PPO + 人机协作。两者都认识到"探索"是关键瓶颈,但解法不同
  • vs SC-VLA(内生奖励):SC-VLA 用稀疏世界想象产生内生密集奖励,VLAC 用 pairwise progress prediction 产生外部密集奖励。SC-VLA 的奖励与策略深度耦合,VLAC 的奖励模型可独立迁移

6.2 关键 insight

"理解进度"比"执行动作"更容易泛化——这是 VLAC 最核心的 insight。人类面对新任务时,执行能力可能很差,但判断"这一步做得好不好"的能力是通用的。VLAC 把这个认知科学观察工程化了:用 4000 小时的多源数据训练通用进度理解能力,然后用它来指导在线 RL。实验证据(VLAC w/o pretrain 16% vs VLAC 75%)有力地支持了这一点。

6.3 vLLM vs PyTorch 推理差异

这是一个非常有实用价值的工程发现。importance ratio 在 0.4–1.8 之间波动,60% 数据被浪费——这意味着在生产级 VLA RL 系统中,推理引擎的数值一致性是不可忽视的问题。


参考

  • VIP / LIV:基于时间对比/语义嵌入的通用视觉奖励函数,VLAC 的 critic 学习方案可视为其进化版
  • GVL(Ma et al., 2024):VLM 作为 in-context value learner,VLAC 的 VOC 评测指标和 in-context 思路受其启发
  • VLA-RL(2025):在线 PPO 微调自回归 VLA + Robotic PRM,与 VLAC 的在线 RL 路线最为接近
  • π₀ / π₀.₅:VLAC actor 部分的动作表征设计(delta EEF)与 π₀ 的 flow matching 不同,采用纯自回归语义生成
  • SERL(Luo et al., 2024):真实世界 RL 的 sample-efficient 软件套件,VLAC 的 RL 基础设施设计可参考