问题
现有两种接法:当成又一个相机,或者当成当前读数
论文聚焦视觉式触觉传感器(GelSight、DIGIT 这一类),每根夹爪手指装一个自研传感器,接触被读成一张图。这种信号和相机画面完全不同:噪声大,远离接触时几乎是空的,只在接触刚形成或即将变化的短窗口里有信息。
作者把已有做法分成两条路,并指出各自的问题:
- 拼进视觉语言上下文(Tactile-VLA、OmniVTLA):把触觉当成又一个相机。可一个稀疏、大部分时间沉默的信号,放进为信息密集的视图设计的前缀里,得不到多少收益。
- 注入动作通路(RDP、TouchGuide):用当前触觉引导去噪。但当前触觉记录的是已经发生的接触,单独看它说不出下一段动作要应对什么接触,策略总比自己的接触事件慢一步。
第三条路:触觉不进前缀,动作专家读的是对触觉的预测。
模型 · §2
基座不动,只加一条“潜在触觉”通路
基座:π0.5
PaliGemma 视觉语言主干 + flow matching 动作专家,从官方 π0.5 权重初始化。相机视图、指令和离散化的机器人状态组成前缀。动作块 H = 50 步,放进 32 维的通用容器;损失对 32 维全部计算,没用的维度学着输出 0。其余结构、tokenizer、训练流程都照搬 π0.5。
触觉编码器
当前触觉帧减去回合开头的零接触帧,在像素空间做差,再送进冻结的 DINOv2 加一个可训练的线性投影,投到主干的 token 宽度 d:
gk = fenc(tacτk − tac0k) ∈ ℝ10×d
每张图 10 个 token:1 个 CLS + 16×16 patch 网格做 3×3 自适应平均池化得到的 9 个。n 个视图拼起来是 10n 个。
为什么差分、为什么冻结。和回合起点做差,去掉了凝胶本身的外观和大部分安装位置带来的印记,对传感器位置差异更稳健(论文说“不是严格不变”)。冻结编码器有三个好处:保留自监督表示;换新传感器只需训投影层;省掉编码器的激活和优化器显存。
预测器与它的目标
预测器是一个轻量模块:读当前触觉 token g,同时读经过上下文化的视觉语言前缀,把它们蒸馏进一组可学习的 latent query,输出 z ∈ ℝ10×d。没有触觉的回合用一个可学习的 null token 代替 g,所以 z 总会产生,策略退化为纯视觉语言控制而不是报错。
让 z 成为“预测”而不是“描述”的,是它的训练目标:用同一个编码器编码每个视图在接下来 H 步里的触觉变化,再在视图间平均:
z 怎么进动作专家。z 投影到动作专家的宽度,放在动作后缀的最前面、噪声动作 token 之前。动作 token 可以看 z,也照常看视觉语言前缀;前缀看不到 z;z 的位置在动作输出头之前被切掉,不输出动作。当前触觉 token g 从不直接进入动作专家,只能经过预测器变成 z。
原文 keybox为什么预测而不是反应
触觉最要紧的行为是预判性的:抓取合拢前毫米级的预加载,物体开始动之前就接住初始滑移。这些发生在“接触前的盲区”,纯反应式的信号来得太晚,影响不了造成它的那个动作。作者据此假设:用预测性的潜变量而不是原始当前 token 条件动作,是更好的归纳偏置。在学到的潜空间里预测、不重建原始信号,沿用了 JEPA 系(I-JEPA、LeJEPA、LeWorldModel)的思路。
三阶段潜在触觉训练 · §4.2
一次只放开一块:先定义 z 的含义,再教专家用它
触觉通路是新初始化的,直接接到预训练好的多平台 checkpoint 上。三个阶段依次从上一阶段的 checkpoint 出发。“free-latent”变体把三步压成一次联合训练,不加 Stage 1 的监督。
逐阶段看:谁在训练、谁冻结、哪条路被屏蔽
依据 §2.2、§4.2 与图 2–4
Stage 1 的损失(§4.2):h(·) 表示对 10 个 latent token 取均值再做 ℓ₂ 归一化,sij = ⟨h(zi), h(z*j)⟩,
对比项让 z 能在一个 batch 里“认出”自己的未来目标;重建头把 z 解码回一张降采样的接触变化场,锚定接触发生的位置,防止 z 学成一个只会区分 batch、不编码接触位置的捷径。λrec 的具体值未披露。
数据 · §3 · 附录 A–C
NeoData:一个 32 维容器装下单臂和双臂
- 平台:ARX X5、UR5e、Flexiv、Franka、Piper 等单臂/双臂机械臂,加一个 UMI 式手持采集夹爪 Neo TacUMI。每根参与任务的手指都装自研视触觉传感器。
- 模态:每回合 3 路 RGB(1 个第三人称 + 2 个腕部),单臂平台 2 路触觉、双臂 4 路;全部 30 fps;RGB 采集最高 640×480,触觉保留传感器原生分辨率,喂模型时统一缩放到 224×224。LeRobot 格式。
- 动作/状态容器:继承 π0.5 的 32 维。前 20 维每臂 10 维:3 维末端位置 + 6D 旋转(rot6d)+ 1 维夹爪;后 12 维恒为 0。单臂数据只填第一个槽。磁盘上存绝对位姿,训练时把每个动作块改写成相对块首帧的位姿,部署时再逆变换回绝对位姿、IK 求关节。
- 触觉约定:每回合开头至少 0.5 秒夹爪张开静止,这一帧作为零接触参照。部署时每次 reset 后的第一帧成为新参照。
- 仿真数据:UniVTAC 视触觉仿真器的回合同样转成上面的格式。
数据规模、采集协议、传感器规格、算力都放在配套的数据报告里,本文未披露(附录 A 的 Scale 一栏写的就是“见数据报告”)。同一团队的 N₀-TWAM 报告称 NeoData 超过 30,000 小时。
解读附录 C 的“数据工程红线”值得一读
九条入库前的检查项,每条配一个“违反后会出现的症状”。几条很实在:动作必须按绝对位姿存盘,否则 loss 正常收敛但真机不能用;归一化统计必须在训练时同样的“相对块首帧”变换下算,否则 loss 看着健康但动作尺度错了;视频 GOP 不超过 30 帧,否则随机读取要从最近的关键帧解码,吞吐周期性卡死。部署侧(附录 D)还有一条:必须把 50 步动作块全部执行完再请求下一块,提前重规划会丢掉集中在块尾的夹爪闭合指令,结果是手臂到位了夹爪却没合上。
ALTER · 从部署数据做离线 RL · §4.4
把“进度”变成一句 Advantage: positive
ALTER = Advantage Labeling from Trajectory Events and Relative Progress。给定一个固定的部署语料,不再和环境交互,做优势条件化的离线 RL(和 π*0.6 的 RECAP 同一框架)。流程分三步:
① 标注
干净示范:Gemini-3.5-Flash 生成任务模板(L3 目标 → 有序 L2 阶段 → L1 步骤),人工审一次。每条示范用触觉接触变化找候选切点,再补充末端运动、夹爪状态、视觉 GEBD 线索,合并去重后由 VLM 把每段对到模板条目。
自主和人工介入回合不做单调进度标签(会退步、重试),只标局部事件:触觉检测的物体掉落、HIL 日志里的纠正区间。
② 成对进度模型
阶段 k 的进度份额按示范里的平均时长分配:wk = d̄k / Σd̄j,φt = Σj<kwj + wkut。模型基于 π0.5 的双观测结构(沿用 χ0),只输入两个时间点的多相机 RGB 和任务提示,三层 MLP 输出相对进度 ∈ [−1, 1]。
损失 = 示范对的回归 + λevent × 事件对的平方 hinge(margin m = 0.02)。事件对约占 5%,权重乘 0.1。触觉只用于构造标签,不是模型输入。
③ 优势条件训练
φ̂t = δe + Aθ(xt, x0) 定阶段;r̂t = Aθ(xt+H, xt) 是局部变化。在同一阶段内取 r̂ 的前 ρ = 30% 为正。标签以文本拼进提示;训练时 30% 概率不加标签;部署时恒用 Advantage: positive。策略结构和 flow matching 损失不变。
为什么要“阶段内”排序
合成数据示意,不是论文数据
细节(附录 E):全局进度先做 5 帧中值滤波,再强制阶段编号不回退;从错误状态开始的“分阶段恢复”回合,初始进度偏移 δe 由它的首帧与三条干净示范的起点比较估计;剩余帧不足 H 时,局部分按比例放大;最后一帧和自己比为 0。
实验设置 · §5.1
一个真机基准,两个仿真套件,一个离线 RL 对比
| 评测 | 任务 | 基线 | 协议 |
|---|---|---|---|
| NeoReal(真机) | 9 个接触任务:Cup Stacking、Fruit Collection、Board Wiping、Bottle Standing、Towel Folding、Socket Plugging、Board Insertion、Cardboard Box Folding、Bag Packing | ACT、π0.5(内部复现) | 成功率 + 100 分制阶段进度分;每个任务的试验次数不同,未列出 |
| UniVTAC(仿真) | 原版 8 个任务 | ACT(纯视觉 / + UniVTAC 触觉)、VITaL、π0.5、StarVLA-α、InternVLA-A1、Xiaomi-Robotics-0、GigaWorld-Policy | 每任务 100 条示范训练,按仿真器完成判据算成功率 |
| NeoSim(仿真) | 12 个任务:4 单臂 + 8 双臂 | π0.5、StarVLA-α、InternVLA-A1、Xiaomi-Robotics-0、GigaWorld-Policy | 同上,固定每任务语言提示 |
| ALTER(真机) | Towel Folding、Bag Packing、Cardboard Box Folding | π0.5-SFT、N₀-VTLA-SFT、π0.5 + χ0、π0.5 + ALTER | SFT 只用干净示范;ALTER / χ0 用全部部署语料 |
| ALTER 部署语料(附录 E) | 干净示范 | 自主回合 | HIL 回合 | 其中分阶段恢复 |
|---|---|---|---|---|
| Towel Folding | 351 | 286 | 180 | 80 |
| Bag Packing | 213 | 243 | 238 | 72 |
| Cardboard Box Folding | 550 | 587 | 397 | 110 |
结果 · §5
真机九胜,仿真领先,但仿真上并非每项第一
NeoReal 真机(原文 Figure 5)
成功率(%)
数字取自原图矢量 PDF 的柱顶标注。最右一组是 9 个任务的均值。
100 分制进度分
每任务拆成固定的子检查点,按到达的最深检查点给分。
图中数字
成功率上 N₀-VTLA 九个任务全胜,均值 47.2% vs 29.4%。进度分上 8/9 领先,Board Wiping 52 vs π0.5 的 55.2。ACT 一个任务都没完成,均值 10.2 分。差距最大的几个:Socket Plugging 85% vs 60%,Board Insertion 25% vs 0%,Bottle Standing 30% vs 0%。
UniVTAC 仿真(表 1)
8 个任务的成功率
黑框为每列最高(与原表加粗一致,并列时都框)。
原表数字(表 1)
NeoSim 仿真(表 2)
12 个任务的成功率
行是任务,列是方法;黑框为每行最高。
原表数字(表 2)
20 个仿真任务的总均值
N₀-VTLA 和 π0.5 两项是论文正文给出的数;其余四项是我们按表 1、表 2 逐任务数字算的。
解读“大幅领先”主要来自 UniVTAC
UniVTAC 上 83.1 vs 最强基线 67.1,领先 16 分;NeoSim 上 50.8 vs π0.5 的 45.8,只领先 5 分,而且 12 个任务里有 5 个不是第一(Grasp Chip 88 vs 93、Insert Screw 24 vs 26、Cup Handover 22 vs 25、Stack Plates 94 vs 96、Unstack Cup 10 vs 71)。UniVTAC 里 Insert HDMI 只有 25,远低于 Xiaomi-Robotics-0 的 69;Put Bottle 60,低于 StarVLA-α 的 88。
ALTER 离线 RL(原文 Figure 9、附录 Figure 14)
三个长时程真机任务的成功率
数字取自 tex 源码里的 TikZ 柱状图。
每小时成功完成次数
三个任务纵轴范围不同,这里各自按自己的最大值画。
原图数字
SFT 时 N₀-VTLA 比 π0.5 高 10 / 15 / 15 分;两者各自接 ALTER 后差距缩小到 5 / 5 / 15 分。同是 π0.5 主干,ALTER 比 χ0 的 Stage Advantage 监督高 10 / 10 / 5 分。
表示分析(§5.5)
z 能否从候选池里认出自己的未来触觉目标
Stage 1 结束时测,378 个留出查询,top-1 准确率。“当前触觉 g”是只用预测器的输入去排序的对照。128 候选池的随机基线(1/128 ≈ 0.8%)是我们算的,论文只给了 32 候选时的 3.2%。
第三个探针是扰动:换掉触觉输入,z 在中心化余弦距离上移动约 0.9;同时换掉 RGB 和提示,z 最多移动约 0.2。触觉/视觉语言敏感度比在 Stage 1 结束时是 4.3,端到端联合训练后降到约 1.4。
论文的四条 Findings(§6)里还有两段定性描述:插入任务里 π0.5 视觉上对齐就一直往下压,碰到插座边缘仍继续,N₀-VTLA 会抬手、重新对准再试;Bottle Standing 里 π0.5 把空瓶口捏得太紧、把整个瓶子提起来,N₀-VTLA 会连续微调夹爪开度。
读懂它
这篇真正说明了什么
1. “预测触觉变化”可以做得很轻
不训触觉专用编码器,不解码完整的未来触觉序列:冻结 DINOv2 + 线性投影 + 小预测器,目标是一个动作块内的净变化在同一个编码空间里的表示。和 N₀-TWAM、ME-Dex 那种在世界模型里生成未来触觉相比,这是最省的“预测式”接法。
2. 新通路怎么安全地嫁接到预训练 VLA 上
三阶段的逻辑很清楚:先固定 z 的含义(只训预测器),再固定专家怎么用 z(屏蔽前缀,只有 z 可读),最后才放开联合训练。Stage 2 屏蔽前缀是关键一步:不屏蔽的话,专家完全可以绕过新来的 z。
3. 预测器确实超出了它的输入
只用当前触觉 g 去排序能到 57%,z 到 92.3%;候选池扩到 128 时差距拉大(40% vs 81%)。说明 z 里有“未来接触”的信息,不只是当前读数的自相关。
4. 离线 RL 的收益比触觉还大
在三个长时程任务上,ALTER 把 π0.5 从 40 / 20 / 5 提到 90 / 75 / 60;N₀-VTLA 的触觉预训练在 SFT 时带来 10–15 分,接 ALTER 后缩到 5–15 分。
容易误解的地方
- “触觉作为预测目标”只在 Stage 1 成立。Stage 3 起对比和重建目标都关掉了,z 只靠动作梯度维持。表示分析里的 92.3% 是 Stage 1 结束时测的;联合训练后只报告了敏感度比从 4.3 降到 1.4,没再测检索准确率。
- “隔离了触觉通路的贡献”是结构上的说法。§5.1 说关掉触觉开关模型就退化为基座,所以和“基座策略”的差就是触觉的贡献。但论文实际比较的是官方 π0.5 权重微调出来的基线,没有报告“同一 N₀ 预训练、关掉触觉”的闭环结果。
- NeoReal 面板的数字是进度分。图 1 右下 NeoReal 用 56.8 / 42.3 / 10.2,那是进度分,不是成功率(成功率是 47.2 / 29.4 / 0)。
- ALTER 的比较混入了数据量。SFT 只用干净示范(351 / 213 / 550 条),ALTER 用全部部署语料(总数约 2.3 / 3.3 / 2.8 倍)。π0.5 + χ0 同样用全部语料,才是控制了数据的对照。
FAQ
z 的“未来”有多远?
H = 50 步,和动作块长度相同。数据 30 fps,如果动作也按 30 Hz,大约 1.7 秒。目标是这段时间的净变化 tacτ+H − tacτ,不是整条轨迹,中间怎么变化的不在目标里。
free-latent 变体效果如何?
论文定义了它(单阶段、无 Stage 1 监督、训练时不需要未来帧),也在结论里把它和监督版称为“设计空间里的两个点”,但没有报告它的任何闭环结果。main.tex 里还定义了一个 N0-Concat 宏(按名字应是把触觉直接拼接的变体),正文从未使用。
和 π0.5 相比,推理多了多少开销?
论文没报告。结构上多了:每个触觉视图一次 DINOv2 前向(冻结)、预测器前向、动作专家序列里多 10 个 token。去噪仍是一次前缀编码 + 10 个 Euler 步。附录 B 明确说省略了硬件型号、卡数、显存和吞吐数字。
成对进度模型能看触觉吗?
不能。触觉、运动学和事件信号只用来构造离线标签(阶段切点、掉落事件),进度模型本身只输入两帧多相机 RGB 和任务提示。
局限与疑点
作者承认的,和我们读出来的
论文自己提到的
- free-latent 与监督版只是设计空间里的两个点,预测式潜变量这个框架值得超出当前预测器结构继续探索。
- ALTER 只在三个任务上验证,需要扩展到更多操作场景。
- 触觉传感器测的不是力,只是形变信号和力强相关(§6)。
- 差分只让表示对传感器位置差异“更稳健”,并非严格不变。
- limitations.tex 在源码里是空文件。
我们读出来的
- 疑点没有任何闭环消融:三阶段 vs free-latent、z vs 当前触觉 g、有无 NeoData 预训练,都没有成功率对比。“为什么预测”的论证只有检索准确率和一个回合的反事实图。
- 疑点π0.5 基线从官方权重微调,N₀-VTLA 多了 NeoData 视触觉预训练。两者的差距里,触觉通路和额外预训练数据的贡献分不开。
- 疑点NeoReal 每个任务的试验次数没写(“each task carries its own trial budget”),所有成功率都是 5 的倍数。
- 疑点图 5 的图注写“上图为 Simulation success rate”,但 NeoReal 是真机。
- 联合训练后触觉/视觉语言敏感度比从 4.3 降到 1.4,z 更依赖视觉语言上下文了;论文把这解读为“仍偏向触觉”。
- 检索是在约 32 个候选(相当于 batch 内负样本)里做的 top-1,不是全库检索,论文也注明了。
- 数据规模、算力、传感器规格都推给了配套报告,本文无法独立核对。
- 和同团队同日发布的 N₀-TWAM 用的是同一套基准和同一批基线数字,但两篇互不比较(见下节)。
放到专题里看
“预测式”触觉里最轻的一种
在力与触觉专题里,N₀-VTLA 站在 VLA 路线上,却已经把触觉当成要预测的量:预测的不是未来触觉图像,而是一个动作块内触觉净变化的潜在表示。
| N₀-VTLA | N₀-TWAM(同团队) | T-Rex | ME-Dex 1.0 | Tactile-VLA | |
|---|---|---|---|---|---|
| 骨干 | π0.5(PaliGemma) | LingBot-VA 视频世界动作模型(Wan2.2-5B 系) | Qwen3-VL-2B 三专家 MoT | Wan2.2-5B 结构的三专家 WAM | π0 |
| 触觉进哪里 | 预测器 → z → 动作专家后缀;不进前缀 | 触觉专家(生成未来触觉)+ 力空间交叉注意力(当前触觉) | 触觉专家做去噪最后一段 | 触觉专家,中层共享注意力 | VLM 前缀 |
| 预测什么 | H 步触觉净变化的 DINOv2 表示(只在 Stage 1 监督) | 未来触觉的 VAE 潜变量(残差形式) | 不预测 | 未来触觉潜变量 | 不预测 |
| UniVTAC | 83.1 | 84.5 | — | — | — |
| NeoSim | 50.8 | 49.4 | — | — | — |
- 和 N₀-TWAM:同一团队、同一天挂 arXiv,数据(NeoData)、基准(UniVTAC、NeoSim、NeoReal 的一部分)和基线数字(π0.5 等)完全相同,但两篇不互相比较。仿真上两者几乎打平(83.1 vs 84.5,50.8 vs 49.4)。真机上两篇共有的 6 个任务(Cup Stacking、Fruit Collection、Board Wiping、Bottle Standing、Socket Plugging、Bag Packing),π0.5 的数字也一模一样;N₀-VTLA 在这 6 个任务上的均值是 55.0,N₀-TWAM 是 52.5 解读。能否直接对比取决于两篇的试验设置是否一致,论文没说明。
- 和 T-Rex:论点正好相对。T-Rex 让当前触觉更高频地进入动作生成;N₀-VTLA 认为当前触觉“总慢一步”,改为预测。两篇都让触觉绕开主干的输入前缀。
- 和 Tactile-VLA:N₀-VTLA 把 Tactile-VLA 的做法(触觉当作前缀里的又一个相机)作为反面例子。
- 和 ME-Dex:都把触觉当成要预测的量。ME-Dex 在世界动作模型里真的生成未来触觉,推理时也要生成;N₀-VTLA 只预测一个压缩的潜变量,训练后期连这个预测目标都撤掉了。
术语表
读这篇会遇到的词
展开术语表
- VTLA
- Vision–Tactile–Language–Action,视觉-触觉-语言-动作模型。
- latent tactile tokens z
- 预测器输出的 10 个潜在触觉 token,目标是未来 H 步触觉净变化的编码 z*。
- g
- 当前触觉差分图(当前帧 − 回合起始帧)经冻结 DINOv2 + 投影得到的 token,每视图 10 个。
- contact-difference image
- 触觉帧减去零接触参照帧的差分图。
- free-latent
- 不加 Stage 1 监督、单阶段联合训练的简化变体,z 只由动作梯度塑造。
- InfoNCE
- 对比损失,把预测与自己的目标拉近,与 batch 内其他目标推远;这里是双向对称版本。
- NeoData / NeoReal / NeoSim
- 同团队的视触觉数据集、真机基准、仿真基准,细节在配套数据报告里。
- UniVTAC
- 公开的视触觉仿真框架和 8 任务基准。
- ALTER
- Advantage Labeling from Trajectory Events and Relative Progress,本文的离线 RL 方法。
- RECAP
- π*0.6 提出的优势条件化策略提取:给样本打二值优势标签,作为条件训练,部署时固定用正标签。
- χ0
- 用成对观测预测阶段相对进度的方法,ALTER 的进度模型结构沿用它;它按阶段均匀分配进度、用已过时间做目标。
- HIL
- human-in-the-loop,人在回路中接管纠正的部署回合。
- GEBD
- Generic Event Boundary Detection,通用事件边界检测,这里作为视觉切点线索。
- rot6d
- 旋转矩阵前两列组成的 6 维连续旋转表示。