Skip to content

LURE:基于统计分析的 LVLM 幻觉后处理修正器

论文Analyzing and Mitigating Object Hallucination in Large Vision-Language Models

作者:Yiyang Zhou*, Chenhang Cui*, Jaehong Yoon, Linjun Zhang, Zhun Deng, Chelsea Finn, Mohit Bansal, Huaxiu Yao

机构:UNC-Chapel Hill、Rutgers University、Columbia University、Stanford University

发布时间:2023年10月(arXiv),ICLR 2024 录用

arXiv | 代码

分类标签LVLM Hallucination Post-hoc Revision Statistical Analysis Co-occurrence Uncertainty Object Position


一句话总结

通过严格的统计分析揭示对象幻觉的三大根因——共现偏差、对象不确定性、位置效应,据此用 GPT-3.5 构造针对性幻觉数据训练一个轻量级后处理修正器(Revisor),推理时接收 LVLM 的潜在幻觉描述并输出校正版本,可无缝兼容任意 LVLM,6 个模型上 CHAIR 指标大幅优于所有基线。


一、问题与动机

1.1 对象幻觉的普遍性

LVLM 在生成图像描述时经常出现对象幻觉——生成图像中不存在的物体。这一问题在长文本描述中尤为严重,会误导机器人控制、医学影像、人机交互等下游应用。

1.2 现有方法的不足

方法类别代表工作局限
高质量数据微调LLaVA-RLHF, M3IT获取大量高质量样本耗时费力,需要人工标注
小模型迁移细粒度对齐、数据增强VLM 与 LVLM 的自回归架构差异使得方法难以迁移
对比解码VCD, DOLA仅在解码策略层面缓解,未触及幻觉的根因

1.3 核心洞察

论文提出一个关键问题:为什么 LVLM 会产生对象幻觉? 通过系统的统计分析,作者识别出三个关键因素,并据此设计了针对性的修正策略。


二、幻觉的三大根因:统计分析

2.1 共现偏差(Co-occurrence)

训练数据中某些物体频繁共同出现,导致模型学习到虚假关联。例如 "grass" 和 "sky" 在训练集中高频共现,模型在只看到 "grass" 时仍倾向生成 "sky"。

Co-occurrence Score (CoScore) 量化共现程度:

CoScores=i=1nhj=1os,jos,inr+nh|S(os,i)S(os,j)||S(os,i)|+|S(os,j)|

其中 S() 是提及某物体的所有描述的集合,nhnr 分别为幻觉和非幻觉对象数量。

统计发现:幻觉描述的 CoScore 显著高于非幻觉描述(Figure 1a),证实共现偏差是幻觉的重要诱因。

2.2 对象不确定性(Uncertainty)

解码过程中,高不确定性的对象更容易是幻觉。用负对数似然量化不确定性:

UnScores,i=logp(os,i|s<i,x)

统计发现:幻觉对象集中在高不确定性区域,非幻觉对象多分布在低不确定性区域(Figure 1b)。直觉上,如果模型对某个物体的预测信心不足,该物体更可能是编造的。

2.3 位置效应(Object Position)

幻觉对象更倾向出现在描述的后半部分。用归一化位置指标量化:

PoScores,i=Index(os,i)Ns

统计发现:幻觉对象的高密度区域集中在序列尾部(Figure 1c)。原因在于自回归生成的误差累积:前期模型紧跟视觉语义,后期前文幻觉信息和不确定性持续积累,将模型引偏。

2.4 理论支撑

论文在简化的线性模型假设下给出了形式化证明:

  • Theorem 2.1:降低训练数据中的共现比例 ρ 可以减小测试分类误差,即 Err(f^2(2))Err(f^2(1))
  • Theorem 2.2:优先选择低不确定性样本训练可降低平均误差

这为后续数据构造策略提供了理论基础。


三、核心方法:LURE

LURE 的核心思路受启发于去噪自编码器(Denoising Autoencoder):训练一个修正器,输入可能含幻觉的描述,输出校正后的准确描述。

3.1 训练阶段:构造幻觉数据集

针对每张训练图像的正确描述,通过两种修改构造对应的幻觉版本:

(1)引入共现物体。 利用 GPT-3.5 推理出场景中最可能共现但实际不存在的物体,并将其插入正确描述。这让修正器学会识别和剥离虚假共现关联。

(2)标记高不确定性/晚出现的物体。 将不确定性超过阈值 γ 的对象和出现在描述后部(Index(zi)ηLength(s))的对象替换为占位符标签 [IDK],强制修正器重新评估这些可疑对象——要么替换为正确物体,要么直接删除。

训练流程(Algorithm 1)

  1. 用 GPT-3.5 基于正确描述 + 共现物体列表 + 不确定物体列表生成初始幻觉描述集 Hold
  2. 对每张图像 x 和对应幻觉描述 h,用 LVLM 生成描述获取对象不确定性
  3. h 中不确定性 γ 或位置 ηLength(h) 的对象,替换为 [IDK],得到 Hnew
  4. 用自回归损失 L(Rθ(Hnew),Y) 微调修正器 Rθ

3.2 推理阶段:后处理修正

推理流程(Algorithm 2)

  1. 用目标 LVLM M 生成描述 st=M(xt)
  2. st 中不确定性 γ 或位置 ηLength(st) 的对象替换为 [IDK]
  3. 将处理后的描述输入修正器 Rθ,输出校正描述

直觉[IDK] 标签的设计非常巧妙——它不是简单删除可疑物体,而是给修正器一个"重新审视"的信号。修正器在看到 [IDK] 时会结合图像信息决定:是用正确物体替换,还是整段移除。这比直接删除保留了更多纠正灵活性。

3.3 关键设计选择

  • 修正器骨干:默认使用 MiniGPT-4,但实验证明在 LLaMA-Adapter、mPLUG-Owl 等不同骨干上均有效
  • 训练数据:从 LLaVA-150K 中随机选取 5000 个图文对(与测试集不重叠)
  • 训练开销:仅需 1 张 A100 80G GPU,约 10 分钟完成训练
  • 通用兼容:训练一次后可搭配任意 LVLM 使用,无需针对每个模型单独训练

四、实验结果

4.1 CHAIR 自动评估

在 MSCOCO 5000 张图像上评估 6 个 LVLM,CHAIRS(句子级)和 CHAIRI(实例级)越低越好:

方法MiniGPT-4LLaVAMMGPTLLaMA-AdaptermPLUG-OwlInstructBLIP
CSCICSCICSCICSCICSCICSCI
Original26.87.354.011.356.611.058.813.771.216.540.08.2
Teacher24.05.749.99.353.47.540.89.462.413.036.47.5
CoT31.69.447.69.048.817.543.39.456.913.435.77.8
GPT-Teacher25.37.638.07.826.79.349.012.422.09.032.07.8
LURE19.74.927.16.422.25.635.39.118.85.421.05.1

LURE 在所有 6 个模型上全面超越所有基线。以 mPLUG-Owl 为例,CHAIRS 从 71.2 降至 18.8(降低 73.6%),效果极为显著。

4.2 人工与 GPT 评估

描述排序评估(1-5 排名,1 最好):

方法MiniGPT-4LLaVAmPLUG-Owl
GPT↓Human↓GPT↓Human↓GPT↓Human↓
Original3.973.104.554.624.253.98
CoT2.442.833.052.523.753.13
GPT-Teacher3.563.282.452.962.502.44
LURE1.671.961.651.831.251.79

LURE 在所有模型和评估方式下均排名第一,GPT 评估和人工评估结果高度一致。

4.3 消融实验

三因素消融(MiniGPT-4):

变体CHAIRSCHAIRI
Original26.87.3
w/o Co-occurrence22.64.9
w/o Uncertainty21.25.4
w/o Position22.35.8
LURE(完整)19.74.9

三个因素均有独立贡献,移除任一因素都会导致性能下降,且共现偏差对 CHAIRS 影响最大。

性能增益来源验证:直接用修正器训练数据微调 LVLM(FT)反而使 CHAIRS 从 26.8 恶化至 31.0,而 LURE 降至 19.7,证明增益来自后处理修正机制而非额外数据。

修正器骨干鲁棒性

骨干CHAIRSCHAIRI
MiniGPT-419.74.9
LLaMA-Adapter21.35.2
mPLUG-Owl22.15.4

不同骨干均显著优于 Original(26.8/7.3),证明方法对修正器选择不敏感。

4.4 POPE 与 MME 补充实验

在 POPE 判别式评估中,LLaVA + LURE 在 MSCOCO Random 上准确率从 54.43% 提升至 86.33%(+31.9%)。在 MME 幻觉子集上,LLaVA、MiniGPT-4、mPLUG-Owl 的准确率分别从 90.0/93.8/86.7 提升至 93.3/96.7/93.5。

4.5 有用性分析

指标6 模型平均
正确对象减少比例1.6%
幻觉对象减少比例56%
描述长度变化仅微幅缩短

LURE 大幅削减幻觉对象(-56%)的同时几乎不影响正确对象(-1.6%),且描述长度变化极小,实现了准确性与有用性的良好平衡


五、局限性与未来方向

  1. 依赖外部 LLM 构造数据:需要 GPT-3.5 生成幻觉数据集,引入对闭源模型的依赖。
  2. 需要额外训练:与 VCD、OPERA 等 training-free 方法不同,LURE 需要训练修正器(虽然仅需 10 分钟)。
  3. 两阶段推理延迟:推理时需先用 LVLM 生成描述再用修正器校正,引入额外延迟。
  4. 模型规模受限:实验主要在 7B-13B 级别模型上验证,更大规模模型(70B+)的效果未知。
  5. 仅限对象级幻觉:主要关注物体存在性幻觉,对属性、关系等细粒度幻觉的效果未充分验证。

六、个人思考

6.1 与项目中其他论文的联系

与 VCD 的本质区别:VCD 在解码层面通过对比原始/扰动图像抑制语言先验,是 training-free 的推理时方法。LURE 则是 training-based 的后处理方法——先让 LVLM 自由生成,再用专门训练的修正器纠错。两者的干预点不同:VCD 在 token-by-token 生成过程中实时干预,LURE 在完整描述生成后一次性修正。

与 OPERA 的对比:OPERA 同样是推理时方法,通过惩罚注意力聚合模式 + 回溯重分配修正 beam search。LURE 的优势在于不修改解码过程本身,直接对输出做后处理,因此天然兼容任意 LVLM 和任意解码策略——甚至可以与 OPERA、VCD 叠加使用。

与 LogicCheckGPT 的对比:两者都是后处理方法,但机制不同。LogicCheckGPT 通过逻辑闭环检测幻觉并过滤;LURE 训练专门的修正器进行重写。LogicCheckGPT 是 training-free 但只能删除幻觉句,LURE 需要训练但能替换和改写,纠正灵活性更高。

与 EFUF 的对比:EFUF 通过梯度上升让模型"遗忘"幻觉模式,直接修改 LVLM 权重。LURE 不触碰原始模型权重,而是外挂一个独立修正器。LURE 的即插即用特性更好,但 EFUF 的推理无额外开销。

6.2 "分析驱动设计"的方法论价值

LURE 最突出的贡献不是修正器本身,而是对幻觉根因的系统性统计分析。三个因素(共现、不确定性、位置)的发现为后续大量工作提供了理论指导:

  • 位置效应启发了 LessIsMore 关注 EOS 决策
  • 不确定性分析与 AVISC 的盲 token 发现形成呼应
  • 共现偏差与 VCD 的"统计偏差"概念一脉相承

6.3 [IDK] 标签的设计巧妙

将可疑物体替换为 [IDK] 而非直接删除,是一个非常精巧的设计。它本质上是对修正器的一种 soft prompt:

  • 告诉修正器"这个位置有一个可疑对象,请基于图像重新判断"
  • 修正器可以选择替换、删除或保留,灵活性远高于硬删除
  • 训练时通过配对数据让修正器学会如何处理 [IDK],类似于 BERT 的 [MASK] 预训练

参考

  • VCD (CVPR 2024):视觉对比解码,与 LURE 互补——VCD 做解码时干预,LURE 做生成后修正
  • OPERA (CVPR 2024):注意力聚合惩罚 + 回溯分配,同为推理时缓解幻觉但干预点不同
  • LogicCheckGPT (2024):逻辑闭环后处理检测幻觉,同为后处理但 LURE 能修改而非仅检测
  • LessIsMore (2024):EOS 决策视角缓解幻觉,与 LURE 的位置效应发现相呼应
  • AVISC (ACL 2025):盲 token 注意力校准,与 LURE 的不确定性分析形成互补