Skip to content

VCD:视觉对比解码缓解 LVLM 对象幻觉

论文Mitigating Object Hallucinations in Large Vision-Language Models through Visual Contrastive Decoding

作者:Sicong Leng, Hang Zhang, Guanzheng Chen, Xin Li, Shijian Lu, Chunyan Miao, Lidong Bing

机构:DAMO Academy (Alibaba Group)、Nanyang Technological University、Hupan Lab

发布时间:2023年11月(CVPR 2026

🔗 arXiv | 代码

分类标签视觉对比解码 高斯噪声扰动 统计偏差 语言先验 Training-Free Plug-and-Play


一句话总结

发现向图像注入高斯噪声增加视觉不确定性会同时放大语言先验和统计偏差两大幻觉根因,据此提出 Visual Contrastive Decoding (VCD)——用原始图像和噪声图像的输出分布做对比,剥离语言先验和统计偏差引入的幻觉概率,配合自适应可信度约束防止误伤合理 token,training-free 无需外部工具,LLaVA-1.5/InstructBLIP/Qwen-VL 上 POPE 最高 +5.8 Accuracy / +7.4 F1,MME 幻觉子集最高 +18%,同时提升一般感知能力。


一、问题与动机

1.1 LVLM 对象幻觉的两大根因

根因表现来源
统计偏差高频物体(person, dining table)即使不在图中也被生成;共现物体(dining table → person, cup, fork)被错误关联MSCOCO 等训练数据的不均衡物体分布和虚假物体共现
语言先验(单模态先验)模型在视觉信息模糊时退化为基于文本统计的 next-word prediction(如 banana → yellow/green 而非实际颜色 black)LLM 解码器从海量文本语料继承的先验知识

1.2 现有方法的不足

方法类别代表工作局限
幻觉数据集微调M-HalDetect, LRV-Instruction需要大量人工标注和额外训练
后处理修正Woodpecker依赖外部更强模型
RLHF 对齐LLaVA-RLHF需要人类反馈和奖励模型训练
小模型方法细粒度对比学习、ROI 特征融合无法迁移到自回归 LVLM 的训练范式

核心空白:上述方法均引入显著额外成本(数据、计算、外部依赖)。需要一种简单、training-free、无需外部工具的方法。

1.3 核心发现:视觉不确定性放大幻觉

论文设计了两组实验验证:

视觉不确定性放大语言先验:给定一张黑色香蕉图片,随着高斯噪声强度增大,模型对 "yellow" 和 "green"(文本先验中典型的香蕉颜色)的概率逐渐升高,而 "black"(真实颜色)的概率持续下降。模型在视觉信息模糊时将文本先验当作"安全网"。

视觉不确定性放大统计偏差

  1. MSCOCO 中高频物体(person, dining table, car)在噪声图像下的幻觉次数显著增加
  2. 与真实物体 (dining table) 高频共现的物体(person, cup, bottle)在噪声下幻觉次数也大幅上升

关键洞察:噪声图像可以作为一面"幻觉放大镜"——它放大的恰好是需要被校准的统计偏差和语言先验成分。


二、核心方法

2.1 LVLM 解码框架回顾

给定文本查询 x 和视觉输入 v,LVLM 自回归生成:

ytpθ(ytv,x,y<t)explogitθ(ytv,x,y<t)

幻觉发生在概率被错误分配给与视觉输入 v 不一致的 token 时。VCD 的策略是:先用噪声输入放大这些错误概率,再通过对比将其剥离。

2.2 视觉不确定性的引入

采用类似扩散前向过程的方式,对原始图像逐步添加高斯噪声:

q(vtvt1)=N(vt;1γvt1,γI)q(vTv0)=t=1Tq(vtvt1)

其中 γ 控制每步噪声量,T 为总步数。当 TvT 退化为纯高斯噪声,视觉信息完全丧失。

用大白话说:就是给图片加不同程度的模糊噪声。噪声越大,模型越看不清图片,就越依赖自己的"猜测"(语言先验和统计偏差),幻觉越严重。

2.3 视觉对比解码 (VCD)

核心思想:用原始图像的输出分布减去噪声图像的输出分布,消除两者共有的偏差成分(即语言先验和统计偏差)。

给定原始图像 v 和噪声图像 v,构建对比分布:

pvcd(yv,v,x)=softmax[(1+α)logitθ(yv,x)αlogitθ(yv,x)]

其中 α 控制对比强度,α=0 退化为标准解码。

直觉解释:假设图中有 dog 但无 person。原始分布中 "person" 概率 0.3(因统计偏差仍有一定概率),"dog" 概率 0.5。噪声图像下统计偏差被放大,"person" 升至 0.5,"dog" 仍为 0.3(缺乏视觉证据支撑的 token 在噪声下概率上升更多)。对比后 person: 0.30.5<0,dog: 0.50.3>0,幻觉 "person" 被有效抑制。

与 Classifier-Free Guidance 的联系:VCD 的公式结构与 classifier-free diffusion guidance 完全对应——(1+α)ϵθ(x,c)αϵθ(x),其中 c 是条件信号。在 VCD 中,清晰的视觉输入就是"条件",对比解码强化了视觉条件对生成的引导作用。

2.4 自适应可信度约束

直接做全局对比存在问题:噪声图像的输出分布仍然保留了基本的语言常识和语法规则,全局惩罚可能误伤这些合理输出,甚至推升不合理 token。

借鉴 Contrastive Decoding(Li et al., 2022)的自适应截断思想,VCD 约束候选 token 集合:

Vhead(y<t)={ytV:pθ(ytv,x,y<t)βmaxwpθ(wv,x,y<t)}pvcd(ytv,v,x)=0,if ytVhead(y<t)

完整公式

ytsoftmax[(1+α)logitθ(ytv,x,y<t)αlogitθ(ytv,x,y<t)],s.t. ytVhead(y<t)

作用

  • β=0.1 意味着只保留概率不低于最大概率 10% 的 token,排除在原始分布中本就不可信的 token
  • 当模型对某个 token 非常确信时(如高置信正确 token),候选集收窄为少数高概率 token,VCD 的对比效应被有效中和,防止误伤

2.5 方法总结

  1. 对原始图像 v 施加 T 步高斯噪声生成 v
  2. 分别用 vv 各做一次前向传播,得到两个 token 分布
  3. 在 logit 空间做加权对比:(1+α)logit(v)αlogit(v)
  4. 用自适应可信度约束截断候选集
  5. 从修正后的分布中采样

超参数默认设置α=1β=0.1γ=0.1T=999(POPE)/ T=500(MME、LLaVA-Bench)。

优势:Training-free、无需外部工具或额外模型、仅需 2× 前向传播、即插即用适配任何 LVLM。


三、实验结果

3.1 POPE 基准(对象级幻觉判别)

在 MSCOCO / A-OKVQA / GQA 三个数据集 × Random / Popular / Adversarial 三种设置下评估。

MSCOCO 子集关键结果:

设置模型解码AccuracyF1 Score
RandomLLaVA-1.5Regular83.2981.33
VCD87.7387.16
Qwen-VLRegular84.7382.67
VCD88.6387.81
InstructBLIPRegular80.7180.41
VCD84.5383.68
AdversarialLLaVA-1.5Regular78.9677.57
VCD80.8881.33
Qwen-VLRegular82.2680.37
VCD84.2683.90

总体表现

  • VCD 在全部 27 种设置(3 数据集 × 3 难度 × 3 模型)上一致超越 baseline
  • 最高提升 +5.8 Accuracy(InstructBLIP MSCOCO Random)和 +7.4 F1(LLaVA-1.5 GQA Random)
  • 从 Random → Popular → Adversarial,baseline 性能下降明显(统计偏差影响增大),但 VCD 始终有效
  • LLaVA-1.5 和 Qwen-VL 的 F1 提升主要由 Recall 驱动(最高 +10 pts),InstructBLIP 主要由 Precision 驱动

3.2 MME 幻觉子集(对象级 + 属性级)

模型解码ExistenceCountPositionColorTotal
LLaVA-1.5Regular175.67124.67114.00151.00565.33
VCD184.66138.33128.67153.00604.66
Qwen-VLRegular155.00127.67131.67173.00587.33
VCD156.00131.00128.00181.67596.67
InstructBLIPRegular141.0075.3366.6797.33380.33
VCD168.3392.3364.00123.00447.67
  • InstructBLIP 总分从 380 → 448(+18%),提升最为显著
  • Color 属性跨模型一致提升,Position 提升有限——说明 VCD 对空间推理类幻觉效果有限

3.3 MME 全基准(14 个子任务)

以 LLaVA-1.5 为代表,VCD 在感知类子任务(Existence、Count、Position、Color、Posters、Celebrity、Scene、Landmark、Artwork、OCR)上一致提升,同时认知类子任务(Common Sense、Numerical Calculation、Text Translation、Code Reasoning)得分基本持平

说明 VCD 通过减少统计偏差和语言先验,不仅缓解幻觉,还提升了一般视觉感知能力,且不损害推理能力。

3.4 GPT-4V 辅助评估(开放式生成)

模型解码Accuracy↑Detailedness↑
LLaVA-1.5Regular3.233.54
VCD4.153.85
InstructBLIPRegular3.844.07
VCD4.234.69
Qwen-VLRegular4.763.46
VCD6.694.46

Qwen-VL 上 Accuracy 从 4.76 → 6.69(+40.5%),VCD 在开放式生成中同步提升准确性和细节丰富度。

3.5 消融实验

噪声步数 T 的影响T=500 时幻觉子集最优;T>500 后感知子集持续提升;认知子集对 T 不敏感。

α 的影响α[0.25,1.0] 范围内 MME 三个子集得分变化很小,说明对比策略对 α 鲁棒

β(可信度约束)的影响β=0 时性能最差(验证了不加约束会误伤合理 token);β=0.5 时幻觉子集 635.00、感知子集 1474.02,均为最优。

采样策略泛化性:VCD 在 Top-P / Top-K / Greedy / Top-K+Temperature 等 5 种策略上一致有效,F1 Score 均显著提升。

模型规模泛化:LLaVA-1.5 和 InstructBLIP 的 13B 变体上 VCD 同样一致提升,且 7B 与 13B 基线性能相当——说明单纯增大模型参数不能解决幻觉问题。


四、局限性与未来方向

4.1 噪声方式过于粗糙

仅使用全局高斯噪声作为视觉扰动。更细粒度的方式(如局部物体模糊、语义编辑)可能更精准地放大特定类型的幻觉。后续工作 VACoDe 探索了 7 种增强方式并自适应选择最具对比性的一种。

4.2 仅覆盖图像,未扩展到视频

论文仅在静态图像 LVLM 上验证。视频理解中幻觉模式可能不同(时间一致性、动态场景变化),VCD 框架的扩展需要进一步研究。

4.3 推理开销加倍

VCD 需要两次前向传播(原始 + 噪声图像),推理延迟约 2×。相比 HIME(零推理开销)或 VisFlow(几乎零开销),VCD 的效率劣势明显。

4.4 Position 类幻觉改善有限

在 MME Position 子集上 VCD 提升很小甚至无提升,说明空间关系推理更多依赖模型的高层推理能力而非视觉-文本对齐,对比解码无法有效覆盖。


五、个人思考

5.1 与项目内其他幻觉缓解方法的对比

方法对比维度扰动构造是否训练额外开销
VCD视觉空间高斯噪声图像2× 前向
ICD指令空间角色前缀扰动2× 前向
VACoDe视觉空间7 种增强自适应选择2× 前向
HALC视觉空间(局部)多尺度 FOV 裁剪多次前向 + 外部检测器
HIO模型空间Evil LVLM需训练 Evil 模型2× 前向
OPERA注意力空间N/A(内部检测)Beam Search ~5×
MMHalSnowball视觉空间N/A(残差混合)~2× 前向

VCD 的历史地位:作为最早的 training-free 对比解码幻觉缓解方法之一,VCD 建立了"用扰动输入做对比"的基本范式。后续大量工作(ICD、VACoDe、HIO)本质上都是在不同维度(指令、增强选择、模型本身)上扩展这一思想。

5.2 VCD 与 ICD 的互补性

ICD 论文(已收录在本项目)中明确验证了 VCD + ICD 的组合效果:视觉对比处理视觉不确定性,指令对比处理指令不确定性,两者在 color、posters、OCR 等子任务上有叠加收益。这说明幻觉是多源的——视觉端和指令端各自贡献了不同维度的偏差。

5.3 "先放大再剥离"的方法论价值

VCD 开创的 amplify-then-subtract 思路本质上是一种推理时的负面学习:不直接告诉模型什么是对的,而是先放大"什么更可能是错的",再减去它。这与 Classifier-Free Guidance 在图像生成中的成功异曲同工——都是通过对比有条件/无条件(或强条件/弱条件)的输出来强化条件信号的引导作用。

5.4 噪声强度的"甜蜜点"

消融实验显示,T 过小(噪声不足)时对比信号弱,T 过大时噪声图像退化为纯随机信号,对比变成"原始分布 vs 纯语言先验",虽然仍有一定效果但不如中等噪声。这暗示最有价值的对比信号来自"部分保留视觉语义但偏差被放大"的中间状态——这对后续方法(如 VACoDe 的增强选择)提供了重要启示。

5.5 模型规模 vs 幻觉

13B 实验的一个重要发现:7B 和 13B 在 POPE 上基线性能几乎相同(如 LLaVA-1.5 7B F1 81.33 vs 13B 81.49),说明对象幻觉不是模型容量问题,而是训练数据偏差和解码策略问题。这一观察为 training-free 解码方法的研究价值提供了有力支撑。


参考

  • Contrastive Decoding(Li et al., 2022):开放式文本生成的对比解码框架——VCD 的自适应可信度约束直接借鉴于此
  • ICD(Wang et al., 2024):指令对比解码——VCD 在指令维度的对应物,验证了两种对比维度的互补性
  • VACoDe(2024):视觉增强自适应对比解码——在 VCD 基础上引入多种增强方式的自适应选择
  • OPERA(Huang et al., 2024):注意力聚合模式检测 + beam 惩罚——另一种 training-free 方法,从注意力内部机制而非输入对比角度缓解幻觉
  • POPE(Li et al., 2023):对象级幻觉判别基准——VCD 的核心评估基准
  • Classifier-Free Guidance(Ho & Salimans, 2022):扩散模型中的无分类器引导——VCD 对比公式的直接类比