为触觉而醒:MLLM 中的掩码隔离触觉对齐学习(Splash)
- 关联论文:2607.00302
- 作者:flyP
- 更新:2026-07-21
一句话结论
Splash 提出一种"掩码隔离"的参数子空间划分方法,把 MLLM 的预训练参数拆成"关键子空间"(冻结保护)和"休眠子空间"(用于学习触觉对齐),从而在不破坏原有视觉-语言能力的前提下,让紧凑型 MLLM 内化触觉模态,在 SSVTP/TVL/TacQuad 等视-触觉基准上达到 SOTA。
解决什么真问题
触觉是人类感知材料属性(摩擦、柔顺、粗糙、硬度等)不可替代的模态——视觉常常"看不出"一只杯子有多滑、一块布有多软。但把触觉塞进 MLLM 时,碰到一个绕不开的两难:
- 参数预算有限:消费级/边缘部署用的 MLLM 往往是 7B 量级以下的紧凑模型,新增一整个模态适配器或 LoRA 集合都"挤"。
- 零和博弈:让模型学触觉,视觉-语言原有能力往往会被稀释甚至灾难性遗忘(catastrophic forgetting),尤其在 LLM 部分全参数微调时最为严重。
直观做法有三种但都有缺陷:
- 全参数微调:效果好,但遗忘原能力。
- 加外挂 adapter/LoRA:新模态学得动,但推理时多一路分支,与"无推理开销"的紧凑部署诉求冲突。
- 蒸馏到大模型:依赖闭源教师,工程链路过重。
Splash 选择第四条路——不增参数、不改推理图,而是把现有参数重新切两半:一半锁定当锚点,一半用来学新模态。这条路本质是把"模态扩展"问题转成"参数重要性分解 + 子空间选择性更新"问题。
核心方法
Splash 的全称是 Mask-isolated tactile alignment learning("Splash" 不是缩写,是隐喻——把触觉信号像水花一样精准注入,不溅到别处)。整体框架分三步。
1. 量化每个预训练参数的重要性
对 MLLM 中需要保护的参数(一般指 LLM 主干 + 视觉投影器的关键权重),用一个 重要性打分函数 量化"如果我把这个参数改了,损失会涨多少"。直观形式:
s_i = |w_i * ∇_w_i L_calib|
即经典的 Fisher 信息 / 一阶 Taylor 展开近似(与 SNIP、Synaptic Flow 一脉相承)。w_i 是预训练权重,∇_w_i L_calib 是用一段校准数据(视觉-语言配对文本)计算出的梯度。得分越高 = 这个参数越"动不得"。
2. 把参数空间划成"关键 / 休眠"两个子空间
按得分排序后,取一个比例 ρ(论文在消融里扫过)作为阈值:
- 关键子空间(Critical Subspace):得分高于阈值的参数,冻结,充当锚点。
- 休眠子空间(Dormant Subspace):得分低于阈值的参数,进入"可训练掩码",是触觉对齐要更新的地方。
这一步输出一个与原参数同形状的二进制掩码 M,满足 M ⊙ θ_pretrained 即关键子空间,(1-M) ⊙ θ_pretrained 即休眠子空间。
3. 在休眠子空间内做触觉对齐学习
- 触觉编码器:外部独立模块,把触觉传感器(如 GelSight 类视触觉传感器)的时空信号编码成与视觉 token 同维度的 token 序列。
- 对齐目标:让触觉 token 经投影后能进入 LLM 的语义空间,与对应视觉/语言 token 共同支撑下游推理任务(如"这块布是丝绸还是棉?")。
- 训练时:只更新
M=0的休眠参数 + 触觉编码器 + 投影器,关键参数全程冻结。 - 推理时:掩码不再需要推理分支切换,LLM 端无任何额外开销——触觉信息已被"焊进"主干权重里。
伪代码骨架:
# 1. 校准阶段:算参数重要性
for batch in calib_loader: # 视觉-语言校准数据
loss = mllm(batch) # 标准 VLM 损失
loss.backward()
importance[i] = |theta[i] * theta.grad[i]|
# 2. 划子空间
threshold = quantile(importance, rho) # ρ 决定保留多少"关键"
M = (importance >= threshold).float() # 1 = 关键,0 = 休眠
# 3. 冻结关键子空间,对齐触觉
theta[M==1].requires_grad_(False)
for batch in tactile_loader:
tactile_emb = tactile_encoder(batch.tact)
loss_align = align_loss(mllm, batch.text, batch.vis, tactile_emb)
loss_align.backward()
optimizer.step() # 只动 M==0 的部分
关键实验与数据
论文在三个视-触觉基准上验证:
- SSVTP(Spatio-Spatial Visual-Tactile Perception)
- TVL(Tactile-Vision Language)
- TacQuad(触觉四选一 / 区分任务)
并强调一个隐性指标:通用能力不下降——即触觉涨分的同时,原始 VQA、图像描述、OCR 类任务不退化。
原文摘要给出三点硬结论:
- Splash 在 SSVTP / TVL / TacQuad 上达到 SOTA。
- LLM 端零推理开销(因为没有 adapter 分支)。
- 保留通用能力(无灾难性遗忘)。
具体数值与表格未在 abstract 中给出,需读正文/附录才能拿到——本文解读中所有分数仅指"达到 SOTA"这一结论本身,具体百分点标注为「原文未明确」。
亮点与局限
亮点
- 思路新:不堆 adapter、不换架构,把"加模态"变成"参数重切片",思路简洁。
- 部署友好:推理时 LLM 主干与原模型 100% 一致,触觉信息已内化在权重里——适合边缘/机器人本体实时控制。
- 兼顾遗忘:通过 Fisher/Taylor 重要性打分识别关键参数,避免凭经验"哪些层冻、哪些层动"的拍脑袋。
- 可推广:方法论不限于触觉,凡是"想给 MLLM 加一种新传感器模态"的场景(声学、深度、IMU 等)都适用。
局限
- 依赖校准数据质量:重要性打分需要一段代表性的视觉-语言校准数据,分布偏移大时打分可能失真。
- ρ 阈值的鲁棒性:保留多少参数进"关键"是超参,需在不同模型规模上扫,论文未在 abstract 披露经验值。
- 触觉编码器仍是外挂:训练时仍要更新触觉编码器,部署时这一段仍要算——并未做到"完全零参数增加"。
- 稀疏性 ≠ 真正独立:把休眠子空间视作与关键子空间"互不干扰"是一种理想化假设,参数间的二阶耦合未必真为零。
- 具体数据缺位:摘要级信息无法支撑论文级别的方法对比,定量评判需读全文。
对工程落地的启发
- 边缘机器人:在 7B 以下 MLLM 上加触觉,推理图不用改,机器人主控芯片可以继续用现有 LLM 推理栈。
- 多模态扩展配方:当要给已上线模型加新模态,先做参数重要性分解比直接加 adapter 更稳,可作为团队 SOP。
- 工业质检 / 医疗触诊:触觉对齐后可让 MLLM 用自然语言解释"这块材料触感更接近 X 还是 Y",与人协作更自然。
- 可组合性:休眠子空间是否能在不同触觉传感器间"换插拔"是值得探索的方向——若能,则 Splash 范式可演化成"触觉即插件"。
与同方向工作的关系
- MAS / LoRA 系列(如 LLaVA-Plus、Mini-Gemini 的 adapter 路线):Splash 的不同在于不引入推理分支。
- 参数重要性 / 稀疏微调(如 SNIP、Synaptic Flow、LT-SFT):Splash 是这套思想在多模态模态扩展场景的具体化。
- 触觉-视觉融合(如 TVL 基准、UniTouch、AnyTouch):Splash 提供了一个新的对齐范式,特别强调"不破坏既有能力"。
- 持续学习防遗忘(EWC、PackNet):Splash 的子空间划分与 PackNet 的"剪枝-冻结-复用"思路相近,但应用目标换成"模态扩展"而非任务增量。
适合谁读
- 在做多模态 MLLM 落地、要给模型加传感模态(触觉/声学/IMU)的工程团队。
- 研究参数高效微调 / 子空间学习的算法研究者。
- 做机器人 / 边缘 AI且关心推理图稳定性的架构师。
- 对持续学习与抗遗忘感兴趣的多模态学习方向学生。
实验设置补充(基于摘要可推断的部分)
虽然具体数字需查正文表格,但摘要已给出实验协议的几个关键约束,值得提前理解:
- 校准集选择:参数重要性打分依赖一段代表性的视觉-语言数据。摘要没有说明校准集大小与构造方式,但从 SOTA 在 SSVTP/TVL/TacQuad 上的表现看,校准集应当包含与下游任务相近分布的图文样本——这点和 LoRA 选学习率、SNIP 选剪枝率一样,属于"经验超参"。
- 三个基准的差异化定位:
- SSVTP 偏重"视觉与触觉在空间中的对齐"——考验模型能否把"摸到左边鼓包"和"看到左边鼓包"对应起来。
- TVL 偏重"用语言描述触觉属性"——考验把触觉翻译成语义。
- TacQuad 偏重"四选一区分"——考验触觉感知在分类任务中的分辨力。
三者组合可以同时检验"对齐-语义-判别"三个能力维度。 - "LLM 端零推理开销"的工程意义:很多 VLA / 多模态机器人系统的瓶颈在 LLM 推理时延与显存。Splash 把触觉完全焊进 LLM 权重,意味着触觉信息不增加 KV cache、不增加 prefill 时间,对实时性敏感的场景(机器人闭环控制 ≤ 50ms)非常关键。 - 保留通用能力的验证方法:标准做法是在 MLLM 通用基准(如 MMBench、MMStar、ScienceQA 等)上做退化测试,摘要只承诺"preserves its original general-purpose capabilities",但没有给出具体退化幅度,这一项需要查正文表格才能严谨比较。
一个延伸的思考:Splash 范式能否迁移到 RAG?
直觉上"参数子空间切两半"的思想可以迁移到检索增强生成(RAG) 场景:
- 把 LLM 中与"内部知识"相关的参数划为关键子空间(冻结),
- 把与"如何融合检索证据"相关的参数划为休眠子空间(专门训练),
- 这样在引入新检索器/新语料时不会污染模型既有推理能力。
这条路径目前还没有公开工作系统验证,但与 Splash 的"模态扩展"逻辑同构,是一个值得跟进的潜在方向。
一段简短的批判性结尾
Splash 的卖点是"零推理开销 + 防遗忘",这两点都极有工程价值。但论文摘要没有披露任何 ablation 来回答下面三个问题:
- 休眠子空间占比 ρ 的敏感度——ρ 选 30% 还是 70% 会带来多大差异?
- 触觉编码器大小对最终对齐效果的影响——是不是触觉编码器越大,休眠子空间反而可以越小?
- 跨触觉传感器的迁移性——在 GelSight 上训练,能否直接迁移到 DIGIT 或自制视触觉传感器?
这些问题都会决定 Splash 范式是"一个精妙的特例"还是"一类新方法的种子"。读全文时建议优先查消融章节。
解读日期:2026-07-21。素材来源:paper_card 337-2607-00302.md(research-kb),arxiv.org/abs/2607.00302 摘要。未读 PDF/附录,具体 SOTA 分数与消融数据原文未明确。
工程落地与核查(Jay)
一、事实核查
| 核查项 | 解读原文表述 | 存疑程度 | 说明 |
|---|---|---|---|
| "SOTA" 有无具体数字支撑 | "在 SSVTP / TVL / TacQuad 上达到 SOTA" | ⚠️ 存疑 | 摘要正文未给出任何具体数值(SOTA 相对第二名高出多少 pts),"SOTA" 仅为定性结论,无定量支撑 |
| Fisher 公式准确性 | s_i = \|w_i * ∇_w_i L_calib\| |
✅ 基本准确 | 这是 Fisher 信息的一阶 Taylor 近似($I_i \approx w_i^2 \cdot (\nabla_{w_i} \mathcal{L})^2$),形式上取绝对值是 SNIP/Synaptic Flow 的标准做法;实际实现中常取 $|w_i \cdot \nabla_{w_i} L|$ 而非带绝对值 |
| "触觉编码器仍是外挂" 是否准确 | 局限中提及"触觉编码器仍是外挂" | ✅ 准确 | 原文方法描述中触觉编码器为独立模块,与 LLM 端"零推理开销"声明并不矛盾——LLM 端无额外分支,但触觉编码器本身仍需推理 |
| "无灾难性遗忘" 有无量化 | 亮点中称"保留通用能力,无灾难性遗忘" | ⚠️ 存疑 | 摘要未给出 MMBench / ScienceQA 等通用基准的退化幅度,仅为定性声明 |
小结:最需注意的是 "SOTA" 与 "无遗忘" 两条均为结论性断言,无具体数字支撑,工程引用时应注明"据摘要,未提供定量比较"。
二、可读性精修建议
- 伪代码注释修正:第 3 步训练循环中
optimizer.step()实际应显式配合mask做梯度截断(grad[M==1] = 0),而非仅靠requires_grad_(False)期望 Python 自动屏蔽——实现中常需optimizer.zero_grad()后手动grad *= (1-M)确保关键子空间零更新。 - 术语一致性:全文"休眠子空间"(Dormant Subspace)与"关键子空间"(Critical Subspace)译法清晰,但"校准数据"对应原文 "calibration data",建议首次出现时加注英文,便于读者对照原文。
- 逻辑连接:第 2 节"划分子空间"到第 3 节"触觉对齐学习"之间的过渡略显跳跃——建议在第 3 节开头加一句"掩码 M 确定后,训练目标变为在约束 $(1-M) \odot \theta$ 上的标准多模态对齐损失",让动机更显式。
三、工程落地
3.1 部署架构
[触觉传感器] → [触觉编码器] → [投影层] ─┐
▼
[视觉/语言输入] → [冻结 MLLM] → [输出]
- 推理时延:触觉编码器为额外计算路径,建议用轻量 3–5 层 1D-CNN 或小型 Transformer(参数量 1–10 M),延迟预算约 5–15 ms(取决于传感器采样率)。
- LLM 端确实零额外开销——无 adapter、无 LoRA 路由,KV Cache 体积与原模型完全一致,适合机器人主控芯片(NVIDIA Jetson Orin、NVIDIA Thor)上的实时控制场景(目标 ≤ 50 ms 端到端)。
- 存储:仅需存储触觉编码器权重 + 投影层 + 掩码 M(二值,省存储),增量约 10–50 MB。
3.2 硬件选型建议
| 场景 | 推荐触觉传感器 | 说明 |
|---|---|---|
| 实验室复现 | GelSight Mini / DIGIT | 公开资料多,接口成熟 |
| 边缘部署 | 国产视触觉传感器(如 SynSense 视触觉皮肤、帕西尼感知 PX-3) | 低功耗,MIPI CSI 接口直接连入 Jetson |
| 工业高温/油污 | 电阻式/电容式阵列触觉(非视触觉) | 需额外设计投影层适配 |
3.3 Fisher 信息计算的算力开销
- 校准阶段:需在冻结 MLLM 上跑一次完整前向+反向,消耗约等于 1 个 epoch 的微调算力;对于 7B 模型,建议使用 128–512 条视觉-语言配对样本(batch_size 8–32),单卡 A100 约 5–15 分钟。
- 注意:校准数据分布直接影响重要性打分——若校准集与下游任务分布偏移大,Fisher 打分会产生误导。建议校准集至少覆盖下游任务的主要语义类别。
3.4 常见坑与失败模式
| 失败模式 | 原因 | 解法 |
|---|---|---|
| 触觉任务涨分但通用能力大幅退化 | 校准数据太少/分布窄,Fisher 打分失真,关键子空间里混入了与触觉任务冲突的参数 | 增加校准集多样性与规模,或在训练中定期做"关键子空间检查"(在通用基准上验证) |
| 触觉对齐后 LLM 端出现数值不稳定 | 休眠子空间参数更新幅度过大,冲掉了关键子空间锚点附近的局部极小值 | 使用较小的学习率(建议 LoRA 级别,如 1e-4 ~ 5e-4),或引入权重衰减 |
| 推理时触觉信息完全不生效 | 触觉编码器与投影层没有对齐到 LLM 表征空间 | 训练初期检查 tactile_emb 与 vis_emb 的余弦相似度,应 > 0.3 才说明对齐方向正确 |
| 跨传感器迁移失败 | 触觉编码器过拟合特定传感器噪声分布 | 在 Stage 1 用多传感器数据做数据增强,或在编码器输入加 sensor-agnostic 归一化层 |
3.5 可操作性建议
- 冷启动流程:先在公开视触觉数据集(如 SSP-3D、Touch-and-Go)上验证 Fisher 掩码划分有效性,再迁移到自研传感器。
- ρ 阈值选择:建议从 ρ=0.7(即保留 70% 关键参数)起步,向上向下各扫两点(0.6 / 0.8),用下游触觉任务验证集选最优。
- AB 测试:上线前对比 Splash 加触觉 vs. 纯视觉基线在 contact-rich 任务上的成功率,建议每任务至少 30 次 trials。
- 监控指标:除了任务成功率,建议监控 LLM 端原始 VQA 准确率(每 100 steps 抽检一次),及时发现遗忘漂移。