RehearseVLA深度解析:基于物理一致世界模型的VLA强化学习后训练框架
论文信息
- 标题:RehearseVLA: Simulated Post-Training for VLAs with Physically-Consistent World Model
- 会议:CVPR 2026
- 单位:中山大学计算机学院、教育部机器智能与先进计算重点实验室
- 代码:https://github.com/iSEE-Laboratory/RehearseVLA
- 论文:https://openaccess.thecvf.com/content/CVPR2026/papers/Xiao_RehearseVLA_Simulated_Post-Training_for_VLAs_with_Physically-Consistent_World_Model_CVPR_2026_paper.pdf
一、研究背景:机器人学技能的"彩排难题"
视觉-语言-动作(VLA)模型堪称当下机器人的"通用大脑"------能看懂视觉画面、听懂自然语言指令、直接输出底层运动控制指令,是具身智能的核心范式。但这个大脑好不好使,高度依赖海量高质量演示数据,就像学霸也得刷够题才能考高分。
但现实很骨感:
- 模仿学习的瓶颈:靠人类示教喂数据,成本高、效率低,每个任务录几十上百条演示,小团队根本扛不住;数据少了模型就死记硬背,换个物体、换个位置直接翻车。
- 强化学习的困境:想让机器人自己试错进化?真机上练风险极高------工业机器人拧错一次螺丝可能废掉整个工件,服务机器人碰倒水杯得有人收拾,而且环境没法一键重置,试错成本贵到离谱。
- 传统仿真器的短板:用仿真器练?搭建一个逼真的仿真环境要花几个月,物体、纹理、光照都得手动调,好不容易练出来的策略,放到真机上又水土不服(Sim-to-Real Gap)。
大白话备注:就像学开车,只看教学视频(模仿学习)应变能力差;直接上路练(真机RL)容易撞车还贵;用驾校模拟器(传统仿真)又和真实路况差太远。大家一直想要一个「足够真实、又能随便造、还便宜」的练车场地。
于是作者抛出了核心思路:用AI自己的"脑补能力"(世界模型)搭一个虚拟训练场,让VLA模型先在里面彩排练熟,再上真机落地。这就是RehearseVLA的由来------字面意思就是"给VLA彩排的训练框架"。

图1 世界模型中的VLA探索与LIBERO基准性能对比 出自原文Figure 1
左图展示了VLA在世界模型中自主探索的过程,右图是性能对比柱状图。可以直观看到,本文方法在目标物体任务上成功率达到86.4%,远超OpenVLA、UniVLA等主流基线,在少样本场景下提升尤为明显。

图2 三种VLA训练范式对比 出自原文Figure 2
对比了三类训练方式:物理仿真/真实世界交互不可逆、成本高;人类演示数据量有限;而基于世界模型的方案既可逆、成本低,又能生成多样化数据,完美折中了前两者的痛点。
二、预备知识:先搞懂两个基础概念
2.1 VLA模型:从画面+指令到动作
VLA模型的本质是一个端到端的映射函数:输入历史视觉画面、机器人自身状态、语言指令,输出下一步的动作。
at=πθ(o1:t,s1:t,g) a_{t}=\pi_{\theta}\left(o_{1: t}, s_{1: t}, g\right) at=πθ(o1:t,s1:t,g)
符号解释:
- ata_tat:第ttt时刻输出的机器人动作,比如机械臂的位姿、夹爪开合度;
- πθ\pi_\thetaπθ:带参数θ\thetaθ的VLA策略网络,一般由预训练视觉语言大模型+轻量动作头组成;
- o1:to_{1:t}o1:t:从第1帧到第ttt帧的RGB视觉观测序列,也就是机器人看到的画面;
- s1:ts_{1:t}s1:t:对应时刻的机器人本体状态,比如关节角度、末端执行器位姿;
- ggg:自然语言指令,也就是人类给机器人下达的任务,比如"把奶油奶酪放进碗里"。
大白话备注:你给机器人看当前画面、说一句任务,它直接输出下一步胳膊怎么动,就是这个公式干的事。
2.2 强化学习:靠试错优化策略
强化学习把决策过程建模为马尔可夫决策过程(MDP),目标是让机器人学会最大化累计奖励的策略。
J(πθ)=Eπθ∑t=0Tγtrt J\left(\pi_{\theta}\right)=\mathbb{E}{\pi{\theta}}\left\\sum_{t=0}\^{T} \\gamma\^{t} r_{t}\\right J(πθ)=Eπθt=0∑Tγtrt
符号解释:
- J(πθ)J(\pi_\theta)J(πθ):策略πθ\pi_\thetaπθ的期望累计回报,数值越高策略越好;
- Eπθ⋅\mathbb{E}{\pi\theta}\\cdotEπθ⋅:对策略πθ\pi_\thetaπθ采样得到的所有轨迹取期望;
- TTT:一条轨迹的最大时间步长;
- γ\gammaγ:折扣因子,取值0,10,10,1,越远的奖励权重越低,鼓励机器人尽快完成任务;
- rtr_trt:第ttt步获得的即时奖励,任务完成得越好,奖励越高。
大白话备注:机器人每做一个动作都能拿到分数,目标是一整套动作下来总分最高。分数怎么给,是强化学习最关键的问题。
三、方法详解:RehearseVLA三大核心模块
RehearseVLA整体是一套"虚拟彩排+即时反馈"的后训练流程,全程不需要真机交互。整体架构如下图:

图3 RehearseVLA整体框架 出自原文Figure 3
整个框架由三部分闭环组成:
- 训练数据策略:用人类演示+VLA自主探索的轨迹,训练世界模拟器;
- 优化循环:VLA输出动作,世界模拟器预测下一幕画面,反射器给出反馈;
- 奖励与终止信号:给每条轨迹打分,同时判断任务是否完成,及时终止。
简单说就是:世界模型负责"脑补画面",反射器负责"打分喊停",VLA负责"优化动作",三者在虚拟世界里循环迭代,越练越强。
3.1 物理一致世界模拟器:AI的"脑补引擎"
世界模拟器的核心任务是:输入当前画面和机器人动作,精准预测下一步会变成什么样。预测得越准,虚拟训练就越靠谱,真机迁移效果越好。

图4 物理一致世界模拟器结构 出自原文Figure 4
整个模拟器基于U-Net扩散网络搭建,核心设计有两个亮点:动作图像素级条件、几何感知双路径特征注入。
(1)动作图:把机器人动作变成画面条件
首先通过正运动学,把动作转换成机器人下一刻的本体状态,再投影到图像平面,生成一张"动作图"------前景是机器人末端的位置姿态标记,背景是纯黑,对比度拉满。
这张动作图和历史观测图一起,作为像素级条件输入扩散网络,告诉模型"机器人接下来要移到这"。
(2)几何感知特征注入:保证画面不"瞎画"
普通视频生成模型画面好看,但经常几何错乱------物体飘起来、机械臂穿模,练出来的策略肯定不能用。为了保证物理一致性,作者加了双编码器特征注入:
- VGGT编码器:擅长保留精细的几何结构和空间布局,保证物体位置、形状、深度符合真实物理;
- CLIP编码器:擅长高层语义和上下文信息,保证画面整体语义合理。
两路特征通过交叉注意力注入U-Net的多个分辨率层,让生成的未来帧既局部几何精准,又全局语义自洽。
(3)训练数据增强:让模拟器见过"翻车场面"
只用成功的人类演示训练模拟器,模型就没见过失败的样子------VLA探索时动作偏了,模拟器反而预测不出来。
作者用了个很巧妙的办法:用初始SFT训练的VLA模型,在仿真器里自主探索,故意加一点随机扰动,收集成功+失败的完整轨迹。
动作扰动采用拉普拉斯分布:
at∼Laplace(μt,βt) a_{t} \sim Laplace(\mu_{t}, \beta_{t}) at∼Laplace(μt,βt)
符号解释:
- ata_tat:最终采样得到的带扰动动作;
- μt\mu_tμt:VLA模型输出的基准动作,也就是分布的位置参数;
- βt\beta_tβt:拉普拉斯分布的尺度参数,由额外的尺度头预测,控制扰动大小;
- Laplace(⋅)Laplace(\cdot)Laplace(⋅):拉普拉斯分布,比高斯分布更易产生极端值,能探索更多边界情况。
把这些自主探索的数据和原始人类演示混在一起训练模拟器,就能让模拟器既能预测正常操作,也能预测动作歪了会发生什么,后续RL训练才不会崩。
3.2 VLM引导即时反射器:打分+喊停一体机
这是本文第二个核心创新,专门解决两个老大难问题:
- 奖励太稀疏:传统只有成功/失败二值奖励,学起来慢,还容易没梯度;
- 动作冗余:任务都做完了,机器人还在那瞎动,反而把做好的事搞砸了。
(1)连续奖励:精细评估任务进度
反射器用冻结的视觉编码器+大语言模型做多模态推理,最后加一个轻量奖励头,输出0到1之间的连续奖励值:
R(o1:t,g)=σ(Rθ(ht)) R(o_{1:t},g)=\sigma \left(\mathcal{R}{\theta}(h{t})\right) R(o1:t,g)=σ(Rθ(ht))
符号解释:
- R(o1:t,g)R(o_{1:t},g)R(o1:t,g):第ttt步的奖励值,范围0,10,10,1,越接近1代表任务完成度越高;
- σ(⋅)\sigma(\cdot)σ(⋅):sigmoid激活函数,把输出压缩到0-1区间;
- Rθ\mathcal{R}_\thetaRθ:可训练的奖励头网络,参数为θ\thetaθ;
- hth_tht:第ttt步VLM输出的多模态融合特征,融合了画面和指令的语义信息。
训练奖励头用二分类交叉熵损失:
L=BCE(R(o1:t,g),yt) \mathcal{L}=BCE\left(R\left(o_{1: t}, g\right), y_{t}\right) L=BCE(R(o1:t,g),yt)
符号解释:
- L\mathcal{L}L:损失值;
- BCE(⋅)BCE(\cdot)BCE(⋅):二分类交叉熵函数;
- yty_tyt:二值标签,0代表任务未完成,1代表任务已完成。
大白话备注:以前只有"做完了拿1分,没做完0分",机器人半天摸不着头脑;现在每一步都有0.3、0.7这样的进度分,机器人能清晰知道"我刚才的动作离目标更近了还是更远了",学起来快得多。
(2)动态终止:做完就停,绝不添乱
当奖励值超过阈值η=0.5\eta=0.5η=0.5时,立刻触发终止信号,结束当前轨迹。
tend=argmints.t.R(o1:t,g)>η t_{end} = \arg\min_t \quad s.t. \quad R(o_{1:t},g) > \eta tend=argtmins.t.R(o1:t,g)>η
这个设计解决了VLA常见的"成功后失败"问题------本来瓶子已经放好了,模型又多走一步把瓶子碰倒。

图8 VLA执行中的任务后失败案例 出自原文Figure 8
图中(a)(b)已经成功把酒瓶放到柜子顶上,但©(d)(e)中模型继续执行冗余动作,反而把酒瓶碰掉,最终任务失败。这就是动态终止机制的必要性------及时收手比多做动作重要得多。
3.3 VLA后训练算法:LOOP优化策略
有了虚拟环境和奖励函数,就可以用强化学习迭代优化VLA策略了。作者采用了RLOO+PPO结合的LOOP算法,非常适合少样本下的策略优化。
(1)轨迹采样与优势计算
每个初始状态采样N条轨迹,每条轨迹拿到一个最终奖励RnR_nRn。用"留一法"计算基线:第n条轨迹的基线,是其他N-1条轨迹的平均奖励。
bn=1N−1∑j≠nRj,An=Rn−bn b_{n}=\frac{1}{N-1} \sum_{j \neq n} R_{j}, \quad A_{n}=R_{n}-b_{n} bn=N−11j=n∑Rj,An=Rn−bn
符号解释:
- bnb_nbn:第n条轨迹的基线奖励;
- RjR_jRj:第j条轨迹的最终奖励;
- AnA_nAn:第n条轨迹的优势值,大于0说明这条轨迹比平均水平好,应该加强;小于0说明比平均差,应该削弱。
大白话备注:每次做8次尝试,每次拿自己的分数和另外7次的平均分比,考得好就表扬,考得差就批评,不用和全局比,小批量也能稳定学习。
(2)PPO裁剪目标
用裁剪的PPO目标更新策略,保证更新幅度不会太大,避免训练崩掉:
LPPO=−min(rt,nAn,clip(rt,n,1−ϵ,1+ϵ)An) \mathcal{L}{PPO}=-min \left(r{t, n} A_{n}, clip\left(r_{t, n}, 1-\epsilon, 1+\epsilon\right) A_{n}\right) LPPO=−min(rt,nAn,clip(rt,n,1−ϵ,1+ϵ)An)
符号解释:
- LPPO\mathcal{L}_{PPO}LPPO:PPO损失函数,优化目标是最小化它;
- rt,nr_{t,n}rt,n:重要性采样比率,也就是当前策略和行为策略的动作概率比值;
- AnA_nAn:轨迹优势值;
- clip(⋅)clip(\cdot)clip(⋅):裁剪函数,把rt,nr_{t,n}rt,n限制在1−ϵ,1+ϵ1-\\epsilon, 1+\\epsilon1−ϵ,1+ϵ区间内;
- ϵ\epsilonϵ:裁剪阈值,论文中设为0.1,防止策略更新步子太大导致训练不稳定。
整个训练循环就是:采样轨迹→算优势→更新策略→再采样,不断迭代,直到策略收敛。
四、实验结果:少样本下的全面碾压
实验在LIBERO机器人操作基准上测试,这是行业公认的VLA通用能力测试集,包含四类任务,分别考验空间推理、目标规划、物体操作、长序列决策。
核心测试设定:每个任务只用5条演示数据训练,极端少样本场景,非常贴合真实工业场景"没多少数据"的现状。
4.1 与主流SOTA方法对比
表1 LIBERO基准成功率对比 出自原文Table 1
| 方法 | LIBERO-Goal | LIBERO-Object | LIBERO-Spatial | LIBERO-Long | 平均 |
|---|---|---|---|---|---|
| π0\pi_0π0 | 67.6 | 68.4 | 80.2 | 28.2 | 61.1 |
| π0\pi_0π0+FAST | 59.2 | 76.8 | 59.2 | 24.8 | 55.0 |
| OpenVLA | 73.2 | 55.0 | 82.4 | 32.2 | 60.7 |
| UniVLA | 82.0 | 76.2 | 84.4 | 56.4 | 74.75 |
| OpenVLA-OFT | 84.0 | 74.2 | 84.2 | 57.0 | 74.85 |
| OpenVLA-OFT + 后训练(本文) | 86.4 | 86.6 | 87.6 | 57.8 | 79.6 |
结果分析:
- 全面领先:本文方法在四个子任务上全部登顶,平均成功率79.6%,比之前最好的OpenVLA-OFT高出4.75个百分点,在仅5条演示的极端条件下提升非常显著;
- 物体任务提升最大:LIBERO-Object任务从74.2涨到86.6,暴涨12.4个百分点,说明虚拟彩排让模型对不同物体的泛化能力大幅增强;
- 长任务也有提升:长序列任务从57.0涨到57.8,虽然涨幅小,但主要得益于终止机制减少了后期冗余动作的失误。

图5 多目标任务上与SFT的训练曲线对比 出自原文Figure 5
三条曲线分别对应三个不同任务,橙色是本文方法,蓝色是纯监督微调SFT。可以看到本文方法仅用20步训练就全面超过SFT,收敛速度快、最终上限高,完美体现了RL后训练的效率优势。
4.2 与仿真RL方法对比
和同样用RL后训练的RIPT-VLA对比,后者必须依赖传统仿真器才能训练。
表2 与基于仿真器的RL方法对比 出自原文Table 2
| 方法 | Goal | Object | Spatial | Long |
|---|---|---|---|---|
| RIPT-VLA | 86.2 | 83.4 | 88.6 | 58.4 |
| 本文 | 86.4 | 86.6 | 87.6 | 57.8 |
结果分析:
两者整体性能旗鼓相当,但本文有个决定性优势:RIPT-VLA只能在仿真器里用,换个新场景得重新搭仿真环境;而RehearseVLA只要有几条视频就能训,能直接迁移到真实机器人上,落地门槛低得多。
4.3 真实机器人实验
光在仿真里厉害不算本事,真机能用才是硬道理。作者在真实Franka机械臂上做了四个任务的测试,每个任务仅收集10条演示数据。
表3 真机实验结果对比 出自原文Table 3
| 方法 | 清理桌面 | 放绿色玩具 | 放红色玩具 | 放橙色玩具 |
|---|---|---|---|---|
| OpenVLA-OFT | 20 | 30 | 30 | 20 |
| 本文 | 30 | 50 | 40 | 50 |

图7 "清理桌面"任务真机实验示例 出自原文Figure 7
展示了真实机械臂执行"把三个玩具放进桶里"任务的画面。可以看到模型能准确识别物体、规划路径、完成放置,验证了虚拟世界里练出来的策略,放到真机上依然好使。
结果分析:
四个任务成功率全面碾压基线,最高提升了30个百分点。要知道每个任务仅用10条演示,纯监督微调根本学不明白,而经过虚拟彩排后,策略的泛化能力直接上了一个台阶。
4.4 消融实验:每个模块都有用
(1)核心组件消融
表5 消融实验结果 出自原文Table 5
| 额外训练数据 | 奖励头 | Goal | Object | Spatial | Long |
|---|---|---|---|---|---|
| ❌ | ❌ | 68.4 | 75.2 | 73.2 | 42.2 |
| ✅ | ❌ | 79.8 | 81.8 | 78.4 | 44.6 |
| ❌ | ✅ | 68.8 | 76.4 | 74.4 | 43.8 |
| ✅ | ✅ | 86.4 | 86.6 | 87.6 | 57.8 |
结果分析:
- 两个组件都不加,效果最差,平均只有64.75;
- 只加额外训练数据,模拟器更准了,平均涨到71.15,提升明显;
- 只加奖励头,奖励更准了,平均涨到65.85,有小幅提升;
- 两个组件都加上,直接涨到79.6,产生了1+1>2的化学反应------模拟器准+奖励准,RL训练才能又稳又好。
(2)终止机制效果验证
专门做了一组实验:强制所有基线跑满最大步数,只有本文能自动终止,模拟真实场景下"没人告诉你什么时候算做完"的情况。
表4 真实反馈约束下的任务终止策略对比 出自原文Table 4
| 方法 | LIBERO-Goal | LIBERO-Object | LIBERO-Spatial | LIBERO-Long | 平均 |
|---|---|---|---|---|---|
| π0\pi_0π0 | 55.4 | 71.0 | 72.6 | 20.6 | 54.9 |
| π0\pi_0π0+FAST | 21.2 | 74.0 | 44.8 | 15.0 | 38.75 |
| OpenVLA | 68.4 | 47.4 | 59.8 | 26.6 | 50.55 |
| UniVLA | 72.0 | 75.2 | 66.4 | 48.0 | 65.4 |
| OpenVLA-OFT | 67.4 | 73.8 | 71.2 | 39.8 | 63.05 |
| OpenVLA-OFT + 后训练(本文) | 85.0 | 78.4 | 78.4 | 57.8 | 74.9 |
结果分析:
没有终止信号时,所有基线性能都暴跌,很多任务明明做完了又被后续动作搞砸;而本文方法靠即时反射器自动检测完成状态,及时收手,平均成功率比第二名高出近10个百分点,优势巨大。
(3)世界模型可视化对比

图6 世界模拟器渲染效果对比 出自原文Figure 6
左边是只用人成功轨迹训练的世界模型,右边是加了探索数据训练的,中间是真值。可以看到没加额外数据的模型,机械臂跟踪不准、物体状态错乱;加了数据之后,渲染画面和真值几乎一致,机械臂姿态、物体位置都精准对齐。
五、核心代码简化实现
下面给出RehearseVLA核心训练循环的简化Python实现,覆盖世界模型推理、奖励计算、PPO更新三大环节:
python
import torch
import torch.nn as nn
import torch.nn.functional as F
from torch.distributions import Laplace
class RehearseVLA:
def __init__(self, vla_policy, world_simulator, instant_reflector, cfg):
"""
初始化RehearseVLA框架
:param vla_policy: VLA策略模型(OpenVLA-OFT)
:param world_simulator: 物理一致世界模拟器
:param instant_reflector: VLM引导即时反射器
:param cfg: 超参数配置
"""
self.policy = vla_policy
self.world_sim = world_simulator
self.reflector = instant_reflector
self.cfg = cfg
self.optimizer = torch.optim.AdamW(self.policy.parameters(), lr=cfg.lr)
def collect_rollouts(self, init_obs, init_state, instruction, n_rollouts=8):
"""
在世界模拟器中采样N条轨迹
:param init_obs: 初始视觉观测
:param init_state: 初始机器人状态
:param instruction: 语言指令
:param n_rollouts: 采样轨迹数量N
:return: 轨迹列表,每条包含动作、观测、奖励、终止步
"""
rollouts = []
for _ in range(n_rollouts):
obs, state = init_obs.clone(), init_state.clone()
traj = {"actions": [], "obs": [], "rewards": [], "done": False}
for t in range(self.cfg.max_steps):
# 1. VLA输出基准动作和尺度参数
mu_action, log_beta = self.policy(obs, state, instruction)
beta = torch.exp(log_beta)
# 2. 拉普拉斯分布采样带探索的动作
dist = Laplace(mu_action, beta)
action = dist.sample()
traj["actions"].append(action)
traj["obs"].append(obs)
# 3. 世界模拟器预测下一时刻状态和画面
next_state = forward_kinematics(state, action)
next_obs = self.world_sim(obs, action, next_state)
# 4. 反射器计算当前奖励,判断是否终止
reward = self.reflector(traj["obs"] + [next_obs], instruction)
traj["rewards"].append(reward)
if reward > self.cfg.eta:
traj["done"] = True
break
obs, state = next_obs, next_state
# 最终奖励取终止步的值
traj["final_reward"] = traj["rewards"][-1]
rollouts.append(traj)
return rollouts
def compute_advantages(self, rollouts):
"""
RLOO留一法计算轨迹优势
"""
rewards = torch.tensor([t["final_reward"] for t in rollouts])
advantages = []
n = len(rollouts)
for i in range(n):
# 基线 = 除自己外其他轨迹的平均奖励
baseline = (rewards.sum() - rewards[i]) / (n - 1)
advantages.append(rewards[i] - baseline)
return advantages
def ppo_update(self, rollouts, advantages):
"""
裁剪PPO策略更新
"""
total_loss = 0.0
eps = self.cfg.clip_epsilon
for i, traj in enumerate(rollouts):
adv = advantages[i]
old_log_probs = []
new_log_probs = []
# 计算旧策略和新策略的动作对数概率
with torch.no_grad():
old_mu, old_log_beta = self.policy(traj["obs"][0], None, None)
old_dist = Laplace(old_mu, torch.exp(old_log_beta))
old_log_probs = old_dist.log_prob(torch.stack(traj["actions"]))
new_mu, new_log_beta = self.policy(traj["obs"][0], None, None)
new_dist = Laplace(new_mu, torch.exp(new_log_beta))
new_log_probs = new_dist.log_prob(torch.stack(traj["actions"]))
# 重要性采样比率
ratio = torch.exp(new_log_probs - old_log_probs)
# 裁剪PPO目标
surr1 = ratio * adv
surr2 = torch.clamp(ratio, 1 - eps, 1 + eps) * adv
loss = -torch.min(surr1, surr2).mean()
self.optimizer.zero_grad()
loss.backward()
self.optimizer.step()
total_loss += loss.item()
return total_loss / len(rollouts)
def train_epoch(self, init_obs, init_state, instruction):
"""单轮训练完整流程"""
rollouts = self.collect_rollouts(init_obs, init_state, instruction)
advantages = self.compute_advantages(rollouts)
loss = self.ppo_update(rollouts, advantages)
return loss, [t["final_reward"].mean() for t in rollouts]
代码说明:完整复现了论文的核心训练逻辑,包括拉普拉斯分布动作探索、世界模型单步推理、RLOO优势计算、裁剪PPO更新,以及基于阈值的动态终止机制,可基于开源OpenVLA和扩散模型代码在此基础上扩展。
六、趣味落地案例
案例1:3C产线螺丝装配机器人
某电子厂要给机械臂新增"拧微型螺丝"的技能,传统方案:
工程师现场示教50次,还要调试各种姿态,耗时一周,万一拧滑牙还要换工件,物料成本很高;
用RehearseVLA方案:
- 工程师只示教5次标准操作,录成视频;
- 系统自动训练世界模型,在虚拟环境里生成上百种不同位置、角度、螺丝类型的训练数据;
- VLA模型在虚拟世界里反复彩排,练到成功率达标再部署到真机;
最终真机上线一次成功,调试成本降到原来的1/10,还避免了真机试错损坏工件的风险。
案例2:家庭服务机器人技能迭代
家用机器人要新增"整理餐桌"技能,每家的餐桌、餐具都不一样,不可能每家都录几十条演示。
用RehearseVLA的话,用户只需要用手机拍1次自己整理桌子的视频,系统就能生成几十种不同餐具摆放、不同光线条件下的虚拟演示,快速微调机器人策略,几天就能适配一个新家庭,定制化成本大幅降低。
七、局限性与未来方向
论文也坦诚了当前方案的不足:
- 数据依赖:世界模型和反射器还是需要一定量数据才能训得准,通用世界模型如果能发展起来,就能进一步降低数据门槛;
- 速度偏慢:每条轨迹都要世界模型一步步渲染,训练速度比纯监督慢不少,后续可以优化渲染效率,或者用更轻量的世界模型;
- 仅支持刚体操作:目前只验证了刚体抓取放置,还不支持布料、液体这类柔性物体。
未来可以探索的方向:
- 用通用视频世界模型替代定制训练的模拟器,进一步降低场景适配成本;
- 加入物理引擎约束,让世界模型预测的动作更符合动力学规律;
- 扩展到双臂操作、长程复杂任务,覆盖更多工业和家庭场景。
八、总结
核心思想一句话
用物理一致的世界模型搭虚拟训练场,配VLM智能裁判打分喊停,让VLA模型在彩排中迭代进化,少样本下也能练出强泛化的机器人策略。
速记版Pipeline
- 拿少量演示训一个世界模型,能精准预测"做了动作之后画面会变成啥样";
- 训一个智能反射器,能实时评估任务进度,做完就喊停;
- VLA在虚拟世界里反复试错,靠奖励反馈越练越好,练熟了再上真机。
整体评价
RehearseVLA最有价值的地方,是给"少样本场景下怎么提升VLA性能"提供了一个低成本、可落地的方案。不用买昂贵的遥操作设备,不用搭复杂的仿真环境,只要几条视频,就能让模型在虚拟世界里刷够经验,真机效果还能实打实涨点,对工业、家用等数据稀缺的机器人场景,实用性非常强。