RehearseVLA深度解析:基于物理一致世界模型的VLA强化学习后训练框架

RehearseVLA深度解析:基于物理一致世界模型的VLA强化学习后训练框架

论文信息


一、研究背景:机器人学技能的"彩排难题"

视觉-语言-动作(VLA)模型堪称当下机器人的"通用大脑"------能看懂视觉画面、听懂自然语言指令、直接输出底层运动控制指令,是具身智能的核心范式。但这个大脑好不好使,高度依赖海量高质量演示数据,就像学霸也得刷够题才能考高分。

但现实很骨感:

  1. 模仿学习的瓶颈:靠人类示教喂数据,成本高、效率低,每个任务录几十上百条演示,小团队根本扛不住;数据少了模型就死记硬背,换个物体、换个位置直接翻车。
  2. 强化学习的困境:想让机器人自己试错进化?真机上练风险极高------工业机器人拧错一次螺丝可能废掉整个工件,服务机器人碰倒水杯得有人收拾,而且环境没法一键重置,试错成本贵到离谱。
  3. 传统仿真器的短板:用仿真器练?搭建一个逼真的仿真环境要花几个月,物体、纹理、光照都得手动调,好不容易练出来的策略,放到真机上又水土不服(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

整个框架由三部分闭环组成:

  1. 训练数据策略:用人类演示+VLA自主探索的轨迹,训练世界模拟器;
  2. 优化循环:VLA输出动作,世界模拟器预测下一幕画面,反射器给出反馈;
  3. 奖励与终止信号:给每条轨迹打分,同时判断任务是否完成,及时终止。

简单说就是:世界模型负责"脑补画面",反射器负责"打分喊停",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. 奖励太稀疏:传统只有成功/失败二值奖励,学起来慢,还容易没梯度;
  2. 动作冗余:任务都做完了,机器人还在那瞎动,反而把做好的事搞砸了。
(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=arg⁡min⁡ts.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

结果分析:

  1. 全面领先:本文方法在四个子任务上全部登顶,平均成功率79.6%,比之前最好的OpenVLA-OFT高出4.75个百分点,在仅5条演示的极端条件下提升非常显著;
  2. 物体任务提升最大:LIBERO-Object任务从74.2涨到86.6,暴涨12.4个百分点,说明虚拟彩排让模型对不同物体的泛化能力大幅增强;
  3. 长任务也有提升:长序列任务从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

结果分析:

  1. 两个组件都不加,效果最差,平均只有64.75;
  2. 只加额外训练数据,模拟器更准了,平均涨到71.15,提升明显;
  3. 只加奖励头,奖励更准了,平均涨到65.85,有小幅提升;
  4. 两个组件都加上,直接涨到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方案:

  1. 工程师只示教5次标准操作,录成视频;
  2. 系统自动训练世界模型,在虚拟环境里生成上百种不同位置、角度、螺丝类型的训练数据;
  3. VLA模型在虚拟世界里反复彩排,练到成功率达标再部署到真机;
    最终真机上线一次成功,调试成本降到原来的1/10,还避免了真机试错损坏工件的风险。

案例2:家庭服务机器人技能迭代

家用机器人要新增"整理餐桌"技能,每家的餐桌、餐具都不一样,不可能每家都录几十条演示。

用RehearseVLA的话,用户只需要用手机拍1次自己整理桌子的视频,系统就能生成几十种不同餐具摆放、不同光线条件下的虚拟演示,快速微调机器人策略,几天就能适配一个新家庭,定制化成本大幅降低。


七、局限性与未来方向

论文也坦诚了当前方案的不足:

  1. 数据依赖:世界模型和反射器还是需要一定量数据才能训得准,通用世界模型如果能发展起来,就能进一步降低数据门槛;
  2. 速度偏慢:每条轨迹都要世界模型一步步渲染,训练速度比纯监督慢不少,后续可以优化渲染效率,或者用更轻量的世界模型;
  3. 仅支持刚体操作:目前只验证了刚体抓取放置,还不支持布料、液体这类柔性物体。

未来可以探索的方向:

  • 用通用视频世界模型替代定制训练的模拟器,进一步降低场景适配成本;
  • 加入物理引擎约束,让世界模型预测的动作更符合动力学规律;
  • 扩展到双臂操作、长程复杂任务,覆盖更多工业和家庭场景。

八、总结

核心思想一句话

用物理一致的世界模型搭虚拟训练场,配VLM智能裁判打分喊停,让VLA模型在彩排中迭代进化,少样本下也能练出强泛化的机器人策略。

速记版Pipeline

  1. 拿少量演示训一个世界模型,能精准预测"做了动作之后画面会变成啥样";
  2. 训一个智能反射器,能实时评估任务进度,做完就喊停;
  3. VLA在虚拟世界里反复试错,靠奖励反馈越练越好,练熟了再上真机。

整体评价

RehearseVLA最有价值的地方,是给"少样本场景下怎么提升VLA性能"提供了一个低成本、可落地的方案。不用买昂贵的遥操作设备,不用搭复杂的仿真环境,只要几条视频,就能让模型在虚拟世界里刷够经验,真机效果还能实打实涨点,对工业、家用等数据稀缺的机器人场景,实用性非常强。

相关推荐
雪岭飞花1 小时前
Zoox驶入火灾现场召回,特斯拉Robotaxi清洁机器人,享道上汽定制车明年发布 | Robotaxi周报
机器人
林小卫很行1 小时前
WorkBuddy 入门:为什么推荐腾讯出的这个 AI 助手
人工智能·程序员
our_times1 小时前
豆包与抖音联动效果展示大纲
人工智能
刘一说1 小时前
AI科技热点日报 | 2026年07月21日
人工智能·科技
阿黎梨梨1 小时前
大模型是怎么“随机说话”的?手把手带你控制它的“嘴”
人工智能
苏醒的人生1 小时前
AI 视频工具最强迭代!Seedance 2.5在哪里下载使用?即梦AI即将全球首发
人工智能
AI大模型-小雄1 小时前
Codex 测试总跑不完怎么办?补 Credits 还是升级 Pro
人工智能·chatgpt·提示词·codex·ai办公·chatgpt pro·credits
Am-Chestnuts1 小时前
AI长回答批量导出PDF与长图:多轮内容整理和免费Markdown备份
人工智能·pdf·aigc
武子康1 小时前
vLLM 0.25.1:服务没有报错,为什么仍会生成垃圾 Token(5 级正确性门禁 + 自动回滚条件)
前端·人工智能·后端