25年6月来自香港中文大学、北大、智平方(AI2Robotics)和北京智源研究院的论文“Fast-in-Slow: A Dual-System Foundation Model Unifying Fast Manipulation within Slow Reasoning”。
广义策略和执行效率是机器人操作中的两个关键挑战。虽然最近的基础策略受益于互联网规模的预训练视觉语言模型 (VLM) 的常识推理能力,但它们往往受到执行频率低的困扰。为了缓解这一困境,受卡尼曼(Kahneman)理论的启发,提出了双-系统方法,利用基于 VLM 的系统 2 模型处理高级推理,以及单独的系统 1 动作模型确保实时控制。
然而,现有设计将两个系统作为独立的模型维护,限制了系统 1 充分利用基于 VLM 的系统 2 中丰富的预训练知识。这项工作提出慢中快 (FiS),这是一个统一的双系统视觉-语言-动作 (VLA) 模型,它通过部分共享参数将系统 1 执行模块嵌入到基于 VLM 的系统 2 中。这种创新范式不仅使得系统 1 能够实现高频执行,还有利于在系统 2 的单一基础模型中协调推理和执行组件。鉴于它们在 FiS-VLA 中扮演着截然不同的角色,在设计这两个系统时结合了异构模态输入和异步工作频率,从而实现快速而精确的操作。为了实现两个系统之间的协调,提出一种双-觉察协同训练策略,使系统 1 具备动作生成能力,同时保留系统 2 的上下文推理表征。评估结果表明,FiS-VLA 在模拟任务中的平均成功率比之前的最佳方法高出 8%,在实际任务中的平均成功率比之前的最佳方法高出 11%,同时在动作块设置为 8 的情况下实现 117.7 Hz 的控制频率。
机器人操控学习 [3, 4, 5, 6] 的基本目标是将现实世界的传感数据和人类指令转化为精确的控制信号。同时,使机器人能够执行广泛的任务并适应物体和环境的变化仍然是核心挑战。最近,一些研究 [7, 8, 9, 10, 11, 12] 试图利用基础视觉语言模型 (VLM) [13, 14, 15, 16, 17, 18] 的预训练知识,通过在机器人数据集 [19, 20] 上对这些模型进行微调来实现广义操控,从而催生了视觉-语言-动作 (VLA) 模型。然而,这些方法拥有数十亿级的参数和自回归动作生成,导致工作频率较低,从而限制了响应式闭环控制并阻碍了实际应用。
受卡尼曼双系统理论 [21] 的启发,即“系统 1 快速、直观且无意识,而系统 2 缓慢、合乎逻辑且涉及深思熟虑的推理”,近期研究探索将双-系统设计融入 VLA 模型。最近的端到端方法 [22, 23, 24] 利用 VLM 作为系统 2 进行高级特征提取,同时附加一个策略头作为系统 1,将 VLM 输出转换为可执行的动作姿势。基于类似的架构,[2, 1, 25] 等方法设计了具有异步工作频率的双-系统框架,进一步明确了系统 1 和系统 2 的不同角色。虽然这些方法提高了执行效率,但它们的系统 1 作为一个轻量级的独立模型,缺乏互联网规模的预训练知识,仅依赖于系统 2 提取的特征表示,因此无法充分利用系统 2 的 VLM 中的推理能力。考虑到这些局限性,并受先前关于人脑双-过程认知神经科学研究 [26, 27] 的启发,提出以下问题:“如果 VLM 模型充当机器人的‘大脑’,它能否整合系统 1 和系统 2 的进程,实现协调的推理和执行?”
为此,本文提出 慢-中-快 (FiS) 模型,这是一种 VLA 基础模型,它将系统 1 的快速执行能力集成到预训练的 VLM 中,同时保留其固有的系统 2 推理能力。如图所示,与先前的双-系统 VLA 方法 [1, 25] 将系统 2 与独立的策略模型连接起来作为系统 1 不同,FiS-VLA 将系统 2 的最终 Transformer 模块重新利用为一个高效的执行模块,作为系统 1。
FiS-VLA 框架如图所示:FiS-VLA 的整体架构。该方法的核心思想是保留完整的 VLM 用于系统 2 的推理,同时将其最终的Transformer模块重新用于系统 1 的执行模块。这种设计并非将系统 1 构建为一个独立注入的模块,而是将其构建为一个组件,它继承 VLM 的预训练知识,并保持对系统 2 中间推理输出的一致理解,同时满足实时控制的低延迟要求。
问题表述
遵循 [23, 22],VLA 模型通常通过在异构演示数据集 D 上进行模仿学习来学习机器人控制策略。训练目标是最大化生成时间扩展动作序列 a_t:t+H 的可能性,该序列以多模态观测 o_t−1 和语言指令 l 为条件。本研究构建全面的观测数据,包括机器人状态、多视角图像和 3D 点云。
动作 a 可以代表不同的控制空间和控制模式。本研究在仿真中对单臂 Franka Panda 机器人采用 7 自由度末端执行器位姿控制,其中包括 3 个相对位置偏移自由度 ([∆x, ∆y, ∆z])、3 个旋转自由度(以欧拉角表示)和 1 个夹持器状态(打开/闭合)自由度。在实际实验中,为了验证模型在不同机器人实施例和控制模式下的鲁棒性,在 AgileX 机器人上采用 14 自由度控制,在 AlphaBot 双臂机器人上采用 16 自由度控制,分别在末端执行器位姿控制和关节位置控制下进行。
FiS-VLA 架构
FiS-VLA 架构如上图所示。与之前的 VLA 方法 [7, 22] 类似,FiS-VLA 继承基础架构,并使用 Prismatic VLM [16] 初始化预训练参数。该模型主要由一个视觉编码器和一个 LLM 组成,并引入一个额外的轻量级 3D token 化器,以高效处理点云输入。
视觉编码器。用 SigLIP [64] 和 DINOv2 [65] 联合提取视觉表示,以捕捉高级语义特征和局部空间细节。具体而言,对于每张输入图像,首先将其大小调整为 224×224 像素。然后,两个编码器对图像进行处理,产生两个不同的特征表示 fSigLIP 和 fDINO,其中 N_v 表示分词维度。这两个特征沿通道维度连接,形成统一的视觉嵌入,以供进一步处理。
点云编码器。为了研究 3D 几何信息对机器人操作的影响,加入点云数据 P = {p_i},该数据来自使用相机内参和外参的单视图深度图。N_p 表示点数。与某些使用新注入的 3D 编码器直接处理点云的方法 [56, 29] 不同,其方法首先使用轻量级 3D token 化器 [66] 将点云转换为高维 tokens。具体而言,3D token 化由三个块组成,每个块包含用于下采样的最远点采样 [67]、用于局部聚集的 k-最近邻算法和用于特征编码的可学习线性层。然后,共享视觉编码器按照 [30] 的方式处理 token 化的表示以提取局部空间特征。这种设计有两个关键优势:首先,它利用具有视觉-语言对齐功能的预训练 VLM 的视觉编码器,将 3D 信息有效地投影到 LLM 的嵌入空间中;其次,它避免了明显的参数增加并保持了计算效率。
LLM 主干。FiS-VLA 采用 7B LLaMA2 [68] 模型作为 LLM 主干。LLaMA2 是一个仅包含解码器的 Transformer 架构,由 32 个块组成,每个块的输入和输出可以被视为 token 序列的高维表示。先前的研究 [24, 69] 发现,在 VLA 模型中,利用中间 LLM 表示而不是最终层进行动作生成,可以在不降低多模态表示质量的情况下提高下游策略的成功率。因此,重新利用系统 1 的 LLM 最后几个块,以系统 2 的中间潜特征为条件,从而实现高效、低延迟的响应。为了确保系统 2 保持其完整的推理能力,将完整的 LLM 作为其核心组件,形成一个“慢系统中的快系统”架构,在快速动作生成和深度上下文推理之间取得平衡。
MLP 组件。为了进一步阐明 FiS-VLA 架构,描述其余的辅助组件,它们均以多层感知器 (MLP) 的形式实现。首先,使用预训练的视觉语言投影器将 2D 和 3D 特征映射到 LLM 的文本嵌入空间,该空间由预训练的 VLM 初始化。同时,使用状态编码器对机器人本体感受状态进行编码。鉴于对系统 1 采用基于扩散的动作生成,引入两个额外的 MLP,将时间步长和带噪声的动作投影为连续向量。
双-系统协调
异步频率设计。FiS-VLA 受卡尼曼双系统理论 [21] 的启发,由两个部分组成:慢速系统 2 和快速系统 1。由于系统 2 的 VLM 拥有数十亿级参数,因此它以低频运行,以执行高级语义理解和情境推理。在框架中,它解读与任务相关的视觉观察和语言指令,并从 LLM 的中间块中生成以潜特征形式呈现的理解输出。基于先前的动作分块方法 [41, 3],时间步 t 处的指令和场景观察可以为未来的动作步 (a_t:t+H) 提供指导。因此,系统 2 的中间输出作为潜条件,在时间上指导系统 1 在接下来的 H 个时间步中生成动作。相比之下,系统 1 专注于实时生成可执行动作。在每个时间步,它利用最新的观察结果来生成动作,同时以系统 2 定期更新的高级推理输出为条件。这种行为类似于直觉和反应性响应,将系统 1 定位为高频动作生成模块。
为了实现这一点,研究两个系统之间的协调频率。一个核心问题是“系统 2 的中间理解输出能够有效地指导多少个未来行动步骤?”在消融研究中实证探索不同视界长度(例如 1、2、4、……、n)的影响。这相当于将系统 2 和系统 1 之间的工作频率比设置为 1:n,因为机器人硬件不支持将两个系统部署在单独的 GPU 上进行并行推理,这与 Helix [25] 中的实现不同。虽然并行推理可以进一步提高模型速度,但在此专注于确定两个系统之间最佳协调比这一基本研究问题。为了确保系统 1 能够有效地解释系统 2 在早期阶段产生的潜条件,在训练过程中采用异步采样,以降低系统 2 的运行频率。这有助于系统 1 的执行模块在任务理解中保持时间一致性。
异构模态输入。FiS-VLA中的两个系统旨在服务于截然不同的目标。系统 2 负责高级任务理解和场景推理,而系统 1 则针对快速响应控制进行了优化。为了实现这些不同的目标,为每个系统提供专门针对其功能定制的输入模态。由于系统 2 的VLM已经基于图文配对数据进行了互联网规模的预训练,软件为其提供语言指令和二维视觉观察,以充分利用其高级语义推理能力。相比之下,系统 1 的任务是在机器人当前环境的全面表征下实时生成可执行操作。
探索实现精确响应控制所需的信息。首先,系统 1 必须接收当前场景的低延迟二维图像。为了增强闭环控制的时间一致性,机器人的当前状态也至关重要。此外,由于机器人必须推理空间关系并与复杂的空间配置进行交互,额外提供了 3D 点云数据以支持精确操控。最终,系统 1 执行模块将三种输入模态与系统 2 定期更新的潜特征相结合,共同作为基于扩散的动作生成的条件上下文。实验结果证实,每种模态都对操控任务的成功做出有意义的贡献。
训练目标与方案
双-觉察协同训练策略。FiS-VLA 的核心目标是生成准确且可执行的动作。为此,利用扩散模型的连续性,这种模型通常比离散预测方法 [22, 23] 产生更可靠的动作。给定初始动作序列 a ̃,在随机选择的时间步长 τ ∼ U (1, T) 注入高斯噪声 η ∼ N (0, I),其中 τ 和 T = 100。前向过程以封闭形式添加噪声:a ̃_τ = √β_τa ̃ + √β_τη,其中 β_τ 表示根据预定方案调整的噪声缩放因子 [70]。为了训练系统 1 π_θ_f,将学习过程表述为一个优化问题:
在 FiS-VLA 中,调节源 c 由两部分组成:从系统 2 中提取的低频潜特征,以及系统 1 的高频输入。由于系统 1 的执行模块嵌入在系统 2 的 VLM 中,仅训练基于扩散的动作生成模型可能会导致其自回归推理能力的灾难性遗忘。为了缓解这个问题,为整个 VLA 模型提出一个联合训练目标,通过将下一个 token 预测与交叉熵损失相结合,来保留系统 2 的推理能力。自回归监督信号可以是离散动作 [7, 51] 或基于语言的规划[52, 8],具体取决于机器人训练数据的构造。
以离散动作为例,将目标定义如下:
预训练方案。在对 FiS-VLA 进行预训练之前,参考 [7, 22] 中的方法,使用预训练 VLM [16] 中的参数初始化模型。仔细处理和筛选大规模跨具身数据集(包括 Open X-Embodiment [19]、DROID [20]、ROBOMIND [34] 等),精心挑选一个专门的预训练数据集。该数据集包含超过 86 万条轨迹样本。FiS-VLA 在该数据集上训练 5 个 epoch,两个系统的输入都仅包含一张图像作为观察值。由于预训练数据不包含子目标级别的语言指令,最初使用离散动作序列来监督系统 2。在微调过程中,通过合并手动注释的子任务规划和应用自动增强技术,为系统 2 的目标添加额外的语言监督。
模拟基准测试。为了全面评估方法,在基于 CoppeliaSim 模拟器的 RLBench [35] 基准测试中测试 10 个不同的操作任务,包括关闭盒子、关闭笔记本电脑、放下马桶座圈、扫至簸箕、关闭冰箱、将手机放回底座、取出雨伞、将框架从衣架上取下、将葡萄酒放在架子上以及给植物浇水。所有任务均在 Franka Panda 机器人上执行,使用前视摄像头获取输入的 RGB 图像和点云。遵循预定义的路径点并利用开放运动规划库 [71] 来收集数据。基于先前研究 [72, 5, 30] 中采用的帧采样技术,构建一个训练数据集,每个任务包含 100 条轨迹。
训练和评估细节。将 FiS-VLA 与四个最先进的 (SOTA) VLA 模型进行比较,包括 ManipLLM [50]、OpenVLA [7]、π0[23] 和 CogACT[22],后两者是双-系统方法,但以同步频率运行。对于基线,加载每种方法提供的官方预训练参数,并遵循它们各自的微调设置。对于 FiS-VLA 的输入,单视图 RGB 图像大小调整为 224 × 224,点云下采样为 1024 个点,文本指令来自模拟,机器人状态与预测动作对齐。FiS-VLA 模型使用 AdamW 优化器 [73] 在 8 块 NVIDIA A800 GPU 上训练 300 个 epoch,采用混合精度训练。按照[22, 5],用来自最新 epoch 检查点的 20 个展开来评估所有方法,对每个任务重复评估三次,并报告平均成功率和方差。
自采集数据。对于双臂任务,分别在 Agilex 机器人和 AlphaBot 上评估四项任务,每台机器人配备三个摄像头视图:静态外部视图、右腕视图和左腕视图。在 Agilex 机器人上,执行以下四项任务:1)拾取物体并放入篮子,2)举起球并放入篮子,3)将瓶子放在架子上,4)擦黑板。在 AlphaBot 上,执行另一组四项任务:1)拾取碗并放置物体,2)交出物体并放置,3)倒水并移动杯子,4)折叠毛巾并放入桶中。对于每项任务,通过主-玩偶遥操作收集 100 个演示,物体放置在桌子上的不同位置以确保多样性。
训练和评估细节。用与模拟相同的训练设置,将 FiS-VLA 与 π0 [23] 进行比较,但实际双臂任务的输入为三视图 RGB。评估使用最终检查点,在不同的桌面位置上进行 20 次展开测试。需要注意的是,用末端执行器姿态控制 Agilex 机器人,使用关节姿态控制 AlphaBot,这证明模型在不同机器人控制范式下的有效性。