Locate-then-Sparsify: Attribution Guided Sparse Strategy for Visual Hallucination Mitigation¶
会议: CVPR 2026
arXiv: 2603.16284
代码: https://github.com/huttersadan/LTS-FS
领域: 多模态VLM
关键词: 视觉幻觉, 特征引导, 层级归因, 稀疏调整, LVLM
一句话总结¶
提出 LTS-FS(Locate-Then-Sparsify for Feature Steering)框架,通过因果干预归因方法定位幻觉相关层,并根据归因分数逐层稀疏地控制特征引导强度,在有效缓解 LVLM 幻觉的同时保持模型泛化能力。
研究背景与动机¶
- 领域现状:大视觉语言模型(LVLM)虽然在多模态任务上表现出色,但仍存在严重的幻觉问题——生成流畅但与视觉内容不符的描述。现有缓解方法可分为:微调方法(成本高、损害泛化)、解码增强方法(推理开销大)和特征引导方法(修改中间层特征)。
- 现有痛点:特征引导方法(如 Nullu、VTI)对所有层施加相同强度的引导,忽略了层间差异——有些层与幻觉高度相关,有些层则负责通用表征。均匀引导会扰动与幻觉无关的层,破坏原始特征分布,导致泛化能力下降。
- 核心矛盾:幻觉缓解和泛化能力保持之间的 trade-off——过强引导减少幻觉但损害通用能力,过弱引导则效果不足。
- 本文要解决什么:如何精准定位幻觉相关层并差异化地施加引导,只在"该调"的地方调?
- 切入角度:借鉴参数定位技术,通过因果干预量化每层对幻觉输出的贡献,得到层级归因分数。
- 核心 idea:先定位(Locate)幻觉相关层,再稀疏化(Sparsify)引导强度——高分层强调整、低分层不调整。
方法详解¶
整体框架¶
三阶段流程:(1) 构建双粒度幻觉数据集 → (2) 基于因果干预的层级归因 → (3) 按归因分数逐层稀疏地控制特征引导强度。该框架解耦于具体引导方法,可无缝集成 Nullu、VTI 等已有方法。
关键设计¶
- 双粒度幻觉数据集构建:
- 做什么:构建 token 级和句子级两种粒度的幻觉样本
- 核心思路:token 级样本来自 POPE 和 Antidote 等基准的 yes/no 问答,幻觉 token 可通过规则识别;句子级样本来自 CHAIR 基准的多句描述,通过拆分并检测含幻觉 token 的句子标记为幻觉句
-
设计动机:短回答的幻觉体现在个别 token,长回答的幻觉则蔓延到整句,需要分粒度处理
-
基于因果干预的层级归因:
- 做什么:量化每层对幻觉输出的贡献度
- 核心思路:在第 \(l\) 层逐头 mask 注意力输出,观察幻觉 token logits 的变化。token 级归因分数 \(s_{tok}^l = \sum_{h=1}^H \log \frac{P(y|\mathbf{h}_{l-1}, \mathbf{a}_l)}{P(y|\mathbf{h}_{l-1}, \mathbf{a}_l \odot M^h)}\)
- 句子级归因:通过三个指标(cue indicator、position indicator、hallucination indicator)加权聚合 token 级分数,后部 token 和含幻觉 token 获得更高权重
-
设计动机:直接干预比梯度分析更准确地衡量层的因果贡献
-
逐层稀疏特征引导:
- 做什么:将归因分数转化为层级引导强度
- 核心思路:硬稀疏化 + 软加权。极低归因分数层通过阈值 \(\tau = r_s \cdot \frac{1}{L}\sum s^l\) 过滤不引导;高分层按归一化分数 \(\tilde{s}^l\) 缩放引导强度 \(\lambda_l = \lambda \cdot m_l + \lambda \cdot \tilde{s}_l\)
- 设计动机:低分层引导收益小但泛化损害大,应排除;高分层差异化引导实现精准调控
损失函数 / 训练策略¶
- 仅需 100 句子级 + 100 token 级幻觉样本用于归因计算
- 归因完成后策略固定,无需针对测试集修改
- 推理时无额外开销,与原始模型推理速度一致
实验关键数据¶
主实验(CHAIR 指标,越低越好)¶
| 模型 | 方法 | CS↓ | CI↓ | Recall | Len |
|---|---|---|---|---|---|
| LLaVA-1.5-7B | Regular | 53.0 | 13.9 | 77.2 | 98.0 |
| LLaVA-1.5-7B | Nullu | 50.2 | 13.7 | 76.9 | 93.3 |
| LLaVA-1.5-7B | LTS-FS(Nullu) | 46.8 | 13.5 | 76.6 | 93.2 |
| LLaVA-1.5-7B | VTI | 47.4 | 13.9 | 76.2 | 88.9 |
| LLaVA-1.5-7B | LTS-FS(VTI) | 35.8 | 11.9 | 75.4 | 82.2 |
| Qwen-VL2.5-7B | LTS-FS(Nullu) | 23.8 | 6.0 | 60.8 | 120.6 |
泛化能力(POPE 准确率 / MMMU 等)¶
| 指标 | Nullu | LTS-FS(Nullu) | 说明 |
|---|---|---|---|
| POPE-popular Acc | 基线 | +2% | Qwen-VL-2.5-7B |
| LLaVA-Bench detailness | 4.72 | 4.92 | 泛化能力更好 |
| MMMU | 下降 | 保持/提升 | 通用能力不受损 |
亮点¶
- 首次在幻觉缓解中引入层级稀疏引导思想,解耦于具体引导方法具有通用性
- 因果干预归因方法简洁有效,仅需 200 个校准样本即可完成层级归因
- 框架 plug-and-play,可直接增强 Nullu、VTI 等已有方法的效果
- 在缓解幻觉的同时显著保持甚至提升泛化能力(LLaVA-Bench detailness 4.72→4.92)
- LTS-FS(VTI) 在 LLaVA-1.5-7B 上将 CHAIR-S 从 47.4 降至 35.8,降幅达 24.5%
局限性 / 可改进方向¶
- 归因计算需要对每层逐头干预,大模型(>13B)上的归因开销较大且需要 GPU 显存
- 双粒度数据集的构建依赖已有幻觉基准(POPE、CHAIR、Antidote),域外场景的适用性需验证
- 当前仅在 LLaVA 和 Qwen-VL 系列上验证,更多架构(如 InternVL、Gemma)的适配性值得探索
- 可考虑将归因粒度细化到注意力头或神经元级别,实现更精细的引导控制
- 归因分数在不同任务(问答 vs 描述)间可能不一致,当前分别使用 token/句子级分数的策略较粗
- 阈值参数 \(r_s\) 的最优选择可能因模型和任务而异
- 与解码增强方法(如 VCD)的组合效果值得进一步探索
- 长文本生成场景下句子级归因的计算效率有待优化
其他模型结果¶
- 在 LLaVA-1.5-13B 上同样有效:CS 从 40.8 降至 35.7(LTS-FS+Nullu),32.0(LTS-FS+VTI)
- 在 Qwen-VL2.5-7B 上 CHAIR-CI 从 7.4 降至 6.0,幻觉详细描述减少约 19%