HALC:自适应焦点对比解码缓解对象幻觉
论文:HALC: Object Hallucination Reduction via Adaptive Focal-Contrast Decoding
作者:Zhaorun Chen*, Zhuokai Zhao* 等(* 共同一作)
机构:University of Chicago、MIT、UNC-Chapel Hill、UIUC、TTIC
发布时间:2024年3月(ICML 2024)
分类标签:
对象幻觉解码策略视觉上下文Plug-and-PlayTraining-Free
一句话总结
在 LVLM 解码过程中,对每个可能产生幻觉的 token 动态采样多种视觉上下文窗口(FOV),通过 JSD 选取差异最大的 FOV 对进行双向对比解码修正局部幻觉,再用视觉匹配评分的 beam search 全局保障生成质量,无需训练即插即用,CHAIR
一、问题与动机
1.1 对象幻觉的三种类型
VLM 的对象幻觉(Object Hallucination, OH)可分为三类:
| 类型 | 含义 | 举例 |
|---|---|---|
| 存在性幻觉 | 生成图中不存在的物体 | 图中只有时钟,却生成"冲浪板" |
| 属性幻觉 | 给出错误的属性描述 | 红色杯子被描述为蓝色 |
| 关系幻觉 | 描述错误的物体间关系 | "猫在桌子上"但实际猫在地上 |
1.2 为什么自回归解码天然倾向幻觉?
LVLM 的自回归生成有一个根本性问题:随着生成的推进,模型越来越依赖文本历史
- 生成越长,幻觉越多
- 后面提到的物体比前面的更容易出现幻觉
- 共现偏差(训练数据中的物体共现模式)会被文本上下文放大
1.3 现有方法的不足
| 方法 | 思路 | 局限 |
|---|---|---|
| Woodpecker | 生成后用 ChatGPT 自我纠正 | 依赖更强外部 LLM |
| LURE | GPT-4 蒸馏额外修正器 | 需要额外训练数据和模型 |
| VCD | 视觉对比解码(添加噪声视觉输入) | 仅单一全图对比,不考虑局部 |
| OPERA | 注意力惩罚 + 回溯分配 | 需 beam search,仅缓解过度信任 |
| DoLa | 层间对比解码 | 非针对视觉幻觉设计 |
关键缺失:上述方法主要聚焦存在性幻觉,假设属性和关系幻觉会被自回归解码"顺带"修正;并且没有利用细粒度视觉信息——不同 token 对应图像中不同的局部区域。
1.4 核心洞察:最优视觉上下文可以消除幻觉
论文通过 oracle 实验验证:在 MME 基准上,通过穷举搜索为每个 token 找到最优视觉上下文窗口
二、核心方法
HALC 在 token 级别运作,包含局部修正和全局选择两个层面。
2.1 对象相关 Token 识别
不是每个 token 都需要 HALC 处理。每生成一个 token,用 spaCy 做词性标注(POS tagging):
| 词性 | 对应幻觉类型 | 是否触发 HALC |
|---|---|---|
| 名词 | 存在性幻觉 | 是 |
| 形容词/副词/数词/动词/代词 | 属性幻觉 | 是 |
| 介词 | 关系幻觉 | 是 |
| 其他(冠词、连词等) | 不易产生幻觉 | 否 |
根据统计,英语中约 35% 的词属于上述类别,因此 HALC 并非在每个 token 都触发。
2.2 视觉上下文检索
对触发 HALC 的 token,使用零样本检测器(Grounding DINO)在原图中定位其视觉上下文窗口
一个有趣的发现:即使当前 token 是幻觉(如"冲浪板"在图中并不存在),检测器仍能给出一个有意义的视觉定位——因为检测模型在预训练时学会了将文本描述与图像区域关联,即使不完全匹配也会给出置信度最高的候选区域。
2.3 自适应焦点对比 Grounding(局部修正)
这是 HALC 的核心创新。
FOV 采样——指数扩展: 以检测窗口
从小到大覆盖从聚焦局部到包含全图的不同视觉范围。默认
动态视觉上下文选择——JSD 对比: 将
选取 JSD 最大的 top-
双向对比解码: 对每个选中的 FOV 对
其中
为什么需要双向对比? 不同于 DoLa 等方法中有明确的"专家层 vs 业余层"之分,FOV 空间中最优视觉上下文可能在任意位置——过小的 FOV 缺少上下文,过大的则引入干扰。因此无法假设哪个方向是"正确的",必须两个方向都试。
每个 FOV 对产生 2 个候选 token,
2.4 基于视觉匹配的 Beam Search(全局选择)
局部对比修正可能纠正单个 token,但需要在序列层面保持生成质量。HALC 采用 beam search,beam 大小为
- 每个 HALC 步骤产生
个候选序列 - 用 BLIP 模型计算当前文本
与原图 的相似度作为 beam 评分 - 选取 top-
个最佳序列继续生成
与传统 beam search 不同,评分函数不基于文本概率而基于视觉-文本匹配度,确保选出的序列与图像内容最忠实。
2.5 安全回退机制
如果检测器找到了视觉定位([IDK](I Don't Know),避免生成不可信内容。
三、理论分析
论文为 FOV 采样策略提供了形式化的鲁棒性保证。
假设: 最优视觉上下文
定理 5.1(简化表述):设检测器输出
其中
这对正态分布采样和指数扩展采样均成立,只是常数
四、实验结果
4.1 CHAIR 评估(MSCOCO 500 张图)
| 方法 | MiniGPT-4 CHAIR | CHAIR | LLaVA-1.5 CHAIR | CHAIR | mPLUG-Owl2 CHAIR | CHAIR |
|---|---|---|---|---|---|---|
| Greedy | 30.87 | 12.33 | 20.80 | 6.77 | 23.20 | 8.33 |
| Beam Search | 29.56 | 11.36 | 18.67 | 6.30 | 21.67 | 7.63 |
| DoLa | 30.87 | 11.70 | 21.00 | 6.70 | 24.60 | 8.73 |
| OPERA | 30.00 | 11.67 | 21.13 | 6.73 | 22.13 | 7.57 |
| VCD | 30.27 | 12.60 | 23.33 | 7.90 | 27.27 | 9.73 |
| Woodpecker | 28.87 | 10.20 | 23.85 | 7.50 | 26.33 | 8.43 |
| LURE | 27.88 | 10.20 | 19.48 | 6.50 | 21.27 | 7.67 |
| HALC | 17.80 | 8.10 | 13.80 | 5.50 | 17.33 | 7.43 |
HALC 在 MiniGPT-4 上 CHAIR
4.2 MME 评估(4 个 OH 相关子任务)
以 MiniGPT-4 为骨干,HALC 在所有子任务上均大幅领先:
| 子任务 | HALC | Greedy | DoLa | OPERA | VCD | LURE |
|---|---|---|---|---|---|---|
| Existence | 155 | 145 | 145 | 135 | 135 | 140 |
| Position | 73.33 | 63.33 | 60 | 56.67 | 70 | 60 |
| Color | 141.67 | 118.33 | 118.33 | 115 | 133.33 | 108.33 |
| Count | 93.33 | 85 | 85 | 80 | 70 | 68.33 |
平均提升:存在 +10.7%、位置 +18.3%、颜色 +19.4%、计数 +20.2%。
4.3 长文本鲁棒性
随 max token 从 64 增长到 384,其他方法的幻觉比例持续上升,而 HALC 是唯一在生成物体增多时幻觉比例反而下降的方法。
4.4 消融实验
FOV 采样初始化方式:
| 初始化 | CHAIR | CHAIR |
|---|---|---|
| 随机 | 25.6 | 11.8 |
| 中心裁剪 | 23.9 | 11.2 |
| 原图 | 27.8 | 12.2 |
| Grounding DINO | 22.0 | 8.8 |
| OWLv2 | 23.4 | 10.8 |
即使随机初始化也优于直接用原图,验证了 FOV 采样机制本身的鲁棒性。检测器初始化进一步提升效果。
指数扩展比
| CHAIR | CHAIR | |
|---|---|---|
| 0.4 | 18.0 | 7.6 |
| 0.6 | 22.0 | 8.8 |
| 0.8 | 28.0 | 9.6 |
Beam 大小
| CHAIR | CHAIR | |
|---|---|---|
| 1 | 36.0 | 14.6 |
| 2 | 22.0 | 8.8 |
| 3 | 26.0 | 9.8 |
| 5 | 29.6 | 11.1 |
五、局限性与未来方向
5.1 推理速度
HALC 的主要代价是推理时间。不并行化时约为 greedy 解码的 2.4×;并行化 FOV 解码后约 1.35×。对实时应用仍有较大开销。
5.2 依赖外部检测器
Grounding DINO 的检测质量直接影响 FOV 采样的起始质量。虽然理论证明了鲁棒性,但在检测器完全失效的领域(如抽象画、医学图像等)效果可能下降。
5.3 仅处理对象级幻觉
HALC 的 POS 过滤机制决定了它主要处理对象级幻觉(名词/形容词/介词),对更高层次的逻辑推理幻觉(如因果关系错误)无能为力。
六、个人思考
6.1 与项目内其他幻觉缓解工作的对比
| 方法 | 干预阶段 | 是否需要训练 | 核心机制 | 三种幻觉 |
|---|---|---|---|---|
| HALC | 解码时 | 否 | FOV 对比 + 视觉匹配 beam search | 全部 |
| HIME | 推理前编辑权重 | 否 | 零空间投影编辑 MLP | 存在性为主 |
| SENTINEL | 训练时 DPO | 是 | 句子级 C-DPO 早期干预 | 存在性为主 |
HALC 是三者中唯一同时处理三种幻觉类型的方法,但代价是推理时的计算开销。HIME 零开销但仅编辑权重无法动态适应每个 token。SENTINEL 从训练阶段根治但需要偏好数据构建。三者互补性很强。
6.2 "最优视觉上下文"假说的深层含义
HALC 的核心假设——每个 token 都存在一个最优视觉上下文——本质上说明了当前 LVLM 的视觉编码器在将图像压缩为固定 token 序列时丢失了细粒度信息。这和最近高分辨率 VLM(如 InternVL-HD)的动态分辨率策略思路一致:为什么要用统一的视觉 token 序列处理所有语义粒度的查询?
6.3 FOV 对比的信息论视角
选择 JSD 最大的 FOV 对进行对比,实际上是在寻找对当前 token 信息增益最大的视觉上下文对比。这与 VCD 用噪声图像做对比的思路类似,但更精细——VCD 只有"全图 vs 噪声全图"一种对比,而 HALC 在 FOV 空间中自适应搜索最有信息量的对比。
6.4 时效性考量
HALC 发表于 ICML 2024,基线模型是 MiniGPT-4/LLaVA-1.5 等 7B 级别模型。对当前更强的 VLM(如 InternVL2.5、Qwen2.5-VL 等),其幻觉水平已大幅降低,HALC 的边际收益可能减小。但其核心思想——token 级别的自适应视觉 grounding——对任何自回归 VLM 都有理论价值。
参考
- VCD(Leng et al., 2023):视觉对比解码,通过噪声图像做全图对比——HALC 的核心区别在于局部自适应 FOV 对比
- OPERA(Huang et al., 2023):注意力过度信任惩罚 + 回溯分配——另一种解码阶段缓解幻觉的思路
- DoLa(Chuang et al., 2023):层间对比解码——HALC 借鉴了对比解码的思想但应用于视觉空间
- Woodpecker(Yin et al., 2023):生成后自我纠正流水线——依赖 ChatGPT 的 post-hoc 方法
- LURE(Zhou et al., 2023):分析-修正两阶段缓解幻觉——需要 GPT-4 蒸馏额外修正器
- Grounding DINO(Liu et al., 2023):开放集目标检测——HALC 的视觉 grounding 组件