POPE 学习笔记:Evaluating Object Hallucination in Large Vision-Language Models¶
1. 论文研究的问题¶
POPE 关注的是 LVLM(Large Vision-Language Model)中的 Object Hallucination(物体幻觉)。
所谓物体幻觉:
模型声称图像中存在某个物体,但该物体实际上并不存在。
例如,图片中只有一个人坐在桌边,模型却生成:
“A man is sitting at a table with a laptop.”
如果图中没有 laptop,那么 laptop 就是 hallucinated object。
这篇论文的核心观点是:
现有 LVLM 普遍存在严重的物体幻觉,而传统的 CHAIR 指标在评估 LVLM 时存在一些局限,因此作者提出 POPE,将物体幻觉评估转换为 Yes / No 的物体存在性判断问题。
2. VLPM 和 LVLM¶
论文首先区分了传统的 VLPM 和现代的 LVLM。
2.1 VLPM:Vision-Language Pretrained Model¶
论文里的典型模型包括:
- OSCAR
- VinVL
- OFA
- BLIP
它们属于前 LLM 时代的视觉语言预训练模型,主要针对:
- Image Captioning
- VQA
- Image-Text Matching
- Grounding
等视觉语言任务训练。
它们当然也进行视觉—语言对齐,但一般不是现代 LVLM 这种:
也就是说,它们通常没有一个强大的通用大语言模型作为语言核心。
可以粗略理解成:
VLPM 是“专门为了视觉语言任务训练的模型”。
2.2 LVLM:Large Vision-Language Model¶
论文中的:
- LLaVA
- MiniGPT-4
- mPLUG-Owl
- MultiModal-GPT
- InstructBLIP
属于 LVLM。
现代 LVLM 的典型架构是:
其中 Alignment Module 可以是:
- Projector
- Adapter
- Q-Former
- 其他连接模块
它的作用是:
把视觉表示转换成 LLM 可以理解和处理的表示。
更严谨地说,是对齐到 LLM 的输入表示空间,而不一定真的转成离散的文本 token。
因此 LVLM 拥有很强的:
- 对话能力
- 指令跟随
- 长文本生成
- 世界知识
- 推理
- 开放式回答能力
但也带来了一个重要风险:
这也是 object hallucination 的重要来源之一。
3. LVLM 的训练流程¶
论文把典型 LVLM 的训练大致分成三个阶段。
第一阶段:单模态预训练¶
先分别训练:
Vision Encoder¶
在大量图像数据上学习视觉表示。
LLM¶
在大量文本数据上学习:
- 语言
- 知识
- 常识
- 代码
- 推理模式
- 世界规律
可以粗略认为:
预训练主要构建模型的基础能力和“智力底座”。
第二阶段:Image-Text Alignment¶
这时候视觉模型和 LLM 各自都已经很强,但是二者“语言不通”。
因此需要:
例如大量使用:
图片:一只狗坐在草地上
文本:A dog sitting on the grass.
让模型学会:
可以理解为:
把眼睛接到 LLM 的大脑上。
第三阶段:Visual Instruction Tuning¶
训练形式变成:
例如:
What is the man holding?
模型学习回答:
A tennis racket.
所以这一阶段主要让模型学会:
不只是“看懂图片”,还要根据人的自然语言指令调用视觉能力。
4. Pre-training、Post-training 和 Fine-tuning¶
这几个概念容易混。
Pre-training¶
大规模学习通用能力和知识。
可以粗略理解为:
学知识、长能力。
Post-training¶
在基础模型上进一步训练,例如:
- Instruction Tuning
- SFT
- Preference Learning
- RLHF / RLAIF
- RL
- Reasoning Training
可以理解为:
教模型怎么更好地调用和使用已有能力。
当然,现代后训练也可能显著增强 Coding、Reasoning 等专项能力。
Fine-tuning¶
Fine-tuning 不是一个固定阶段,而是一种训练方式:
在一个已经训练好的模型上继续更新参数。
因此:
但很多 post-training 都是通过 fine-tuning 完成的。
5. 为什么 LVLM 可能更容易产生 Object Hallucination?¶
论文观察到:
一些 LVLM 的物体幻觉甚至比更小的传统 VLPM 更严重。
但不能简单理解成:
“因为 LVLM 说得长,所以幻觉才多。”
更准确地说,输出长度只是其中一个因素。
5.1 输出更长¶
LVLM 倾向生成:
- 更长
- 更丰富
- 更开放
的描述。
于是:
可能导致:
进一步:
特别容易把 CHAIR\(_S\) 拉高。
因此:
长文本是一个 confounding factor(混杂因素),但不是全部原因。
5.2 LLM 的语言先验非常强¶
例如图片中出现:
dining table
语言模型根据训练经验知道:
通常比较高。
于是即使视觉证据中没有 chair,模型也可能根据常识补出:
chair
5.3 视觉证据可能无法压制语言先验¶
LVLM 的结构大致是:
如果视觉 grounding 不够可靠,就可能出现:
导致模型“脑补”。
5.4 Visual Instruction Tuning 可能加重幻觉¶
作者提出一个假设:
传统小型 VLPM 的 object hallucination 较少,因此 LVLM 的 visual instruction tuning 过程有可能加重 hallucination。
Instruction tuning 通常鼓励模型:
- 积极回答
- 给出完整答案
- 提供更多信息
- 尽量满足用户
这可能产生副作用:
视觉证据不足时,模型依然倾向给出一个完整、合理的答案,而不是保守回答。
注意:
作者这里提出的是一种 hypothesis,而不是已经证明 instruction tuning 与 hallucination 存在因果关系。
6. CHAIR 指标¶
CHAIR 是早期经典的 Object Hallucination Evaluation。
主要有两个指标。
CHAIR\(_I\)¶
衡量模型提到的所有物体中,有多少是幻觉物体:
越低越好。
CHAIR\(_S\)¶
衡量所有生成描述中,有多少条至少包含一次物体幻觉:
越低越好。
7. CHAIR 对 LVLM 的问题¶
POPE 作者主要指出几个问题。
7.1 对 Prompt 和生成风格敏感¶
例如:
Generate a short caption of the image.
和:
Provide a brief description of the given image.
意思差不多,但可能让同一个 LVLM 生成完全不同长度的回答。
输出越长:
所以 CHAIR,尤其 CHAIR\(_S\),可能变高。
因此:
CHAIR 对倾向生成长描述的模型可能不够公平。
不过需要注意:
长度增加并不意味着 CHAIR\(_I\) 必然增加,只是增加了出现幻觉物体的机会。
7.2 依赖人工 Parsing Rules¶
CHAIR 需要先从生成文本里提取 object。
例如模型说:
A gentleman is standing beside a sedan.
需要知道:
- gentleman → person
- sedan → car
但 LVLM 的自然语言表达非常自由。
如果规则没有覆盖某种表达,就可能:
却因为:
而被错误判定。
反过来也可能漏掉真正的 hallucination。
7.3 需要 Object Annotation¶
CHAIR 需要知道:
每张图到底有哪些真实物体。
因此比较依赖人工 object-level annotation。
这会限制它扩展到新的、更大的数据集。
8. POPE 的核心思想¶
POPE 全称:
Polling-based Object Probing Evaluation
它最核心的想法非常简单:
与其让模型自由生成 caption,然后再艰难地分析里面有没有幻觉,不如直接问模型某个物体到底存不存在。
例如:
Is there a dog in the image?
回答:
Yes / No
于是:
被转换成:
好处包括:
- 对输出长度不那么敏感
- 对 prompt form 更稳定
- 不需要复杂 caption parsing
- 容易自动评价
- 更容易扩展 benchmark
9. POPE 与 Jev 思想上的相似性¶
虽然二者不是同一种技术:
- POPE 是 evaluation method
- Jev 是面向结构化判断的模型/系统
但方法论上有相似之处:
如果真正关心的是一个明确判断,就没必要让模型先自由生成大量文本。
即:
收缩为:
这样可以减少:
- 输出格式问题
- Parsing Error
- Verbosity Bias
- 部分 hallucination space
10. POPE 提出的两个 Hallucination Hypothesis¶
作者提出:
Hypothesis 1:高频物体偏置¶
LVLM 更容易 hallucinate:
visual instruction datasets 中频繁出现的物体。
即:
Hypothesis 2:共现偏置¶
LVLM 更容易 hallucinate:
与图片中真实物体高频共现的物体。
例如图片真的存在:
dining table
chair 在训练数据中经常和 dining table 一起出现:
很高。
那么模型可能错误地脑补 chair。
11. 这和 CHAIR 的观点有什么关系?¶
CHAIR 论文其实已经讨论过:
language priors / object co-occurrence
可能导致 hallucination。
所以 POPE 的第二个假设与 CHAIR 的思想有明显连续性。
POPE 更进一步做了三件事:
- 把语言先验具体拆成:
- object frequency
-
object co-occurrence
-
将它们和 LVLM 的 visual instruction tuning 联系起来。
-
用这些发现指导后面的 POPE sampling strategy。
12. HR\(_A\) 和 HR\(_C\)¶
作者用 Hit Ratio 来定量支持前面的两个假设。
HR\(_A\)@k¶
表示:
所有 hallucinated objects 中,有多少落在整个数据集出现频率最高的 Top-k object 中。
例如:
意味着:
约 54.55% 的幻觉物体属于数据集中出现频率最高的前 10 类。
这支持:
高频物体更容易被 hallucinate。
HR\(_C\)@k¶
表示:
当图片中存在某个真实物体时,幻觉出来的物体中有多少属于和它最高频共现的 Top-k 类别。
例如:
意味着:
当图片里有 dining table 时,幻觉出来的物体中约 56.28% 属于和 dining table 最常共现的前 10 类。
这支持:
co-occurrence bias 会影响 hallucination。
13. 如果自己写,可以增加 Spearman¶
POPE 原文使用:
它回答的问题是:
幻觉是不是大量集中在高频 / 高共现的物体中?
如果进一步想回答:
“整体上,频率排名越高,hallucination 排名是不是也越高?”
那么可以计算:
例如:
这样会更直接地量化二者的整体单调相关性。
为什么 Spearman 比 Pearson 更自然?
因为 object frequency 往往具有明显长尾分布,而且论文的 hypothesis 是:
“越高频,越容易 hallucinate。”
它假设的是单调关系,而不是严格线性关系。
所以可以考虑:
作为两个互补证据。
但需要注意:
不能因为有显著相关,就直接声称:
visual instruction frequency 导致了 hallucination。
14. POPE 的三种 Negative Sampling¶
这是 POPE 最重要的设计之一。
Random¶
从当前图片不存在的物体中随机选择。
例如图里没有 elephant:
Is there an elephant in the image?
通常最简单。
Popular¶
专门选择:
数据集中非常常见,但当前图片中不存在的物体。
用于攻击:
Adversarial¶
专门选择:
与当前图片中的真实物体高频共现,但实际上当前图片不存在的 object。
例如图片中真的有:
dining table
那就故意问:
Is there a chair?
用于攻击:
一般模型表现:
这里 “>” 指模型分数由高到低。
也就是说:
Random 最容易,Adversarial 最难。
15. POPE 的分类指标¶
先定义四种情况。
TP — True Positive¶
物体真实存在,模型回答 Yes。
TN — True Negative¶
物体不存在,模型回答 No。
FP — False Positive¶
物体不存在,但模型回答 Yes。
这是 object hallucination 最直接对应的情况。
FN — False Negative¶
物体存在,但模型回答 No。
Accuracy¶
表示总体有多少问题答对。
Precision¶
含义:
模型所有回答 Yes 的情况里,有多少是真的存在。
Precision 低意味着:
模型经常把不存在的物体说成存在。
因此和 hallucination 特别相关。
Recall¶
含义:
所有真正存在的物体中,模型成功识别出来了多少。
F1¶
是 Precision 和 Recall 的调和平均。
16. 为什么 POPE 里的 Recall 会看起来特别高?¶
MultiModal-GPT 是最典型的例子。
它可以达到:
但同时:
原因其实是:
它基本什么问题都回答 Yes。
那么所有真正存在的物体当然都不会漏掉。
所以:
于是:
但同时,大量不存在的物体也被回答 Yes:
导致:
以及:
一个值得记住的极端情况¶
如果正负样本恰好 1:1,而且模型对所有题都回答 Yes:
所以:
看到 Recall = 100% 千万不能直接认为模型特别强。
必须结合 Precision、Accuracy 和 Yes% 看。
17. Yes Bias¶
POPE 发现一些早期 LVLM 存在严重的:
也就是:
无论物体是否真的存在,模型都倾向回答 Yes。
典型包括:
- MultiModal-GPT
- mPLUG-Owl
- LLaVA
为什么可能出现 Yes Bias?¶
原因 1:训练数据大量描述“有什么”¶
Image caption 通常是:
A man is sitting at a table.
而不是:
There is no elephant, no refrigerator, no airplane...
因此模型学到大量:
而相对缺少明确的:
原因 2:语言共现先验¶
例如:
很高。
视觉证据不够强时,模型容易被语言先验推向:
Yes
原因 3:Instruction Tuning 鼓励积极回答¶
模型被训练成:
- 尽量有帮助
- 尽量回答问题
- 尽量给完整答案
这可能导致它不够保守。
原因 4:语言信号压过视觉信号¶
可以把底层问题概括成:
Yes Bias 和自由 caption 中的 hallucination,可以看作同一问题的两种表现。
18. Table 3 的核心发现¶
mPLUG-Owl / LLaVA / MultiModal-GPT¶
它们的:
因此:
- Recall 接近 100%
- Precision 较低
- Accuracy 接近 50%
- 存在严重 Yes Bias
MiniGPT-4 / InstructBLIP¶
Yes 比例相对平衡。
尤其 InstructBLIP:
- Accuracy 高
- Precision 高
- Recall 高
- F1 高
说明其 object hallucination 相对较轻。
Random → Popular → Adversarial¶
MiniGPT-4 和 InstructBLIP 的表现明显下降,而且:
说明:
高频物体和高共现物体确实更容易诱发模型错误回答 Yes。
这与作者前面的两个 hypothesis 相呼应。
19. 如果只能选一个或两个 POPE 指标¶
在 POPE 这种正负样本基本平衡的任务中:
如果只能选一个:
比较适合做模型总体横向比较。
因为全答 Yes 的模型会直接暴露为:
如果只能选两个:
一般二分类:
但如果研究重点就是 hallucination:
也非常有解释力,因为 Precision 对 FP 很敏感。
正式论文如果空间允许,最好全部报告:
- Accuracy
- Precision
- Recall
- F1
- Yes%
20. POPE 如何扩展到无标注数据集?¶
作者希望证明:
POPE 不一定依赖人工 object annotation。
于是引入自动分割工具:
SEEM
流程:
这样就可以在:
- MSCOCO
- A-OKVQA
- GQA
等数据集上自动构建 POPE。
21. SEEM-based POPE 为什么更难?¶
例如 MiniGPT-4 的 Adversarial F1:
人工 annotation:
SEEM-based:
作者认为:
SEEM 的 segmentation results 粒度更细。
例如人工标注可能只包含:
- person
- table
- chair
而 SEEM 可能还能识别:
- fork
- glass
- plate
- bowl
- bottle
因此生成的问题更加细粒度,也更加困难。
这个实验主要验证什么?¶
主要验证:
也就是:
POPE 可以借助自动视觉工具,大幅减少人工 annotation 的需求,从而低成本扩展到更多、更大的数据集。
22. Consistency Validation¶
这是 POPE 很重要的一个有效性验证。
潜在质疑:
“POPE 中模型回答 Yes / No,真的代表它自由生成 caption 时对这个物体的判断吗?”
因此作者比较:
和:
检查方向 1¶
如果模型在 POPE 中回答:
No
那么它自由生成 caption 时应该很少提到这个物体。
InstructBLIP:
- 1303 个被回答 No 的 object
- 其中 0 个出现在 caption 中
MiniGPT-4:
- 1445 个被回答 No 的 object
- 只有 5 个出现在 caption 中
一致性非常高。
检查方向 2¶
如果 caption 中主动提到了某个物体,那么 POPE 中应该大概率回答:
Yes
InstructBLIP:
全部回答 Yes。
MiniGPT-4:
回答 Yes。
结论¶
与:
具有很强一致性。
因此:
POPE 虽然把自由生成改成 Yes/No probing,但仍然能较可靠地反映模型真正的 object hallucination tendency。
这属于一种:
23. POPE 与普通 VQA 能力不是一回事¶
作者在 A-OKVQA 和 GQA 上同时比较:
和:
结果发现:
模型 hallucination 少,并不意味着 VQA 一定强。
例如 MiniGPT-4:
意味着它 object hallucination 更少。
但:
说明它普通视觉问答能力反而更弱。
因此:
24. 为什么 LLaVA 的 VQA 可能比 MiniGPT-4 更强?¶
作者给出的可能解释是训练数据不同。
MiniGPT-4 的 instruction dataset 更多来自:
image caption data
而 LLaVA 使用:
158K visual instruction data
其中包含更复杂的视觉问答。
因此 LLaVA 可能:
更会回答复杂视觉问题
但同时:
object hallucination 不一定更低。
25. 和 CHAIR 论文的结论很像¶
CHAIR 论文曾说明:
并不意味着:
甚至二者可能一起上升。
POPE 这里则说明:
也不一定意味着:
二者共同揭示一个更一般的结论:
普通任务能力与模型可靠性是两个不同的评价维度。
也就是:
应该同时评价。
26. VQA 这里用什么指标?¶
不是 CIDEr,也不是 Precision / Recall / F1。
论文中:
GQA¶
使用:
A-OKVQA¶
使用:
VQA Score 会考虑多个人工答案之间的一致性,因此不是简单的 exact-match Accuracy。
27. 为什么作者用 ChatGPT 解析 VQA 输出?¶
LVLM 经常生成开放式回答。
标准答案可能是:
dog
模型却输出:
The animal shown in the image appears to be a dog.
直接字符串比较的话:
可能错误判分。
因此作者让 ChatGPT 做:
例如:
The animal ... is a dog.
转换成:
dog
再使用原来的 VQA evaluation。
这里 ChatGPT 更像 Parser,而不是 Judge¶
LLM Parser¶
主要负责:
从开放式文本中抽取标准答案。
最终仍由 ground truth 决定对错。
LLM-as-a-Judge¶
则是让 LLM 自己判断:
这个回答好不好、正确不正确、应该得几分。
后者风险更高,需要更多人工一致性验证。
28. POPE 的主要贡献¶
可以把论文贡献压缩成三部分。
Contribution 1:指出传统 CHAIR 对 LVLM 的不足¶
包括:
- Prompt sensitivity
- Generation style / length bias
- Manually designed parsing rules
- 对 object annotations 的依赖
Contribution 2:提出 POPE¶
把:
改成:
并设计:
- Random
- Popular
- Adversarial
三种 negative sampling。
Contribution 3:分析 LVLM Object Hallucination 的规律¶
发现:
- 高频 object 更容易被 hallucinate
- 高共现 object 更容易被 hallucinate
- 一些模型存在极其严重的 Yes Bias
- VQA 能力与 hallucination robustness 并不完全一致
29. 整篇论文的逻辑主线¶
我觉得这是最值得记住的部分。
Step 1:发现问题¶
LVLM 存在严重 object hallucination。
↓
Step 2:发现现有评估方法也有问题¶
CHAIR:
- 受 prompt 影响
- 受生成长度影响
- 需要复杂 parsing
- 依赖人工标注
↓
Step 3:观察 hallucination 的规律¶
发现 hallucination 不是随机的,而是偏向:
以及:
↓
Step 4:据此设计 POPE¶
把问题变成:
Is there a XXX in the image?
并设计:
↓
Step 5:实验验证¶
发现:
- 一些 LVLM 严重 Yes Bias
- Popular / Adversarial 更容易诱发 hallucination
- InstructBLIP 表现相对好
↓
Step 6:验证新指标本身是否可靠¶
作者进一步证明:
- SEEM-based POPE 可以扩展到无标注数据集
- POPE Yes/No 与自由 caption 高度一致
- POPE 测到的东西无法被普通 VQA benchmark 替代
最终形成完整闭环。
30. 从 POPE 学到的论文写作方法¶
这部分对以后自己做科研很值得学习。
30.1 不要直接说“我提出一个新 benchmark”¶
更好的逻辑是:
先证明旧方法哪里不够。
POPE 先分析 CHAIR:
- Prompt sensitivity
- Length bias
- Parsing problem
- Annotation cost
这样新方法的 motivation 就非常自然。
30.2 先观察现象,再设计方法¶
作者先观察:
以及:
然后才设计:
- Popular sampling
- Adversarial sampling
这是很好的研究逻辑:
而不是凭空想一个复杂方法。
30.3 提出新的 Proxy Metric 后,要验证它真的测到了目标¶
POPE 把:
变成:
别人完全可以质疑:
你测的还是原来的 hallucination 吗?
所以作者专门做 consistency experiment。
这是一种很值得学习的意识:
新指标不能只方便,还要证明有效。
30.4 新 Benchmark 最好证明旧 Benchmark 无法替代它¶
POPE 再和 VQA 做比较。
发现:
VQA 排名和 POPE 排名并不完全一致。
于是证明:
这和 CHAIR 证明:
是同一种论文论证套路。
30.5 可以进一步增强统计分析¶
如果自己做类似工作,除了:
还可以加入:
检验:
object frequency ranking 和 hallucination ranking 是否整体一致。
如果进一步深入,还可以考虑:
- Regression
- Significance Test
- Confidence Interval
- Normalized Hallucination Rate
- 控制 Frequency 后研究 Co-occurrence 的独立影响
但始终注意:
31. 最后一句话总结 POPE¶
如果组会上只能用一句话介绍 POPE,我会这样说:
POPE 将容易受到 Prompt、输出长度和解析规则影响的开放式物体幻觉评估,转换成针对物体存在性的 Yes/No probing,并通过 Random、Popular 和 Adversarial 三种负样本采样方式,专门评估 LVLM 对高频物体和共现先验的幻觉倾向。
如果再加一句论文更深层的结论:
一个模型“视觉任务做得好”并不意味着“它说得可靠”,因此能力和幻觉鲁棒性必须作为两个独立维度进行评估。