1. 引言:通用能力之外,精度才是工业落地的门槛

当我们谈论具身智能和机器人操作时,很容易被那些令人印象深刻的演示所吸引。机器人能够折叠衣物、制作咖啡、甚至烹饪烤奶酪三明治。这些任务展示了视觉-语言-动作模型(VLA)的强大通用能力。

在这里插入图片描述

然而,在真实的工业场景和日常应用中,仅仅"会做"是远远不够的。想象一下这样的场景:一个机器人需要使用电动螺丝刀将一颗微小的M3螺丝拧入机械臂的安装孔中。

拿起螺丝刀很容易,移动到大致位置也不难,但要在亚毫米级别的精度下,快速而准确地将螺丝刀尖端与螺丝对齐,这就是一个完全不同层次的挑战。这种精细操作的难度,正是当前机器人技术从实验室走向实际应用的最大障碍之一

Physical Intelligence 团队的最新研究 RL Tokens (RLT) 正是针对这一痛点提出的解决方案。这项工作不是要让机器人学会更多任务,而是要让它在已经"会做"的任务中,把最关键、最精细的那一步做到极致


2. 问题的本质:示教学习的天花板

2.1 VLA模型的能力与局限

在过去几年中,VLA模型取得了令人瞩目的进展。这类模型通过整合大规模视觉-语言预训练模型与机器人动作生成能力,实现了对自然语言指令的理解和执行。

Physical Intelligence 的 π0 系列模型就是其中的代表。π0 通过 flow matching 架构,将大规模视觉-语言模型的语义理解能力与连续动作生成相结合,在超过1万小时的机器人数据上进行预训练。

在这里插入图片描述

π0.5 进一步提升了开放世界泛化能力,整合了多机器人数据、高层语义预测和网络数据。π*0.6 / RECAP 则证明了 VLA 可以通过在线强化学习从部署经验中持续改进。

在这里插入图片描述

然而,这些模型都面临一个共同的挑战:它们擅长完成任务的"大框架",但在需要极高精度的关键时刻往往表现不佳。这不是因为模型不够"聪明",而是因为模仿学习本身存在固有的局限性

2.2 示教数据的三大困境

困境一:精细动作难以准确示教

当人类操作员通过遥操作演示精细操作时,手部的微小抖动、视角的遮挡、以及操作的不一致性都会被记录到数据中。对于插入网线、对准螺丝这类需要亚毫米精度的任务,人类示教本身就很难保持稳定和可重复

困境二:边界情况覆盖不足

示教数据可以教会模型"通常应该怎么做",但很难覆盖所有可能的接触瞬间、材料弹性变化、夹具偏差和实时修正策略真实世界中的物理交互充满了微妙的变化,这些变化在示教阶段很难被充分捕捉

困境三:误差累积效应

在精细操作任务中,前期的小误差会在关键阶段被显著放大。例如,螺丝刀尖端距离抓握点约10厘米,机器人在抓握或手腕运动中的微小误差都会在接触点被放大数倍

在这里插入图片描述

VLA模型往往在任务的最后一毫米陷入反复试探,表现出明显的不确定性。这正是 RLT 要解决的核心问题

3. 强化学习:自然的解决方案,但需要新的实现方式

3.1 为什么选择强化学习

强化学习是改进精细操作任务的自然选择。通过"尝试-观察-调整"的循环,机器人可以优化那些仅靠演示数据难以学习的行为。

与示教学习不同,强化学习允许机器人主动探索,在安全范围内尝试不同的操作策略。每次失败都提供了关于任务边界的宝贵信息,使机器人能够针对接触力度、角度微调等细节进行精确优化。
在这里插入图片描述
最重要的是,强化学习可以让机器人超越示教。通过在线试错,机器人最终可能找到比人类示教更高效的执行策略。这在后续的实验中得到了充分验证。

3.2 传统方法的困境

然而,直接对整个VLA模型进行在线强化学习面临巨大挑战。首先是计算资源瓶颈。VLA模型通常包含数亿甚至数十亿参数,在机器人端进行实时更新几乎不可能

在这里插入图片描述

其次是样本效率问题。真实机器人的每一次尝试都需要时间和成本。如果需要数千次甚至数万次交互才能学会一个精细动作,这在实际部署中是不可接受的

第三是训练稳定性风险。大模型的在线训练容易出现灾难性遗忘,可能在优化新任务的同时破坏已有的通用能力

Physical Intelligence 团队此前的 RECAP 算法虽然证明了 VLA 可以通过强化学习改进,但它主要针对长时程、整体性的任务优化,需要大规模数据采集。而对于"只想快速优化某个关键工步"的场景,需要一种更轻量、更快速的方案。

4. RLT 核心思想:不重练大脑,只训练手腕

4.1 设计哲学的转变

RLT 的核心洞察在于重新定义了问题。传统思路是"如何让整个 VLA 模型变得更强",而 RLT 的思路是"如何把 VLA 已有的知识变成一个适合快速在线学习的接口"

这个转变看似微小,实则意义重大。前者往往导向"继续微调整个模型",后者则指向"保持大脑不动,让一个轻量控制器围绕大脑的判断快速学习"

用一个形象的比喻:RLT 不是要重新培训一个经验丰富的工程师,而是给这个工程师配备一个可以快速适应的"智能手套",让他的手部动作在特定工位上变得更加精准和熟练

4.2 三层架构设计

RLT 的实现分为三个关键层次,每一层都有其独特的作用。

第一层:RL Token 生成器

在预训练的 VLA 模型上添加一个编码器-解码器 Transformer,将 VLA 的高维内部表征压缩成一个紧凑的"RL Token"。这个 Token 必须保留足够的任务关键信息,使得解码器能够重建原始表征。

在这里插入图片描述

但又要足够小,便于轻量级策略网络使用。这是一个精妙的信息瓶颈设计,强迫模型提取最关键的状态信息

第二层:轻量级 Actor-Critic 网络

基于 RL Token,训练一个小型的执行器(Actor)和评论家(Critic)网络。由于操作的是压缩表征,这些网络可以非常小,能够直接在机器人端以每秒数百次的频率进行更新

在这里插入图片描述

这种高频更新能力是 RLT 能够快速学习的关键。传统方法需要在云端训练,而 RLT 可以在机器人端实时优化

第三层:动作编辑机制

关键创新在于,RL 策略不是从零开始生成动作,而是接收 VLA 预测的动作作为参考,学习如何"编辑"这个动作。这确保了策略始终基于 VLA 的合理先验,只在必要时进行局部调整。

在这里插入图片描述

5. 技术实现深度解析

5.1 第一步:构建 RL Token 压缩表征

RL Token 的生成是整个方法的基础。这个过程可以理解为在 VLA 模型的内部表征空间中建立一个"信息瓶颈"。

训练目标是通过重建损失训练编码器-解码器结构。编码器将 VLA 的高维图像嵌入压缩成单个 RL Token,解码器则需要从这个 Token 重建原始嵌入。

# RL Token 生成的核心代码
class RLTokenEncoder(nn.Module):
    def __init__(self, vla_hidden_dim, token_dim):
        super().__init__()
        self.encoder = TransformerEncoder(
            input_dim=vla_hidden_dim,
            output_dim=token_dim,
            num_layers=4
        )
        self.decoder = TransformerDecoder(
            input_dim=token_dim,
            output_dim=vla_hidden_dim,
            num_layers=4
        )

这个设计的巧妙之处在于:RL Token 必须足够紧凑以便快速处理,但又必须保留足够的信息以支持后续的策略学习。通过重建任务,模型被迫在这两个目标之间找到最优平衡。

关键参数选择方面,Token 维度通常设置为 256-512,远小于 VLA 的隐藏层维度(通常为 1024-2048)。编码器和解码器各使用 4 层 Transformer,在表达能力和训练效率间取得平衡。

训练完成后,编码器和解码器都被冻结,不再参与在线学习。这确保了 VLA 的基础能力不会被破坏

5.2 第二步:设计动作编辑策略

RLT 的 Actor 网络不是传统的"状态到动作"映射,而是一个"状态+参考动作到修正动作"的映射。这个设计至关重要

# Actor 网络的核心实现
class RLTActor(nn.Module):
    def forward(self, rl_token, vla_action, dropout_mask=None):
        # 展平动作块
        vla_flat = vla_action.flatten(1)
        
        # Reference action dropout
        if dropout_mask is not None:
            vla_flat = vla_flat * dropout_mask
        
        # 编码并融合特征
        token_feat = self.token_encoder(rl_token)
        action_feat = self.action_encoder(vla_flat)
        combined = torch.cat([token_feat, action_feat], dim=-1)
        
        # 生成修正量
        action_correction = self.policy_net(combined)
        
        # 输出 = VLA动作 + 修正量
        final_action = vla_flat + action_correction
        return final_action.reshape(vla_action.shape)

在这里插入图片描述

三个关键设计决策使这个架构特别有效。首先是动作块预测,策略一次预测 50 个连续动作(对应约 1 秒的控制),而不是单步动作。

…详情请参照古月居

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐