PAPER DEEP DIVE
FM-VLA:接触丰富操作的力觉记忆增强VLA模型
提出基于力觉记忆的 VLA 模型,用 VAE 将力时序编码为紧凑记忆 token,注入动作专家模块,使模型能利用累积接触事件历史引导非马尔可夫接触丰富操作,在隐藏方块、按钮按压、擦拭盘子三个记忆依赖任务上超 80% 成功率。
一句话总结
FM-VLA 是首个引入力觉记忆的 VLA 模型,用预训练 VAE 将长时程腕部力/力矩历史压缩为紧凑记忆 token 注入流匹配动作专家,使模型能利用累积接触事件历史引导非马尔可夫接触丰富操作,在三个记忆依赖任务上以 83.3% 平均成功率大幅超越视觉记忆基线。
研究背景与动机
视觉-语言-动作(VLA)模型通过利用互联网规模视觉语言预训练,在多种操作任务上实现了出色的泛化。然而,大多数现有 VLA 架构仅依赖当前观测进行决策,将策略建模为从当前状态到未来动作的无记忆映射 $\pi(a_t \mid o_t, l)$。这种马尔可夫假设在许多任务中已足够,但在真实世界的长时程场景中会失效——当正确的动作取决于历史交互而非瞬时观测时。
考虑这样的场景:机器人需要连续按压按钮 N 次。每次按压的视觉位移微乎其微,但力传感器会记录到清晰的脉冲信号。又或者机器人需要在两个视觉上完全相同的倒扣杯子下寻找隐藏方块——每检查完一个杯子后场景恢复原状,策略必须记住哪个杯子已经检查过。这类任务本质上是非马尔可夫的,正确的动作取决于过去的环境状态和交互历史。
已有工作探索了两条记忆路径。第一条是视觉记忆:MemoryVLA 维护过去观测的记忆库,MEM 模型结合短期视频记忆和长期文本摘要。但这些方法在视觉变化微妙或严重遮挡时失效——反复按压按钮可能不产生任何可观测的视觉变化。第二条是力觉增强:ForceVLA 和 TA-VLA 将力信号作为一阶模态融入 VLA,但它们仅关注用当前或短时力信号改善动作预测,而非将力作为跟踪交互进程的记忆机制。它们能捕捉"是否接触"或"力有多大"等局部状态,但无法积累非马尔可夫决策所需的长时程时序信息。
FM-VLA 正是为弥合这一差距而设计。核心洞察是:许多交互相关信号——接触事件、力的大小、重复动作的次数——天然被力传感器测量所捕捉,提供比视觉更直接、更无歧义的交互动力学表示。关键挑战在于:如何将高频、噪声、非结构化的原始力信号转化为能有效引导动作生成的记忆表示?
预备知识
理解 FM-VLA 需要几个核心概念。首先是六轴力/力矩传感器:安装在机器人腕部,以 100Hz 频率测量 3 轴力和 3 轴力矩,每帧读数为 $f_\tau \in \mathbb{R}^6$。其次是变分自编码器(VAE):一种将高维数据压缩到低维潜空间并重建的生成模型,由编码器、潜空间和解码器组成,通过重建损失和 KL 正则训练。第三是流匹配动作专家:VLA 模型中负责生成动作序列的模块,通过学习从噪声到动作的向量场来生成连续动作块(action chunk)。
另一个关键概念是非马尔可夫决策:传统 VLA 假设当前观测包含所有决策所需信息(马尔可夫性),但接触丰富任务中,正确动作依赖于过去接触事件的历史累积,需要显式记忆机制。
方法详解:FM-VLA 架构
FM-VLA 基于 $\pi_{0.5}$ 模型构建,该模型由视觉语言模型(PaliGemma + SigLIP 视觉编码器)和流匹配动作专家组成。VLM 处理当前图像和语言指令,其内部特征通过交叉注意力条件化流匹配动作专家生成动作块。FM-VLA 的核心创新是引入力觉记忆模块,将长时程力历史编码为记忆 token 注入动作专家。
架构总览
flowchart TB
subgraph VLM["视觉语言模型 (PaliGemma + SigLIP)"]
IMG[当前图像] --> VL[视觉语言特征]
LANG[语言指令] --> VL
end
subgraph FM["力觉记忆模块"]
FH[腕部力/力矩历史
100Hz, 6轴] --> EMA[一阶EMA平滑]
EMA --> PAD[随机噪声预填充]
PAD --> VAE[VAE编码器
冻结权重]
VAE --> ZF[力记忆token
K=8, d_h维]
SH[关节状态短窗
最近1秒] --> PROJ[线性投影
零初始化]
PROJ --> ZS[状态记忆token
1个, d_h维]
end
VL --> AE[流匹配动作专家]
ZF --> AE
ZS --> AE
AE --> OUT[动作块输出]
上图展示了 FM-VLA 的完整架构。力/力矩历史经 EMA 平滑和噪声预填充后,通过冻结的 VAE 编码器压缩为 K=8 个力记忆 token;关节状态短窗通过线性投影映射为单个状态记忆 token。两组 token 共同注入流匹配动作专家的后缀位置。
问题形式化
FM-VLA 学习一个策略 $\pi(a_t \mid o_t, l, h_t)$,将当前观测 $o_t$、语言指令 $l$ 和时序历史 $h_t$ 映射到动作 $a_t$。与无记忆策略 $\pi(a_t \mid o_t, l)$ 不同,这里引入了两条互补的本体感觉流。第一条是长时程力/力矩历史 $\{f_\tau\}_{\tau=1}^{t}$,每帧 $f_\tau \in \mathbb{R}^{d_f}$,$d_f = 6$,堆叠 3 轴力和 3 轴力矩——这条流捕捉整个 episode 的累积接触事件。第二条是短窗关节状态历史 $\{s_\tau\}_{\tau=t-W+1}^{t}$,每帧 $s_\tau \in \mathbb{R}^{d_s}$ 拼接所有臂的关节位置和夹爪状态(如双臂 7-DoF 设置下 $d_s = 16$)——这条流捕捉最近的运动动力学。两者结合形成时序历史表示:
$$h_t = \big[\,\underbrace{\mathrm{Enc}_\phi(\{f_\tau\}_{\tau=1}^{t})}_{\text{力历史 } Z_f \in \mathbb{R}^{K \times d_h}} \;\;\|\;\; \underbrace{\mathrm{Proj}_\psi(\{s_\tau\}_{\tau=t-W+1}^{t})}_{\text{状态历史 } z_s \in \mathbb{R}^{d_h}} \,\big]$$
其中 $\mathrm{Enc}_\phi$ 是预训练 VAE 编码器,将无界力历史压缩为 K 个固定维度的潜在 token;$\mathrm{Proj}_\psi$ 是轻量线性投影,将关节状态窗映射为单个 token,与 VLA 一起端到端学习。
力/力矩历史预处理
原始力传感器读数噪声大且含高频分量。论文采用两步预处理。一阶指数移动平均(EMA)平滑:因果滤波器去除大部分噪声同时保留信号起始和峰值:
$$\tilde{f}_{\tau} = \alpha f_{\tau} + (1 - \alpha)\tilde{f}_{\tau-1}$$
其中 $\alpha$ 控制平滑程度。随机噪声预填充:论文注意到力历史长度会泄露 episode 进度信息,使模型学会用序列长度走捷径而非利用信号时序结构。为消除这一线索,训练时在每个历史前随机填充一段低幅度高斯噪声(均匀采样至多 10 秒),随机化填充长度。
力记忆编码器(VAE)
力记忆 VAE 基于 Perceiver-IO 架构,在 K 个可学习潜在查询 token 上操作。给定力历史 $F = [f_1, \ldots, f_T] \in \mathbb{R}^{T \times d_f}$,每个时步信号首先基于全数据集统计进行分位数归一化,然后通过输入 MLP 投影并与傅里叶位置编码整合为力 token。编码器利用交叉注意力将力特征提取到潜在查询中,穿插自注意力块。最后,逐潜在线性头输出后验参数:
$$\mu_k, \log \sigma_k^2 = \text{Head}_{\text{VAE}}\big(\text{Enc}_\phi(F)_k\big), \quad z_k = \mu_k + \sigma_k \odot \epsilon_k, \quad \epsilon_k \sim \mathcal{N}(0, I)$$
产生 K 个潜在 token 的表示 $Z \in \mathbb{R}^{K \times d_z}$。解码器通过交叉注意力层逆转此过程,时间步特定的傅里叶编码查询关注潜在 token 以产生重建序列 $\hat{F} \in \mathbb{R}^{T \times d_f}$。
短状态历史
与力流不同,关节状态流的本体感觉角色可以由极近的状态充分捕捉——动作专家只需知道"手臂在哪里、往哪里走"。因此论文避免在状态侧使用第二个 VAE,而用无需预训练的轻量投影层。具体而言,在每个控制步 $t$,以固定步长子采样状态流,提取最近 W 帧关节状态 $S_t \in \mathbb{R}^{W \times d_s}$(覆盖最近一秒运动),展平后通过一个零初始化线性层投影为单个状态历史 token。
记忆 Token 注入
两组本体感觉记忆流仅通过动作专家后缀注入。从冻结的力编码器中仅取后验均值 $\mu_f \in \mathbb{R}^{K \times d_z}$,通过零初始化线性层从 VAE 潜在维度 $d_z$ 投影到动作专家隐藏维度 $d_h$,产生力记忆 token $Z_f \in \mathbb{R}^{K \times d_h}$。动作专家序列的布局为:
$$\underbrace{[a_k^{(1)}, \ldots, a_k^{(H)}]}_{\text{噪声动作 token}} \;\|\; \underbrace{[Z_f^{(1)}, \ldots, Z_f^{(K)}]}_{\text{力记忆}} \;\|\; \underbrace{[z_s]}_{\text{状态窗}}$$
力 token 紧接噪声动作 token 之后,状态 token 最后。将两组记忆流放在后缀位置使噪声动作 token 保持与基策略预训练时相同的 RoPE 位置,避免干扰已有动作生成能力。
两阶段训练
阶段 1:Force-VAE 预训练。在所有任务的力历史上联合训练力记忆 VAE,使用 masked-ELBO 目标。损失由两部分组成:对有效帧的掩码重建项和对每个潜在维度的 free-bits 正则化 KL:
$$\mathcal{L}_{\text{VAE}} = \frac{1}{\sum_\tau m_\tau \cdot d_f} \sum_{\tau=1}^{T} m_\tau \|f_\tau - \hat{f}_\tau\|^2 + \beta \cdot \frac{1}{K d_z} \sum_{k,j} \max(D_{\text{KL}}^{(k,j)}, \lambda)$$
其中 $m_\tau \in \{0,1\}$ 掩码填充帧,$D_{\text{KL}}^{(k,j)}$ 是每个潜在维度后验与标准正态先验之间的 KL 散度,$\beta$ 控制正则化强度,$\lambda$ 是每维 free-bits 下限——对已编码少于 $\lambda$ nats 的维度关闭 KL 梯度,防止后验坍缩。
阶段 2:VLA 微调。冻结力编码器并切换为评估模式(仅取后验均值),与 VLA 策略一起端到端微调。VLA 使用标准流匹配损失训练,力记忆 token 作为额外条件信号注入动作专家后缀。
实验结果
实验设置
在 AgiBot G1 双臂人形机器人上采集数据和实验,配备两个 7-DoF 手臂和两个 1-DoF 夹爪。每个腕部安装 6 轴力传感器(100Hz),策略输入包括 6-DoF 腕部力/力矩、三个 RGB 流(头部+两个腕部相机)和本体感觉状态向量。
设计了三个接触丰富双臂任务。(1)找隐藏方块:机器人依次翻开两个视觉上完全相同的倒扣杯子,找到隐藏的木块。由于杯子放回后场景恢复原状,策略必须记住已检查哪个杯子。收集 200 次演示。(2)按按钮:机器人需按压按钮恰好 $N \in \{1,2,3\}$ 次后停止。按钮行程极小,每次按压产生清晰力脉冲但几乎无视觉位移——计数必须依赖力历史。收集 350 次演示。(3)擦碗:机器人抓海绵擦拭碗内部指定次数 $N \in \{1,2,3\}$。视觉变化微乎其微,力历史是跟踪进度的主要线索。收集 200 次演示。
主实验结果
| 方法 | 找方块 | 按按钮 | 擦碗 | 平均 |
|---|---|---|---|---|
| $\pi_{0.5}$(无记忆) | 72.2 | 11.1 | 0.0 | 27.8 |
| TA-VLA | 50.0 | 11.1 | 5.6 | 22.2 |
| $\pi$-MEM(视觉记忆) | 77.8 | 33.3 | 50.0 | 53.7 |
| FM-VLA(VAE,本文) | 100.0 | 72.2 | 77.8 | 83.3 |
表1:各方法在三个任务上的成功率(%)。
FM-VLA 以 83.3% 平均成功率一致超越所有基线。优势在按按钮和擦碗任务上尤为突出——这两个任务需要对力信号进行精确的时序推理。无记忆 $\pi_{0.5}$ 表现极差(27.8%),在擦碗任务上完全失败。TA-VLA 同样表现不佳——其短时力窗能捕捉瞬时接触但无法保留这些任务所需的长时程事件计数。值得注意的是,视觉记忆基线 $\pi$-MEM 在找方块和擦碗上有一定提升,但在按按钮任务上严重失败(33.3% vs. 本文 72.2%),证实视觉记忆在缺乏清晰视觉状态变化的任务上是不够的。
消融研究
模态消融:记住什么?仅用力记忆降至 25.9% 平均——策略在接触前缺乏短时空间感知导致接触前动作紊乱。仅用状态记忆降至 40.7%——能在找方块上达到 100% 但在按按钮上仅 11.1%,因为状态无法替代力历史记录接触事件。两者结合才达到 83.3%,证明力与状态记忆互补且缺一不可。
| 消融配置 | 找方块 | 按按钮 | 擦碗 | 平均 |
|---|---|---|---|---|
| 仅力记忆 | 55.6 | 0.0 | 22.2 | 25.9 |
| 仅状态记忆 | 100.0 | 11.1 | 11.1 | 40.7 |
| FM-VLA(GRU) | 55.6 | 38.9 | 5.6 | 33.3 |
| FM-VLA(Q-Former) | 100.0 | 16.7 | 55.6 | 57.4 |
| FM-VLA(VAE,本文) | 100.0 | 72.2 | 77.8 | 83.3 |
表2:模态和架构消融结果(%)。
架构消融:为什么用 VAE?将 VAE 编码器替换为 GRU 循环编码器(33.3%)和 Q-Former 交叉注意力模块(57.4%)均显著逊色。GRU 在长 100Hz 序列上梯度消失,丢失早期接触事件(擦碗仅 5.6%);Q-Former 过拟合于瞬时峰值而非整体时序结构。VAE 在连续力重建目标上预训练,迫使潜空间编码宏观结构——力大小、起始时序、接触次数——这些信号只需少量 token 即可被动作专家提取。
容量消融:多少 token?在擦碗任务上消融 VAE 潜在 token 数 $\{4, 8, 16, 32\}$。4 个 token 形成信息瓶颈;16 和 32 个 token 出人意料地降低性能——因为预训练 $\pi_{0.5}$ 动作专家训练时最多观察 50 个 token,32 个额外力 token 超出此限制并干扰动作生成。8 个 token 达到峰值。
推理效率
| 方法 | 延迟 (ms) | 增量 (ms) |
|---|---|---|
| $\pi_{0.5}$(基线) | 60.7 ± 0.3 | — |
| $\pi$-MEM (K=5) | 99.8 ± 0.4 | +39.1 |
| $\pi$-MEM (K=16) | 190.0 ± 1.0 | +129.3 |
| FM-VLA(本文) | 64.0 ± 0.4 | +3.3 |
表3:RTX 4090 上的推理延迟对比。
FM-VLA 延迟 64ms,仅比基线增加 3ms。相比之下,$\pi$-MEM 因多帧 RGB 输入视觉/视频编码器而增加 39ms,K=16 时更达到 190ms。力觉记忆的低维特性使 FM-VLA 在保持高效的同时实现远超视觉记忆的性能。
局限分析
论文自述了两个局限。第一,VAE 潜在空间引入了 8 个 token 的固定瓶颈;对于需要在数百次接触事件上进行记忆的极长时程任务,可能需要层次化或自适应压缩。第二,VAE 在演示数据集的力数据上训练;在大规模机器人数据集上预训练(含多样力/力矩记录)可能进一步提升性能。
从独立判断角度,论文的另一个局限在于任务设计的窄度。三个任务虽然精心设计以暴露非马尔可夫性,但都是人为构造的记忆依赖场景。真实世界中力觉记忆的价值可能在更广泛的接触丰富任务中体现——如装配、插接、柔性物操作——但论文未在这些场景中验证。此外,VAE 的任务无关性声明有待更充分验证:虽然阶段 1 在所有任务上联合训练声称产生通用力潜空间,但仅三个任务的数据量有限,该潜空间对未见任务类型的迁移能力未被测试。
总结与展望
FM-VLA 证明了力觉记忆是解决非马尔可夫接触丰富操作的有效途径。通过两阶段范式——先训练 VAE 将力历史压缩为紧凑表示,再以冻结编码器注入 VLA 动作专家——模型获得了视觉观测受限或模糊时的累积事件记忆能力,这是视觉记忆和单 token 力条件化都无法提供的。在三个接触丰富双臂任务上,FM-VLA 以 83.3% 平均成功率大幅超越基线,同时仅引入 3ms 额外推理开销。
这项工作为 VLA 模型的多模态记忆开辟了新方向:力觉不只是改善当前动作的辅助信号,更是跟踪长时程交互进程的一阶记忆模态。随着力传感器在机器人平台上的普及和大规模力数据集的积累,力觉记忆有望成为接触丰富操作的标准组件。



