跳转至

Fighting Hallucinations with Counterfactuals: Diffusion-Guided Perturbations for LVLM Hallucination Suppression

会议: CVPR 2026
arXiv: 2603.10470
代码: 项目页面
领域: 多模态VLM / 幻觉抑制
关键词: LVLM hallucination, counterfactual image, diffusion model, feature projection, SVD, training-free

一句话总结

提出 CIPHER,一种免训练的 test-time 幻觉抑制方法——通过扩散模型生成语义篡改但结构保持的反事实图像,将其与原图在 LVLM 隐层中的表示差异做 SVD 分解提取幻觉子空间,推理时将隐状态投影到该子空间的正交补空间,首次从视觉模态入手定位和消除 LVLM 幻觉。

研究背景与动机

领域现状:大型视觉语言模型(LVLM)如 LLaVA、MiniGPT-4、mPLUG-Owl2 等在多模态任务上表现强大,但频繁产生幻觉——生成与视觉输入不一致的描述(如凭空添加不存在的物体、错误描述属性或场景)。

现有痛点:(1) 训练式方法(如额外监督信号、架构修改)需要昂贵标注和重训练,可扩展性差;(2) 后处理方法(如 Woodpecker、LURE)依赖外部模型检测和修正,增加系统复杂度且泛化受限;(3) 对比解码类 test-time 方法(如 DoLa、VCD、OPERA)需多次前向传播,推理开销高(吞吐量降至 0.05-0.42 items/s,远低于贪心解码的 0.70);(4) 现有特征级干预方法(如 Nullu)仅通过扰动文本来提取幻觉方向,忽略了视觉模态本身引起的幻觉。

核心矛盾:LVLM 的幻觉不仅来自语言模型的生成偏好(文本诱导),还来自弱视觉接地和模态错位(视觉诱导),但现有方法几乎只处理前者——文本扰动产生的幻觉信号更弱、更不稳定(线性探针精度仅 0.73-0.80),而视觉诱导的幻觉方向更结构化、更容易分离。

本文目标:专门识别和抑制由视觉模态引起的幻觉方向,以高效、免训练的方式实现更彻底的幻觉抑制。

切入角度:与其扰动文本来找幻觉方向(如 Nullu),不如扰动图像——用扩散模型生成语义改变但结构保持的反事实图像,再将原始和反事实图像在 LVLM 中的表示差异作为幻觉方向。

核心 idea:通过"让图像撒谎"(扩散编辑产生反事实图像)来定位 LVLM 中视觉幻觉的特征方向,推理时做正交投影消除。

方法详解

整体框架

CIPHER 分两阶段工作:(1) 离线阶段——构建 OHC-25K 反事实数据集,通过 SVD 分解提取各层的幻觉子空间基底库;(2) 推理阶段——在每步解码时将隐状态投影到幻觉子空间的正交补空间。整个过程无需修改模型参数、无需额外训练、无额外前向传播。

关键设计

  1. OHC-25K 反事实数据集构建

    • 功能:产生"视觉内容错误但结构保持"的图像,用于精确定位视觉诱导的幻觉方向
    • 核心思路:从 MSCOCO 训练集选取 \(M=5000\) 个图文对 \(\{(\boldsymbol{I}_i, \mathcal{C}_i)\}\),用 GPT-3.5 扰动 caption 产生幻觉版 \(\tilde{\mathcal{C}}_i\)(注入看似合理但不存在的物体)。对原图经 VAE 编码为潜变量 \(\boldsymbol{z}_0 = \mathcal{E}(\boldsymbol{I}_i)\),做部分正向扩散 \(\tilde{\boldsymbol{z}}_{t_h} = \sqrt{\bar{\alpha}_{t_h}}\boldsymbol{z}_0 + \sqrt{1-\bar{\alpha}_{t_h}}\boldsymbol{\epsilon}\)\(t_h = 0.5T\) 步,再以幻觉 caption 为条件做逆扩散 \(\tilde{\boldsymbol{z}}_{t-1} = f_\theta(\tilde{\boldsymbol{z}}_t, t, \tilde{\mathcal{C}}_i)\)。每张图生成 \(B=5\) 个变体,反事实图像配原始 caption 构成 25K 对
    • 设计动机:中间步骤(\(0.5T\))的扩散保留了全局结构但注入了语义不一致元素,精确模拟了"视觉幻觉"——看起来合理但事实上错误的视觉内容
  2. 幻觉子空间估计(SVD 分解)

    • 功能:从大量样本的表示差异中提取幻觉的主方向
    • 核心思路:对每个样本 \(i\),在 LVLM 第 \(\ell\) 层提取原始对和反事实对的 caption token 平均隐状态 \(\boldsymbol{h}_\ell^{(i)}\)\(\tilde{\boldsymbol{h}}_\ell^{(i)} = \frac{1}{B}\sum_{j=1}^{B}\tilde{\boldsymbol{h}}_\ell^{(i,j)}\),计算差异 \(\boldsymbol{\delta}_\ell^{(i)} = \tilde{\boldsymbol{h}}_\ell^{(i)} - \boldsymbol{h}_\ell^{(i)}\)。将所有差异堆叠为矩阵 \(\boldsymbol{\Delta}_\ell \in \mathbb{R}^{M \times d}\),做 SVD 分解 \(\boldsymbol{\Delta}_\ell = \boldsymbol{U}_\ell \boldsymbol{\Sigma}_\ell \boldsymbol{V}_\ell^\top\),取前 \(r\) 个右奇异向量 \(\boldsymbol{V}_{\ell,r} = [\boldsymbol{v}_{\ell,1}, \ldots, \boldsymbol{v}_{\ell,r}]\) 构成幻觉基底库
    • 设计动机:大量样本的视觉幻觉特征差异存在系统性低秩结构——SVD 能高效提取主方向,线性探针实验验证了视觉扰动在所有层产生高度可分离的表示偏移(精度 0.86-0.89)
  3. 推理时幻觉消除(正交投影)

    • 功能:每步解码实时抑制幻觉方向分量,不损害核心语义
    • 核心思路:在每个解码步 \(k\) 的选定层 \(\ell\),对测试隐状态做投影:\(\boldsymbol{h}_{\ell,k}^{\text{clean}} = \boldsymbol{P}_\ell \boldsymbol{h}_{\ell,k}^{\text{test}}\),其中 \(\boldsymbol{P}_\ell = \boldsymbol{I} - \boldsymbol{V}_{\ell,r}\boldsymbol{V}_{\ell,r}^\top\)。投影操作只需一次矩阵乘法,无额外前向传播
    • 设计动机:投影到正交补空间等价于移除与幻觉方向对齐的分量,而保留其余信息——数学上保证了最小侵入性干预

损失函数 / 训练策略

CIPHER 完全无需训练。离线阶段仅需一次 SVD 分解(计算成本很低),推理时的投影操作为常数时间复杂度。关键超参数:\(r=8\)(LLaVA-1.5)、\(r=64\)(MiniGPT-4)、\(r=32\)(mPLUG-Owl2),通过网格搜索选定;投影应用于上层(16-32 层);扩散使用 Stable Diffusion v1.5,guidance scale 7.5,\(t_h = 0.5T\)

实验关键数据

主实验(CHAIR 基准 — 物体幻觉率)

方法 LLaVA-1.5 CHAIR_S↓ LLaVA-1.5 CHAIR_I↓ LLaVA-1.5 BLEU↑ MiniGPT-4 CHAIR_S↓ mPLUG-Owl2 CHAIR_S↓
Greedy 20.40 7.08 15.72 32.40 22.90
DoLa (ICLR'24) 20.20 6.75 15.68 31.90 22.40
OPERA (CVPR'24) 17.50 6.07 16.02 29.70 20.07
VCD (CVPR'24) 20.30 7.28 14.53 29.00 22.80
Woodpecker (SCIS'24) 23.85 7.50 17.05 28.87 26.33
HALC (ICML'24) 16.90 5.72 16.02 25.20 18.80
Nullu (CVPR'25) 15.20 5.30 15.69 21.40 15.60
CIPHER (本文) 13.05 4.53 15.82 18.48 13.60

消融实验

幻觉来源消融(LLaVA-1.5):

文本幻觉 图像幻觉 CHAIR_S↓ CHAIR_I↓ BLEU↑
15.20 5.30 15.69
13.05 4.53 15.82
15.71 5.32 15.66

推理效率对比(LLaVA-7B,NVIDIA A6000):

方法 CHAIR_S↓(%) 吞吐量↑(items/s)
Greedy 20.40 0.70
OPERA 17.50 0.10
HALC 16.90 0.05
Nullu 15.20 0.70
CIPHER 13.05 0.70

关键发现

  • 视觉扰动比文本扰动能提取更强、更一致的幻觉方向——线性探针在所有层精度 0.86-0.89 vs 0.73-0.80
  • 扩散步长 \(t_h = 0.5T\) 效果最佳:过少(\(0.25T\))语义改动不足,过多(\(T\))结构完全破坏
  • 子空间秩 \(r=8\) 对 LLaVA-7B 最优,同时最小化 CHAIR 和最大化 BLEU
  • 单独用图像幻觉子空间优于混合(文本+图像)子空间(CHAIR_S 13.05 vs 15.71)
  • CIPHER 在所有高斯噪声级别下都优于原始模型,噪声越大优势越明显
  • MMHal 基准上 8 类幻觉均获提升,属性、环境、整体和对抗性类别提升最大
  • LLaVA-Bench 上 CIPHER 不仅减少幻觉,还提升回答准确性(6.79→7.08)和详细度(6.33→6.75)

亮点与洞察

  • 视角根本创新:首次从视觉模态入手定位幻觉方向,线性探针严格证明视觉幻觉方向比文本幻觉方向更结构化、更稳定——这为理解 LVLM 幻觉机制提供了新视角
  • 优雅的三步范式:制造幻觉(扩散反事实)→ 提取方向(SVD)→ 消除幻觉(正交投影),将复杂问题转化为简洁的线性代数操作
  • 零额外推理开销:与贪心解码相同吞吐量,远超 OPERA(7x 慢)和 HALC(14x 慢)
  • 与 Nullu 的互补性:CIPHER 处理视觉诱导幻觉,Nullu 处理文本诱导幻觉,但简单混合反而变差——暗示两者的交互需要更深入的研究

局限与展望

  • 使用固定的离线投影矩阵,无法根据具体输入图像自适应调整——不同图像类型的幻觉方向可能不同
  • 子空间秩 \(r\) 在不同模型间差异巨大(8/64/32),缺乏自动选择机制
  • 离线阶段依赖 Stable Diffusion v1.5 和 GPT-3.5,构建成本不可忽略
  • 文本+视觉联合子空间反而性能下降,说明对两类幻觉方向的交互关系理解不够深入
  • 主要在物体幻觉基准评估,对更细粒度的属性/关系幻觉覆盖有限

相关工作与启发

  • Nullu (CVPR'25):文本扰动提取幻觉方向的先驱,CIPHER 是其视觉对偶版本。实验直接对比证明视觉版本更优
  • VCD (CVPR'24):对比解码需额外前向传播,推理 2x 慢
  • OPERA (CVPR'24):注意力模式干预策略,吞吐量仅 0.10 items/s
  • 表征工程:CIPHER 本质是 activation steering / representation engineering 在多模态幻觉问题的成功应用,展示了"找方向→投影消除"这一通用范式的可扩展性

评分

  • 新颖性: ⭐⭐⭐⭐⭐(首次从视觉模态定位幻觉方向,视角独特且效果显著优于文本途径)
  • 实验充分度: ⭐⭐⭐⭐⭐(CHAIR/OPOPE/MMHal/LLaVA-Bench 四类基准,三个模型,丰富消融)
  • 写作质量: ⭐⭐⭐⭐(流程清晰,图表直观,公式推导完整)
  • 价值: ⭐⭐⭐⭐(零开销的幻觉抑制方法有很强实用价值,但固定投影的自适应性不足是瓶颈)

相关论文