缓解 MLLMs 幻觉不能只靠一句 prompt,通常要从 数据、模型结构、训练对齐、推理解码、外部工具、后处理校验、部署拒答机制 多层组合。MLLM 幻觉本质是"输出文本与图像/视频内容不一致",包括对象不存在、属性错误、关系错误、计数错误、OCR 错误、时序错误和专业知识错误等。相关综述也指出,幻觉已成为 MLLM 实际部署中的可靠性障碍,需要从成因、评估和缓解策略系统处理。(arXiv)
一、数据层缓解:减少"训练阶段学到的错误关联"
1. 清洗图文对齐数据
很多幻觉来自训练数据中的弱标注 caption,例如图像里没有某物,但 caption 中出现了该物;或者图像只显示局部,但文本描述过度丰富。
缓解方法:
| 方法 | 作用 |
|---|---|
| 过滤低质量 image-text pair | 减少图文不一致样本 |
| 用检测器/OCR/分割模型校验 caption | 避免 caption 中出现不存在对象 |
| 删除模板化、过度想象型 caption | 减少语言先验 |
| 构造细粒度视觉标注 | 增强属性、关系、位置 grounding |
适合缓解:对象幻觉、属性幻觉、关系幻觉。
2. 加入负样本和 hard negative
只训练"图中有什么"不够,还要训练"图中没有什么"。例如:
text
图中是否有猫?否。
图中是否有红色汽车?否,只有蓝色汽车。
图中左边是否有人?否,人在右边。
这种方式可以缓解模型看到"桌子"就自动联想到"盘子"、看到"街道"就自动联想到"汽车"的问题。POPE 这类评估基准正是通过对象存在性问答暴露这种语言先验和共现偏置。(arXiv)
适合缓解:对象存在性幻觉、共现偏置幻觉、否定问题幻觉。
二、视觉 grounding 层缓解:让模型真正"看图说话"
1. 引入检测、分割、OCR、深度等视觉专家
MLLM 直接从全局图像特征生成文本时,容易忽略小目标、文字、空间关系。工程上可以在 MLLM 前面接入:
| 视觉专家 | 缓解的幻觉 |
|---|---|
| Object Detector | 不存在对象、类别误判 |
| Segment Anything / Mask R-CNN | 目标边界、局部区域错误 |
| OCR | 图中文字、票据、表格幻觉 |
| Depth / Pose / 3D Detector | 空间位置、距离、姿态幻觉 |
| Tracking / Temporal Model | 视频动作和时序幻觉 |
例如在商品识别、工业巡检、机器人感知中,不建议只让 MLLM 看整图回答,而应先得到 box / mask / OCR / track id / object list,再让 MLLM 做解释或裁决。
2. 区域级输入,而不是只喂整图
对于细粒度问题,最好让模型看到相关区域:
text
输入:整图 + 检测框 crop + OCR 结果 + 对象列表
问题:这个区域中的瓶子是什么颜色?
这比只输入整图更可靠,尤其适合:
| 场景 | 原因 |
|---|---|
| 小目标识别 | 全局视觉 token 容易丢失小目标 |
| 多目标关系 | 需要明确哪个对象和哪个对象 |
| 商品/OCR/表格 | 需要局部高分辨率 |
| 医学/工业缺陷 | 细节决定结论 |
三、训练层缓解:让模型学会"不确定就不说"
1. Hallucination-aware SFT
在监督微调阶段加入专门的反幻觉数据,例如:
text
错误回答:图中有一只狗。
正确回答:图中没有狗,只有一只猫。
理由:图像中未出现狗的视觉证据。
可以训练模型具备以下能力:
| 能力 | 作用 |
|---|---|
| 承认看不清 | 减少强行回答 |
| 区分图中事实和常识推测 | 避免语言先验 |
| 给出视觉依据 | 增强 grounding |
| 识别不存在对象 | 缓解 object hallucination |
2. Reflective Instruction Tuning
Reflective Instruction Tuning 的思路是让模型不仅学习答案,还学习"为什么这个答案正确/错误"。REVERIE 数据集就构造了正确回答、混淆回答以及对应 rationale,让模型在训练中反思错误答案的原因。(arXiv)
适合缓解:
| 幻觉类型 | 作用 |
|---|---|
| 推理链幻觉 | 让模型检查中间推理 |
| 属性幻觉 | 说明视觉证据在哪里 |
| 关系幻觉 | 明确对象之间的依据 |
| 开放式回答幻觉 | 减少流畅但不忠实的长回答 |
3. 偏好优化:RLHF / RLAIF / DPO / V-DPO
偏好优化的核心是构造:
text
同一张图 + 同一个问题
A:忠实回答
B:带幻觉回答
训练模型偏好 A,远离 B
DPO 已被用于缓解 LVLM 幻觉,通过偏好对学习不同回答中的幻觉严重程度。V-DPO 进一步强调视觉引导,目标是降低模型对语言先验的过度依赖、增强视觉上下文学习。(Microsoft) (arXiv)
常见偏好数据构造方式:
| 类型 | 示例 | 适合缓解 |
|---|---|---|
| Response-contrast | 正确回答 vs 幻觉回答 | 开放问答幻觉 |
| Image-contrast | 正图 vs 干扰图 | 视觉 grounding 弱 |
| Object-negative | 有对象 vs 无对象 | 对象存在性幻觉 |
| Attribute-negative | 红色 vs 蓝色 | 属性幻觉 |
| Relation-negative | 左边 vs 右边 | 空间/关系幻觉 |
四、推理阶段缓解:不改模型也能降低幻觉
1. Visual Contrastive Decoding,VCD
VCD 是典型的 training-free 方法。它比较原图输入和扰动图输入下的输出分布,削弱由语言先验和统计偏置带来的幻觉,从而让输出更依赖真实视觉输入。(arXiv)
直观理解:
text
原图回答概率:有狗 0.65,有猫 0.70
扰动图回答概率:有狗 0.60,有猫 0.20
说明"狗"可能来自语言先验,"猫"更依赖图像。
最终降低"狗"的生成概率。
适合缓解:对象幻觉、共现偏置、语言先验过强。
2. Instruction Contrastive Decoding,ICD
ICD 通过构造"扰动指令"和正常指令之间的分布差异,抑制容易被指令诱导出来的幻觉概念。论文在 POPE、MME 和 LLaVA-Bench 上验证了它对对象级和属性级幻觉都有帮助。(arXiv)
适合缓解:
| 幻觉类型 | 例子 |
|---|---|
| 指令诱导幻觉 | "详细描述图中所有动物"导致模型编动物 |
| 属性幻觉 | 问颜色/材质时过度猜测 |
| 开放式描述幻觉 | 长描述中越说越偏 |
3. OPERA / Image-biased Decoding / Classifier-free Guidance
这类方法的共同目标是:降低语言模型惯性,提高视觉证据权重 。
有的方法惩罚"过度相信少数视觉 token"的注意力模式,有的方法在 decoding 时增强图像条件,有的方法利用 classifier-free guidance 方式强化视觉输入。MLLM 幻觉综述中也将 OPERA、Skip、VCD、ICD、图像偏置解码、视觉专家增强等列为代表性缓解方向。(arXiv)
适合缓解:生成式 caption 幻觉、对象幻觉、属性幻觉。
五、后处理纠错:先生成,再检查,再改写
1. Woodpecker
Woodpecker 是一种 training-free 后处理方法。它把模型回答拆成关键概念,然后生成问题、验证视觉知识、生成视觉声明,最后修正幻觉内容。它的优点是模型无关、可解释,适合作为外部纠错模块接在不同 MLLM 后面。(arXiv)
流程可以理解为:
text
原始回答
↓
抽取关键对象/属性/关系
↓
针对每个 claim 生成验证问题
↓
调用 VQA / detector / OCR 校验
↓
删除或改写无证据内容
适合缓解:开放式长回答幻觉、对象幻觉、属性幻觉。
2. LURE
LURE 是一种 post-hoc 幻觉修正方法,基于对象共现、解码不确定性、幻觉常出现在生成后半段等观察,对描述进行重构,以降低对象幻觉。论文报告其在多个开源 LVLM 上改善了对象幻觉指标。(arXiv)
适合缓解:caption 中的对象编造、长文本后半段越说越幻觉。
3. Detect-then-Rewrite
更工程化的做法是:
text
MLLM 初始回答
↓
句子级 hallucination detector
↓
标记可疑句子
↓
调用视觉工具验证
↓
重写回答
细粒度 AI feedback 方法就是用专有模型生成句子级幻觉标注,再训练检测器,并构造偏好数据做缓解训练。(AAAI Publications)
六、RAG / 工具增强:解决知识型和专业领域幻觉
MLLM 幻觉不只来自视觉,也来自知识。例如医学、法律、工业设备、商品说明书等场景,图像本身不足以回答全部问题。此时应使用 Multimodal RAG:
text
图像/视频输入
↓
检测/OCR/Caption/Embedding
↓
检索相似图像、文档、说明书、病例库、知识库
↓
MLLM 基于证据回答
↓
输出引用/证据区域
医学 MLLM 中也有工作使用 visual-based RAG 来降低医学多模态模型的幻觉,使回答更依赖检索到的视觉和文本证据。(arXiv)
适合缓解:
| 幻觉类型 | 例子 |
|---|---|
| 知识幻觉 | 编造疾病结论、设备参数 |
| OCR/文档幻觉 | 表格、票据、合同理解 |
| 长尾类别幻觉 | 稀有商品、工业零件 |
| 专业术语幻觉 | 医学、材料、机器人、芯片 |
七、Prompt 与输出约束:简单但不能单独依赖
Prompt 不能根治幻觉,但能降低一部分风险。推荐使用:
text
请只根据图像中可见内容回答。
如果看不清、无法确认,请回答"无法确定"。
不要根据常识补充图中不存在的信息。
回答时列出视觉依据。
对于工程部署,更推荐结构化输出:
json
{
"answer": "无法确定",
"visible_evidence": ["图中只看到局部车身", "没有清晰车牌"],
"uncertain_fields": ["品牌", "型号"],
"need_human_review": true
}
比自由长文本更安全。
八、按幻觉类型选择缓解方法
| 幻觉类型 | 推荐方法 |
|---|---|
| 对象不存在却说存在 | 负样本训练、POPE-style 数据、VCD、检测器校验、Woodpecker |
| 属性错误 | 局部 crop、高分辨率输入、属性负样本、ICD、Reflective SFT |
| 关系/空间错误 | 检测框 + 坐标关系、场景图、区域级问答、关系负样本 |
| 数量错误 | 检测/分割计数工具、实例级 mask、计数专用模型 |
| OCR 幻觉 | 外接 OCR、版面分析、文本区域 crop、OCR 结果强约束 |
| 长回答越说越假 | 句子级 fact-check、Woodpecker、LURE、FaithScore-style 原子事实验证 |
| 视觉推理幻觉 | rationale 监督、反事实数据、Reflective Instruction Tuning |
| 知识型幻觉 | Multimodal RAG、知识库检索、引用证据 |
| 视频时序幻觉 | 帧级采样、目标跟踪、动作识别、时序记忆、事件图谱 |
| 高风险领域幻觉 | 专家规则、人工审核、拒答机制、证据链输出 |
九、工程实践推荐组合
轻量方案:不改模型
适合快速接入现有 MLLM:
text
Prompt 约束
+ 检测器/OCR/分割工具
+ VCD/ICD 类 decoding
+ Woodpecker/LURE 后处理
+ 不确定性拒答
优点:成本低、无需训练。
缺点:上限受基础 MLLM 能力限制。
中等方案:微调模型
适合企业内部数据场景:
text
清洗图文数据
+ 负样本构造
+ hallucination-aware SFT
+ reflective instruction tuning
+ DPO/V-DPO 偏好优化
优点:效果更稳定,适合特定业务。
缺点:需要训练数据和评估集。
高可靠方案:工业/医学/机器人
适合高风险部署:
text
视觉专家模型
+ MLLM 解释/裁决
+ Multimodal RAG
+ 原子事实校验
+ 人工审核闭环
+ 持续评测 POPE / AMBER / MMHal / FaithScore / 业务自建集
核心原则是:不要让 MLLM 单独承担感知事实判断,而是让它基于检测、OCR、检索和规则证据进行推理。
十、最重要的结论
缓解 MLLMs 幻觉可以归纳为一句话:
减少语言先验,增强视觉证据;减少自由发挥,增加可验证约束;减少一次性生成,增加检测-校验-修正闭环。
在实际系统中,最有效的组合通常是:
text
高质量图文数据
+ 负样本/反事实训练
+ 视觉 grounding
+ DPO/V-DPO 偏好优化
+ VCD/ICD 推理解码
+ RAG/工具校验
+ 拒答和人工审核
其中,对象存在性幻觉 优先用负样本、VCD、检测器校验;属性/关系幻觉 优先用局部区域 grounding 和反事实训练;知识型幻觉 优先用 RAG;高风险场景必须加拒答、证据链和人工复核。