25年9月来自北京小米机器人公司和香港城市大学的论文“Dual-Actor Fine-Tuning of VLA Models: A Talk-and-Tweak Human-in-the-Loop Approach”。

视觉-语言-动作 (VLA) 模型在机器人操作中表现出很强的泛化能力,但在复杂的现实任务中面临挑战。虽然基于演示的监督微调受到数据质量的限制,但强化学习 (RL) 提供一种很有前景的替代方案。本文提出一个基于 RL 的人机协同 Dual- Actor 微调框架。该框架将一个用于稳健多任务性能的primary actor 与一个用于潜空间自适应的refinement actor 相结合。除了标准的物理干预之外,还引入一种轻量级的“对话-与-调整”方案,将人工纠正转换为基于语义的语言命令,从而生成一个新的策略学习数据集。在现实世界的多任务实验中,该方法在 101 分钟的在线微调内对三个任务实现 100% 的成功率。对于长周期任务,它在 12 次连续操作中保持 50% 的成功率。此外,该框架可有效扩展到多机器人训练,在使用 dual-robots 时效率可提高 2 倍。

Dual Actor人在环强化学习框架如图所示:primary actor 生成任务通用动作,而refinement actor 在主要策略的潜噪声空间中运行,提供由细化命令指导的细粒度调整。

请添加图片描述


为了检验所提方法的有效性,本文研究一项长范围操作任务,其中机器人必须按顺序竖直放置、拾取并组装散落在桌面上的螺栓(如图所示)。该方法仅经过 101 分钟的在线微调,就实现所有子任务 100% 的成功率,展现强大的样本效率。此外,在超过 12 步的序列中,它仍能保持 50% 的完成率,彰显其在长范围操作方面的稳健性。进一步将该框架扩展到多机器人学习,突出其灵活性以及提升样本效率和训练稳定性的潜力。

请添加图片描述

本文研究一项具有挑战性的机器人操作任务,其中机器人必须管理散落在桌面上的螺栓,如上图所示。该任务包括三个阶段:(1) 通过抓住螺栓末端将其直立放置,(2) 可靠地拾取螺栓,以及 (3) 通过将螺栓插入部分遮挡的插槽中来组装螺栓。每个阶段都需要毫米级的定位和对准精度。此外,该任务的长范围变型要求机器人对多个螺栓顺序执行这三个阶段,将它们链接成连续的操作。

假设可以访问预训练的视觉-语言-动作 (VLA) 模型 V_τ_pre,该模型对 RGB 观测值、本体感受状态和任务命令进行编码。动作头采用扩散策略 [21] 实现,其中动作通过逐步去噪高斯噪声来生成。采用一致性策略 [22]–[24],而非执行多个去噪步骤,将多步骤过程蒸馏为单步预测。
为了实现高效的多任务泛化和细粒度自适应,采用 dual-actor 学习框架进行动作生成。在一致性策略中,通过对一个高斯噪声样本 w 进行去噪来生成动作,其中 K 控制初始噪声的尺度。由于 w 的不同样本会导致不同的动作输出,因此设计两种互补的动作生成模式。

令 πw_θ 表示以噪声 w 为条件的一致性策略。在 primary 模式下,w 会被采样,从而保留策略的原始行为。在 refinement 模式下,噪声则从学习的分布中采样,其中平均值 π_φ(μ|s, l_rf ) 以状态 s 和细化语言命令 l_rf 为条件。通过维持这两种模式,dual-actor 框架能够实现直接的自适应:当提供细化命令时,πw_φ 会引导策略采取与指令一致的操作;否则,系统默认采用 primary actor 定义的原始行为。

Dual-Actor 强化学习系统

机器人操作任务被表述为马尔可夫决策过程 (MDP),M = (S, A, P, r, ρ, γ),其中 s ∈ S 表示状态空间,a ∈ A 表示动作空间,P (s′ | s, a) 表示转换动态,ρ(s) 表示初始状态分布。r(s, a) 表示奖励,γ ∈ (0, 1) 表示折扣因子。当环境执行单个动作 a 时,Dual-Acotr 框架提供两种互补的机制来生成该动作。在没有基于语言细化指令的情况下,primary actor πw_θ 通过对定义的高斯噪声进行去噪来对候选动作进行采样。当提供细化指令时,πw_θ 将从refinement actor 指定的学习分布中进行样本去噪。

Dual-Actor 框架通过两个连续的训练阶段进行优化:离线预热阶段和在线交互阶段(如图所示)。在预热阶段,使用演示数据初始化 primary 策略 πw_θ 和 Q 函数 Q_ψ (s, a),以建立稳定的性能基线。在在线交互阶段,通过实时环境交互进一步优化 πw_θ 和 Q_ψ (s, a)。同时,引入 refinement 策略 π_φ 以实现潜空间中的语言条件自适应。

请添加图片描述

在预热阶段,用预训练的视觉-语言-动作 (VLA) 模型 V_τ_pre 将任务命令 l_task 和状态 s(RGB 图像和本体感受输入)编码到任务嵌入中。
primary 策略 πw_θ(h) 在奖励最大化和行为克隆 (BC) 的混合目标下进行优化。一方面,该策略被鼓励最大化其动作的预期 Q 值,损失函数为 LQw_θ。

训练缓冲区由演示 D = D_demos 初始化。另一方面,一个 BC 目标函数 LBCw_θ 引导策略模仿专家演示 (s, a) ∼ D。
总体策略损失整合这两个互补的目标,即演示 BC 的目标函数和奖励最大化的损失函数:

请添加图片描述

在预热阶段,Q 函数学习采用标定 Q 学习 (Cal-QL) [25] 进行,该学习方法借鉴 [12] 的研究成果。这种方法可以有效缓解分布外(OOD)行为的影响,从而稳定离线数据的策略改进。

在在线阶段,机器人直接与物理环境交互以进行持续学习。primary actor πw_θ(h) 使用前面总体策略一样的损失函数进行优化,同时训练数据 D 分别来自演示缓冲区 D_demos 和在线部署缓冲区 D_rollouts。在此阶段,Q 函数损失的权重 λ_2 增加,而行为克隆损失的权重 λ_1 降低。这种调度策略提高训练的稳定性,同时确保随在线经验的积累,能够有效地实现奖励最大化。此阶段的 Q 函数 Q_ψ (s, πw_θ (h)) 使用标准贝尔曼损失函数(而非 Cal-QL 变型)进行优化。

refinement actor π_φ 采用离线强化学习进行训练。以状态 s 和细化命令 l_rf 为条件,它预测噪声分布 w 的均值。

refinement actor 使用 ResNet [26] 对 RGB 图像进行编码,并使用 T5 模型 [27] 执行细化命令。每个嵌入通过单独的多层感知器 (MLP) 投影到共同的维度。然后,这些特征向量被连接起来,并由最终的 MLP 处理,以生成输出 μ。

refinement actor 通过多个目标进行优化。首先施加一个 BC 损失,以引导策略朝着已演示的行为方向发展。在此基础上,通过加入 Q 函数最大化项来实现进一步的细化。

πw_θ(h) 表示以学习的潜变量 w 为条件的主要策略。为了进一步稳定训练,引入一个正则化项 LReg_π_φ,用于约束 refinement actor,使其在没有提供明确细化命令时与初始策略保持一致。固定语言指令“[null]”用于表示命令的缺失,从而确保模型输入的一致性。

总体训练目标包含以下几个部分:

请添加图片描述

其中 η_1、η_2、η_3 是三个目标之间的权衡系数。

有效的“对话-与-调整”人工干预设计

在线学习阶段融入人工干预,以确保安全的交互并加速策略收敛。具体而言,当智体执行不安全或次优操作时,人类监督者可以直接进行干预。生成的操作对 (s_t, aintv_t) 存储在干预数据集 D_intv 中,作为后续策略更新的基础。

在此基础上,引入一种“对话-与-调整”数据集生成方案。在该方案中,每个物理修正(调整)都通过基于规则的映射函数 f : aintv → l_rf 与相应的自然语言细化命令(对话)配对。人工干预通常跨越多个连续的时间步。

设 aintv_t:t+J −1 = {aintv_t, . . . , aintv_t+J−1} 表示一系列干预动作,其中每个 aintv_t 编码机器人动作。前三个维度表示平移运动(∆x, ∆y, ∆z),接下来的三个维度表示旋转运动(∆roll, ∆pitch, ∆yaw),最后一个维度表示夹持器命令。语言映射专注于平移分量。对于每个平移轴,如果累积位移超过预定义阈值 σ = 0.001 m,则会生成相应的细化命令。最终的细化命令 l_rf_t 是通过连接三个平移轴的命令获得的,生成诸如“向右和向前移动”之类的细化命令。由此产生的“对话-与-调整”三元组 (s_t, aintv_t, l_rf_t) 取代标准干预对 (s_t, aintv_t),并将其添加到干预缓冲区中进行策略学习。这种增强将原始的纠正措施转化为基于语义的细化,使 refinement actor 能够将高级语言指导映射到实际操作中。

高效的多任务学习

本文提出一个多任务学习框架,该框架明确支持跨不同任务的可扩展且稳定的学习。如图所示,该架构采用一个共享的多任务执行器和特定于任务的评判器 Q_ψ_i (s, a),其中 i 表示任务标识符。具体而言,每个评判器使用 ResNet [26] 对 RGB 图像进行编码,使用多层感知器 (MLP) 对本体感受输入进行编码,并使用另一个 MLP 对动作 a 进行编码。将生成的特征连接起来,并通过 MLP 头传递,以生成 Q 值 Q_ψ_i (s, a)。

请添加图片描述

为了支持多任务训练,扩展 [11] 提出的任务级重放缓冲机制。具体而言,对于每个任务 i,维护三个独立的缓冲区:专家演示 Di_demos、策略生成的展开 Di_rollouts 和人工干预 Di_intv。在热身阶段,Di_demos 仅包含离线演示。在随后的在线交互阶段,它会补充来自 Di_intv 的干预数据。

交互阶段的 primary actor 通过对所有任务和缓冲区类型进行均匀采样来更新,即 sum(Di_demos ∪ Di_rollouts) /N,这有利于从演示和自主交互中实现平衡学习。refinement actor 使用聚合干预数据集 sum(Di_intv)/N 进行训练。相比之下,每个特定于任务的critic 仅使用其相应任务缓冲区 (Di_demos ∪ Di_rollouts) 中的数据进行更新,从而确保稳定且特定于任务的价值估计。详细流程总结于如下算法 1。

请添加图片描述

为了平衡多个任务的学习进度,重新加权 Q 损失函数。不再采用统一的均值,而是为每个任务分配一个系数 ε_i,该系数与每个任务的当前 Q 值成反比。Q 值较高的任务(表示性能较强)被分配较小的权重,从而降低其梯度贡献。相反,Q 值较低的任务获得较大的权重,从而引导优化转向性能较差的任务。这种自适应加权方案可以缓解主导任务的过度优化,并促进平衡的多任务学习。

任务设计和实验设置

实验的主要目标是评估所提出的微调方法在多任务学习和长范围操作中的有效性。为此,实验围绕以下研究问题 (RQ) 展开:
RQ1:所提出的微调框架在实现多任务学习方面效果如何?
RQ2:所提出的双参与者框架,在“对话与调整”干预措施的支持下,如何提升训练效率和最终策略性能?
RQ3:微调方法能否跨不同的 VLA 架构进行泛化,并展现出超越特定模型设计的适应性?
RQ4:该方法在扩展到长期任务时,性能保持的稳健性如何?
RQ5:我们的强化学习框架在多机器人训练中的扩展性如何,以及训练效率的提升如何?

该框架使用 Octo [4] 作为主干 VLA 模型来提取表征 h。该模型显式生成一个 CLS token h_CLS 来编码任务表示,其中 B 表示批量大小,D 表示头部尺寸。该 token 直接用作 h。对于所有任务,观测包括两张 RGB 图像和机器人的本体感受状态。图像由分辨率为 128×128 的腕戴式摄像头和分辨率为 256×256 的头戴式摄像头采集。本体感受状态仅包含夹持器状态。动作空间定义为 7 维末端执行器增量位姿。前 6 个维度指定平移和旋转位移,最后一个维度表示用于抓取的二元夹持器动作。数据收集和策略执行以 10Hz 的频率进行。所有实验均在内部开发的定制 7 自由度 (DoF) 机械臂上进行。负责实时策略执行的执行器进程在安装在机器人上的 NVIDIA Jetson Orin 上运行。学习器在配备 NVIDIA RTX 3090 GPU 的工作站上执行,负责执行离线和在线策略更新。

实施细节。在预热阶段,每个任务使用 20 条轨迹初始化策略,产生大约 3000 个状态-动作对。在随后的在线微调阶段,在三个任务中收集大约 15000 个交互对,相当于每个任务大约 100 条轨迹。为了增强泛化能力,机器人和物体的位置沿 x-y 轴在 [-5 cm, 5 cm] 内均匀随机化。在此阶段,人工干预被转化为基于语义的细化命令,这些命令约占数据的 15%,用于训练细化策略。奖励函数是稀疏的,成功时赋值为 1,否则赋值为 0。损失权重设置如下:λ_1 和 λ_2在预热阶段和在线交互的取值分别为(1.0, 0.1)和(0.5, 0.5),而η_1、η_2和η_3分别为(1.0, 0.1, 0.1)。

评估指标。对于每个子任务,包括将螺栓竖直放置、拾起螺栓和组装螺栓,如果机器人在50个时间步内完成任务,则认为试验成功。超过此限制的试验将计为失败。每个子任务的成功率都是独立评估的。对于长范围操作任务,完全成功需要机器人按顺序完成所有三个子任务。在测试过程中,操作员可以发出改进命令来纠正错误操作,从而提高任务准确性和整体性能。

Logo

更多推荐