HIL-DAFT——双智能体的人类在环RL框架微调的人形VLA(先离线预热后在线交互):为完成螺栓装配,主智能体负责常规操作、精细化执行体依据语音指令实行细粒度调整
前言25年8月我便在博客中预言到工厂智能化中vla与RL结合是绝对主流之一25年11月π*0.6更把这个趋势推向高峰后出来了很多在「机械臂乃至轮式人形」上部署vlaoffline2online RL(有的还加了触觉)但把这一套部署在双足人形上的相对少见本文特此来解读下小米和香港城市大学联合推出的这个HIL-DAFT第一部分 Dual-Actor Fine-Tuning of VLA Models: A Talk-and-Tweak Human-in-the-Loop Approach1.1 引言、相关工作、问题设置1.1.1 引言如原论文所说近期的研究进展已经证明在预训练的语言模型和视觉-语言模型上进行 RL 微调具有显著效果8-Vla-rl9-Flare10-Training language models to follow instructions with human feedback此即chatgpt的前身instructGPT然而要将这些成功经验迁移到现实世界中的机器人 VLA 模型上仍然十分困难其原因在于样本效率低以及安全性方面的顾虑为应对这些挑战将人类引导融入在线学习的人在回路human-in-the-loop策略逐渐受到关注11-HIL-SERL12-Conrft13-Rlif其中Chen 等人[12] 提出了一个强化微调Reinforced Fine-Tuning, RFT框架将离线阶段与在线阶段相结合在单任务场景中实现了显著的样本效率。然而其在多任务设置和长时域操作中的适用性仍未被探索此外现有的人类在环 RL 方法通常只依赖物理纠正例如 SpaceMouse缺乏一种系统性的方式将这些干预转化为对策略微调具有语义意义的指导为了解决这些局限性来自小米和香港城市大学的研究者提出了一种双执行体的人类在环RL框架『人在环双行为体 VLA 微调框架概览。主行为体通过扩散过程生成稳健的多任务动作而精炼行为体在潜在噪声空间中工作以提供细粒度的调整。人类干预通过“talk-and-tweak对话与微调”机制集成将物理纠正转换为具有语义依据的精炼指令』其paper地址为Dual-Actor Fine-Tuning of VLA Models: A Talk-and-Tweak Human-in-the-Loop Approach其作者包括Piaopiao Jin1,∗,† , Qi Wang1,∗ , Guokang Sun1 , Ziwen Cai1,2 , Pinjia He2 , and Yangwei You1其项目地址为sites.google.com/view/hil-daft具体而言其中主执行体负责产生任务通用的动作而精细化执行体在主策略的潜在噪声空间中运行根据精细化指令对动作进行细粒度调整————为实现高效的双智能体学习作者提出了一种“对话与微调”talk-and-tweak干预方案。在常见做法(在 rollout 过程中使用 SpaceMouse 纠正动作)的基础上作者将这一范式扩展为把物理纠正映射为自然语言的精细化指令例如用SpaceMouse 向右微调会被口头表述为“向右移动”。主行为体利用物理纠正来提升其基线性能而精细化行为体则学习将语言指令与相应的定向调整建立关联这样的设计不仅保留了通用操作能力还实现了精确的、由指令驱动的细粒度调整另为了检验所提出方法的有效性作者研究了一个长时域操作任务机器人必须依次将散落在桌面上的螺栓竖直放置、抓取并进行装配『如下图图 2 所示三个操作任务的示意图。(a) 将螺栓竖直放置(b) 拾取螺栓(c) 将螺栓装配到螺柱上』最终该方法在仅经过 101 分钟的在线微调后就在各个子任务上都达到了 100%的成功率展现出很强的样本效率此外它在超过 12 步的序列上依然保持 50% 的完成率凸显了其在长时序操作方面的鲁棒性。且作者进一步将该框架扩展到多机器人学习体现了其灵活性以及在提升样本效率和训练稳定性方面的潜力1.1.2 相关工作首先对于面向大模型的强化微调其次对于人在环路的人机协同机器人学习最后对于策略适应1.1.3 问题设置与预备知识本文研究一项具有挑战性的机器人操作任务其中机器人需要处理散落在桌面上的螺栓如图 2 所示该任务包含三个阶段通过抓取螺栓的一端将其立起稳定、可靠地拾取螺栓通过将螺栓插入一个部分被遮挡的槽中来完成装配每个阶段在位置和对齐方面都需要达到毫米级精度此外该任务的长时域变体要求机器人在多个螺栓上顺序执行这三个阶段将它们串联成一系列连续操作作者假设可以访问一个预训练的视觉-语言-动作VLA模型该模型对RGB 观测、自身运动状态以及任务指令进行编码动作头采用扩散策略[21] 实现其中动作是通过逐步对高斯噪声去噪生成的不过不同于执行多步去噪作者采用一致性策略[22]-[24]将多步过程蒸馏为一步预测为了实现高效的多任务泛化和细粒度的适应性作者采用了一种双智能体学习框架用于动作生成。在一致性策略中一个动作是通过对高斯噪声样本进行去噪得到的——定义为公式1其中是控制初始噪声尺度的超参数。由于的不同采样会导致不同的动作输出作者设计了两种互补的动作生成模式令表示以噪声为条件的一致性策略在主模式下从公式1——中采样保持策略的原始行为在细化模式下噪声则从一个学习到的分布中采样其中均值以状态和精炼语言指令为条件通过保留这两种模式双执行器框架实现了直接的适应性当给定精炼指令时会引导策略朝与该指令一致的行动发展否则系统将默认采用由主执行器定义的原始行为1.2 HIL-DAFT的完整方法论1.2.1 双行为者强化学习系统机器人操作任务被表述为一个马尔可夫决策过程MDP即如下所示其中表示状态空间表示动作空间表示转移动力学表示回报函数表示初始状态分布为折扣因子当环境执行单个动作时该双行动者框架提供了两种互补的机制来生成该动作在没有基于语言的细化时主行动者通过对高斯噪声去噪来采样候选动作如Eqn.(1) 所定义当给定细化指令时则改为对来自细化行动者所示Eqn.(2)中指定的已学习分布的样本进行去噪双执行者框架通过两个连续的训练阶段进行优化离线预热阶段和在线交互阶段图3在预热阶段主策略和Q 函数使用示例数据(demonstration data)进行初始化以建立稳定的性能基线在在线交互阶段和都通过与环境的实时交互进一步优化与此同时引入精炼策略以在潜在空间中实现基于语言条件的自适应在预热阶段作者使用一个预训练的视觉-语言-动作VLA模型将任务指令和状态RGB 图像和本体感受输入编码为任务嵌入主策略在奖励最大化和行为克隆(BC)的混合目标下进行优化一方面BC目标引导策略去模仿专家演示另一方面策略被鼓励去最大化其动作的期望Q 值其损失函数定义为训练缓冲区从演示初始化整体策略损失整合了这两个互补的目标——定义为公式6其中λ1 和λ2 是两个目标之间的折中系数在预热阶段Q 函数的学习是使用 Calibrated Q-LearningCal-QL[25] 来完成的遵循了文献[12-即ConRFT] 的工作这种方法显式地减弱了分布外动作的影响从而稳定了基于离线数据的策略改进在在线阶段机器人直接与物理环境交互以进行持续学习主策略使用与公式(6)中相同的损失函数进行优化而训练数据D则从示例缓冲区和在线rollout 缓冲区中等量采样——详见下图的右下角在此阶段Q 函数损失λ2 的权重被提高而行为克隆损失λ1 的权重被降低。这种调度方式在在线经验累积的同时提高了训练的稳定性并确保了有效的奖励最大化且本阶段中的Q 函数采用标准的Bellman 损失进行优化而非Cal-QL 变体精化动作器使用离线强化学习进行训练在给定状态和精化指令的条件下它预测噪声分布的均值精化 actor 使用 ResNet [26] 对 RGB 图像进行编码并使用 T5 模型 [27] 对精化指令进行编码。每个嵌入通过各自的多层感知机MLP被投影到统一的维度这些特征向量随后被拼接并由最后一个 MLP 处理以生成输出精炼 actor 使用多个目标进行优化作者首先施加一个 BC 损失以引导策略朝向示范行为其中表示将在Sec. IV-B 中介绍的talk-and-tweak人类干预数据集在此基础上作者通过引入Q-function最大化项来实现进一步的优化表示以学习到的潜在变量w 为条件的主策略为了进一步稳定训练作者引入一个正则项用于约束细化actor 在没有显式细化指令时与初始策略保持一致一个固定的语言指令”[null]” 被用来表示没有指令的情况从而确保模型输入的一致性最终整体训练目标将这些组件结合在一起其中、、是这三个目标之间的权衡系数1.2.2 有效的“对话与微调”Talk-and-Tweak人类干预设计人为干预被纳入在线学习阶段以确保交互安全并加速策略收敛。具体而言当智能体执行不安全或次优动作时人类监督者可以直接进行干预由此产生的动作对被存储在干预数据集中作为后续策略更新的基础在此基础上作者提出了一种“对话与微调”talk-and-tweak数据集生成方案。在此方案中每个物理修正(微调)都通过基于规则的映射与相应的自然语言优化指令表述相匹配人类干预通常跨越多个连续的时间步长。令表示一系列被干预的动作其中每个编码了机器人动作前三个维度表示平移运动接下来的三个维度表示旋转运动最后一个维度则表示夹爪指令且语言映射仅专注于翻译成分在时间窗口 J 内的累积位移计算方式为其中J 表示时间窗口为J 5 步。对于每个平移轴如果累积位移超过预定义阈值σ 0.001 m则生成相应的细化指令其中d ∈(x, y, z) 表示平移轴最终的精炼指令是通过将三个平移轴上的指令进行拼接得到的从而产生诸如” 向右并向前移动” 之类的精炼指令。得到的talk-and-tweak 三元组取代了标准的干预二元组并被加入到用于策略学习的干预缓冲区中这样的增强将原始的纠正动作转换为具有语义基础的精炼指令使精炼actor 能够将高层次的语言指导映射到物理动作上1.2.3 高效的多任务学习提出了一个多任务学习框架能够在多样化任务之间实现可扩展且稳定的学习。如图4 所示『该框架将一个共享的 actor 与按任务划分的critics 进行耦合在保持任务特定价值函数的同时实现一致的策略学习』该架构采用共享的多任务actor 和任务特定的critic其中表示任务标识符具体而言每个critic 使用ResNet[26] 对RGB 图像进行编码使用多层感知机MLP对本体感知输入进行编码并使用另一个MLP 对动作a进行编码。得到的特征被拼接后输入到一个MLP 头部以产生Q 值为了支持多任务训练作者扩展了[11] 中提出的任务级回放缓冲机制。具体来说对于每个任务i 维护三个独立的缓冲区专家示例、策略生成的回合和人工干预在预热阶段仅包含离线示例在随后的在线交互阶段它会通过来自的干预数据进行扩充在交互阶段主actor 通过在所有任务和缓冲区类型上进行均匀采样来更新即这鼓励在示范数据和自主交互之间进行均衡学习细化actor 则使用聚合的干预数据集相比之下每个任务特定的评价器仅使用其对应任务缓冲区中的数据进行更新从而保证稳定且任务特定的价值估计详细过程总结于算法1 中为方便大家更好的理解上述算法1我还是给大家逐行解读下0. 准备与初始化 (Require Line 1)输入依赖 (Require)一个预训练的视觉-语言-动作VLA模型基于一致性模型consistency policy的策略头和微调策略每个任务独立的 Critic 模型各类数据缓冲区专家示范数据、在线滚动探索数据、人类干预数据以及全局的 talk-tweak 语料库第 1 行随机初始化网络参数、以及所有的Phase I: 离线预热阶段 (Offline Warm-up phase, Lines 2-8)本质利用现有的少量完美演示数据给模型打下基础防止在线探索时发生灾难性的乱动。*第 2-8 行开启离线训练循环第 3-6 行遍历每一个任务。从该任务的示范数据集中采样一个大小为的小批量数据。然后用这些数据更新该任务专属的 Critic 模型第 7 行将所有任务的采样数据聚合起来更新全局共享的主策略。(注意此时还没有加入 Refinement Actor 的训练)Phase II: 在线交互阶段 (Online interaction phase, Lines 9-30)本质让机器人真机下场试错。为了保证效率这一阶段采用了多线程并发结构分为学习线程Learning Thread和交互线程Interaction ThreadA. 学习线程 (Learning Thread, Lines 9-17) - 负责后台大脑更新第 9 行等待每个任务的探索缓冲池至少收集到 100 条转移数据transitions以保证训练稳定第 10-14 行开启在线训练循环 。遍历所有任务为了保证数据分布的均衡从示范库和探索库中各抽取一半比例的数据组合成当前任务的批次然后更新对应任务的 Critic第 15 行汇总所有任务的混合数据用于更新全局主策略第 16 行核心创新点体现。使用全局的数据集来专门更新微调策略。这使得该网络学会如何把人类语言映射到动作的修正上B. 交互线程 (Interaction Thread, Lines 18-30) - 负责前台执行与数据收集第 18-20 行遍历任务并在环境中执行步数第 21-22 行如果人类没有进行干预则模型按照当前的主策略输出动作 。产生的轨迹存入常规探索库第 23-24 行如果此时人类介入比如用 SpaceMouse 强行矫正了机器人的动作则记录下人类修正后的动作。这段被纠正的轨迹存入特定任务的干预库第 28-29 行 (位于循环尾部的数据增强)将刚刚收集到的人类干预数据融合进全局的语言-调整库中同时也加进示范库中这意味着人类每一次接管既让主模型多了一次正确示范也让微调模型多了一次“将物理调整翻译为语言”的学习素材// 待更