跳转至

Looking Back and Forth: Cross-Image Attention Calibration and Attentive Preference Learning for Multi-Image Hallucination Mitigation

会议: ECCV 2026
论文: ECCV 原文
代码: https://github.com/yyyxcleo/CAPL
领域: 多模态 VLM
关键词: 多图幻觉, 跨图注意力校准, 直接偏好优化, 注意力掩码, 视觉语言模型

一句话总结

本文把多图幻觉归因于自回归因果注意力造成的单向跨图信息流,提出 CAPL:在注意层面用「只让关键 token 跨图双向可见」的选择性跨图注意力做校准,再用「完整跨图交互 vs 屏蔽跨图」两种掩码分别生成正负样本做 DPO 加 NLL 的偏好学习,在 BLINK/MUIRBench 上稳定提升 1–3.6 个点且不损伤单图能力。

研究背景与动机

多图输入在真实应用里越来越常见——多视角对比、跨图信息整合、图文交错的多轮对话都要求模型不仅看懂每张图,还要建立图与图之间的关系与一致性。Idefics、Qwen-VL 这类模型已经支持多图输入,但它们的幻觉在多图场景下有不同于单图的形态:不是"图里有没有这个物体"那种单图目标幻觉,而是跨图关系推理时的"张冠李戴"——把 A 图的信息错配到 B 图、在关系推理中引入并不存在的实体与属性、或者干脆忽略图与图之间的关键差异而给出一个看似通顺的答案。现有的缓解手段大多是为单图设计的:解码策略(如 OPERA 式的过信任惩罚)、视觉对比解码、对齐训练,这些在多图下要么不适用,要么只能通过局部的结构改动去调整解码分布,并不触及"图与图之间到底怎么交互"。后续虽然出现了针对多图的解码方法(如 MIHBench 的思路)和精心设计的多图训练方案(MIA-DPO、PERL),但它们多数仍把每张图当作独立上下文来处理,跨图关系没有被显式建模。

问题的结构性根源在于注意力本身。现有基于 Transformer 的自回归 LVLM 把文本 token 和图像 token 放进同一个序列,用统一的因果掩码做自注意力:多图输入按顺序排列,后面的图能看见前面的图,而前面的图对后面的图完全不可见。这种信息流的单向性带来了天然的位置偏置,破坏了跨图关系建模所需要的对称性——模型很难在"图像 token 级别"建立稳定、对称的关联对齐。当跨图视觉交互不足时,多图推理就会退化成在文本 token 上做表层相关性匹配,而不是基于视觉证据的真实关系建模,预测于是越来越依赖语言先验和自回归生成偏置。论文用 Fig. 1(c) 里一个一致性判断题说明了这一点:错误回答的共同点是忽略图与图之间的差异,正确回答则用上了关键的跨图信息。

本文的切入角度很直接:既然偏差来自单向的注意力掩码,那就把跨图的因果约束拆掉,让不同图的 token 互相可见——标题里的 "Looking Back and Forth" 正是指这种后图能回看前图、前图也能前望后图的双向可见性。但光改推理时的掩码只是权宜之计,模型本身是在因果范式下预训练出来的,未必适应这种互相可见的交互;而常规 SFT 只让模型模仿正样本,无法惩罚它自己固有的幻觉推理路径。核心 idea:先用「保留图内因果、只放开跨图因果」的选择性跨图注意力校准推理时的信息流,再用同一套注意力的两种极端形态(放开全部跨图连接 / 完全切断跨图连接)分别诱导出正样本与"更爱幻觉"的负样本,把跨图证据的使用写进参数空间——即 Cross-Image Attention calibration + Preference Learning(CAPL)。

方法详解

整体框架

CAPL 要解决的是"多图输入下模型不看图与图之间的关系"这一件事,做法分成两段:推理路径上改掩码训练路径上用改出来的两种掩码造偏好数据再对齐。输入是 N 张图与交错排布的文本(问题 + 图),输出是模型生成的回答;中间经过三个阶段——先按视觉 token 的响应强度挑出每张图的"关键 token",把它们之间的因果掩码打开,得到增强掩码;再把跨图连接完全切断得到截断掩码,同一批问题在两种掩码下各生成一次,分别当正样本与负样本;最后用 DPO 拉开两者的概率差、并加一项 NLL 让模型去模仿正样本的 token 级生成轨迹。推理时直接用增强掩码,训练完成后的模型把"该跨图时跨图"的习惯固化进参数里。

值得先说明的一点是:这里改的是解码器自注意力掩码,不是引入新的注意力模块或新的网络分支——图像 token 仍在原序列里,变的只是"谁能看见谁",因此不需要改动 backbone 结构,可以直接套在 Qwen2.5-VL、InternVL2.5、GLM4.1VBase 这些已有模型上。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["多图输入 + 文本问题"] --> B["选择性跨图 token 交互<br/>能量选 key token、跨图掩码"]
    B -->|增强掩码产正样本 / 截断掩码产负样本| C["对抗式偏好对构造"]
    C --> D["跨图注意力引导的偏好优化<br/>DPO 对比 + NLL 模仿正样本"]
    D --> E["CAPL 微调后的 LVLM"]

关键设计

1. 选择性跨图 token 交互:只让关键 token 双向可见,而不是全放开

针对的痛点就是前面那条单向信息流:后续图的 token 能看见前面的图,前面的图看不见后面的图。论文的做法是重定义掩码——对不同图的 token 之间直接去掉因果约束,对同一张图内部则原样保留因果掩码,从而在打破跨图单向性的同时不破坏图内的位置结构。但把跨图连接全打开会引入大量冗余交互:信息密度和语义相关性在不同图之间差异很大,无关 token 之间的双向注意力只是噪声。于是论文加了一个基于嵌入能量的筛选:对第 k 张图的视觉 token,算它的响应强度(L2 范数)\(s_{k,i}=\|\mathbf{h}_{k,i}\|_2\),只保留强度排前 \(\lfloor \rho \tau_k \rfloor\) 个(\(\rho\) 是选择比例、\(\tau_k\) 是该图的 token 数)作为关键 token 集合 \(\mathcal{S}_k\)。最终的选择性跨图掩码只在"两侧都属于各自图的关键 token 集合"的位置上置零(即可见),其余位置退回原来的因果掩码:

\[ \mathbf{M}^{\mathrm{cross\_sel}}_{ij}= \begin{cases} 0, & g(i)\neq g(j),\ i\in\mathcal{S}_{g(i)},\ j\in\mathcal{S}_{g(j)}\\ \mathbf{M}^{\mathrm{causal}}_{ij}, & \text{otherwise} \end{cases} \]

其中 \(g(i)\) 是 token \(i\) 所属图像的编号。另外还有两个收尾细节:一是最终注意力权重取选择性跨图注意力与原始因果注意力的等权融合,而不是彻底替换——因为多图任务里也包含时间依赖型和单图查询型问题,完全放弃顺序结构未必最优;二是在解码器层之间做奇偶交替,奇数层用选择性跨图掩码、偶数层保留原始因果掩码,避免跨图交互干扰原有的自回归生成通路。这一设计单独用时的收益是"温和但稳定"的(消融里每个 backbone 都涨 0.2–0.7 个点),它的更大价值在于给后面的偏好学习提供了正样本的生成条件。

2. 对抗式偏好对构造:用"屏蔽跨图"反向逼出模型自己的幻觉

DPO 的效果高度依赖负样本质量——负样本越偏离真实分布,优化信号越强,而直接拿模型原始输出当负样本往往只是平庸的错误,暴露不出它的幻觉模式。论文的思路有点"以彼之矛":既然因果注意力在跨图时只允许单向流动,那就把这种不对称推到极端——定义一个截断掩码 \(\mathbf{M}^{\mathrm{trunc}}\),图内保持因果,不同图之间的注意力全部置为 \(-\infty\),让每张图在表示上互相独立。此时模型只能靠单张图和语言先验作答,"跨图关系推理"退化为文本先验推断,幻觉概率显著上升,正好用来当拒绝样本。论文在 Fig. 3 里对比了原始结构负样本与截断结构负样本,后者在 GLM4.1VBase 上准确率低了约 20%,说明它确实制造了更难的错误样本。正样本一侧则用增强的选择性跨图注意力生成回答,再借更强模型(Qwen3)的反馈做精修,保证正样本质量。论文还补了一类特殊负样本:最终答案正确、但因跨图注意力被屏蔽而推理路径错误的回答也纳入 DPO,用来让模型学会规避"结论对、过程错"的潜在错误。

3. 跨图注意力引导的偏好优化:DPO 拉开正负概率,NLL 补上轨迹模仿

偏好对一个来自跨图双向注意力、一个来自跨图完全屏蔽,形式上天然构成"是否使用跨图证据"的对照。给定图文输入 \(x_{\text{I,T}}\),用 \(y^+\) 表示增强掩码下的输出、\(y^-\) 表示截断掩码下的输出,训练目标是一个标准 DPO 项:

\[ \mathcal{L}_{\text{DPO}}(\pi_\theta;\pi_{\text{ref}})=-\log\sigma\Big(\beta\log\tfrac{\pi_\theta(y^+\mid x_{\text{I,T}})}{\pi_{\text{ref}}(y^+\mid x_{\text{I,T}})}-\beta\log\tfrac{\pi_\theta(y^-\mid x_{\text{I,T}})}{\pi_{\text{ref}}(y^-\mid x_{\text{I,T}})}\Big) \]

(⚠️ 原文 Eq. 12 的排版有损,此处按 DPO 标准形式整理,符号以原文为准。)作者强调 DPO 与 SFT 的关键区别:SFT 只模仿正样本,无法惩罚模型自身既有的错误推理模式;而 DPO 显式对比正负生成概率,能把"优先依赖跨图证据"这件事写进参数空间,而不是停在推理时的掩码调整上。

不过 DPO 只管正负之间的相对序,并不强制模型逐 token 复现正样本的高质量生成轨迹,可能出现"偏好序学会了、结构化的跨图推理过程没内化"的情况。为此论文在正样本上加了一项负对数似然:

\[ \mathcal{L}_{\text{NLL}}(\pi_\theta)=-\sum_{t=1}^{T}\log\pi_\theta\big(y^+_t\mid x_{\text{I,T}},y^+_{<t}\big) \]

两项加权求和构成总目标 \(\mathcal{L}_{\text{total}}=\mathcal{L}_{\text{DPO}}+\lambda\mathcal{L}_{\text{NLL}}\)\(\lambda\) 控制模仿项的权重。这一套只训练 LoRA(rank 16,学习率 1e-4),不动 backbone 主体。

损失函数 / 训练策略

训练集是自建的 3.6K 样本,取自 WikiArt、MDVP、Mantis-Instruct、VLM2Bench,并确保与所有评测基准不重叠。由于不同 backbone 的架构差异,超参按模型分别设置:选择比例 \(\rho\) 在 Qwen2.5-VL 与 InternVL2.5 上取 0.95、GLM4.1VBase 上取 0.9;NLL 权重 \(\lambda\) 对应为 2.5 / 2.5 / 2。训练用 LoRA(rank 16、学习率 1e-4),Qwen2.5-VL 与 GLM4.1VBase 走 LLaMAFactory,InternVL2.5 走 MS-Swift,评测统一在 VLMEvalKit 上、硬件为 NVIDIA L20。

实验关键数据

主实验

三个 backbone(Qwen2.5-VL-7B-Instruct、InternVL2.5-8B、GLM4.1VBase-9B)上,多图幻觉基准 BLINK / MUIRBench 与多图通用基准的对比:

模型 参数量 BLINK↑ MUIRBench↑ NLVR2 QBench2 MIBench MIRB
Qwen2VL 7B 53.17 39.57 87.41 76.8 69.20 31.68
InternVL2 7B 50.34 45.61 77.68 69.8 59.37 53.15
Qwen2.5-VL 7B 54.60 58.42 79.85 71.1 72.42 52.73
+CAPL (Ours) 7B 57.76 62.00 80.05 72.4 71.06 56.55
InternVL2.5 8B 54.81 48.54 90.42 75.5 63.42 54.18
+CAPL (Ours) 8B 55.76 52.12 90.13 75.3 65.11 56.55
GLM4.1VBase 9B 58.17 57.84 84.98 74.4 70.86 59.96
+CAPL (Ours) 9B 61.33 60.57 84.87 73.6 71.70 60.06

与近期多图对齐方法 SOFA、MIA-DPO 在同架构下的对比:

模型 基准 Base SOFA MIA-DPO CAPL
Qwen2.5-VL BLINK 54.60 54.92 56.50 57.76
Qwen2.5-VL MUIRBench 58.42 59.34 56.15 62.00
InternVL2.5 BLINK 54.81 55.02 54.45 55.76
InternVL2.5 MUIRBench 48.54 49.07 47.88 52.12
GLM4.1V BLINK 58.18 58.18 59.76 61.34
GLM4.1V MUIRBench 57.84 57.23 57.23 60.27

单图基准上的表现(↑ 越高越好,↓ 越低越好):

模型 POPE↑ CHAIRi↓ CHAIRs↓ MMB↑ AMBER↑
Qwen2.5-VL 81.23 7.2 29.6 88.15 85.13
+CAPL (Ours) 82.94 7.5 28.6 87.48 85.25
InternVL2.5 88.94 6.4 24.4 84.11 88.99
+CAPL (Ours) 89.08 7.3 23.8 84.27 89.79
GLM4.1VBase 84.79 7.2 22.0 84.36 89.20
+CAPL (Ours) 86.20 6.5 18.4 84.62 88.49

消融实验

组件逐级叠加(Base → 仅加跨图注意力 → 完整 CAPL):

配置 Qwen2.5-VL BLINK Qwen2.5-VL MUIRBench InternVL2.5 BLINK InternVL2.5 MUIRBench GLM4.1VBase BLINK GLM4.1VBase MUIRBench
Base 54.60 58.42 54.81 48.54 58.17 57.84
+Attn 55.34 58.96 55.02 49.07 58.23 58.07
Ours (Attn+DPO+NLL) 57.76 62.00 55.76 52.12 61.33 60.57

负样本构造方式在 MUIRBench 全部子任务上的对比(GLM4.1VBase):

配置 Overall Action Similarity Cartoon Counting Diagram Difference Geographic I-T Ordering Scene Grounding Retrieval
GLM4.1VBase 57.9 46.3 58.7 46.2 39.3 73.9 57.9 41.0 68.8 20.3 66.1 28.6 59.6
+Attn 58.1 47.0 56.6 46.2 40.2 74.9 57.4 41.0 68.8 23.4 65.6 28.6 61.0
⊕ Original DPO 59.5 46.3 62.8 47.4 40.6 75.6 58.5 44.0 73.3 20.3 69.4 31.0 55.8
⊕ Truncated DPO 60.6 48.2 59.7 48.7 42.7 76.9 60.3 48.0 72.6 21.9 70.4 31.0 59.6

(⚠️ 原文表 5 的表头首列标签与其余列数不完全对应,此处按正文点名的子任务与数值对应关系整理,子任务命名以原文为准。)

关键发现

  • 注意力和偏好学习是互补而非重复的:只加跨图注意力时三个 backbone 在两个基准上都是小幅上涨(如 Qwen2.5-VL MUIRBench 58.42→58.96),叠加上偏好训练后才出现明显跃升(→62.00)。论文的解释是前者强化了模型捕捉跨图依赖的能力,后者用偏好信号进一步约束生成过程。
  • MUIRBench 上的收益比 BLINK 大,最好的情况超过 3.5 个点。这个基准更强调复杂的跨图关系推理,恰好是"跨图信息流建模不足"最吃亏的地方;而 BLINK 上普遍在 1–3 个点。即便是 GLM4.1VBase-9B 这样的强基线也仍有稳定提升,说明强模型在多图下用的仍是很朴素的注意力机制。
  • 负样本"越坏越好":截断注意力生成的负样本准确率比原始结构负样本低约 20%,在 MUIRBench 子任务上带来的增益也更大,Geographic Understanding +7.0、Scene Understanding +4.3、Difference Spotting +2.4,在大多数子任务上优于原始 DPO(Retrieval 一项持平)。
  • 单图能力没有退化:CAPL 只用了多图样本训练,但 POPE、CHAIR、MMBench、AMBER 上基本持平或略升(Qwen2.5-VL 的 POPE 81.23→82.94,GLM4.1VBase 的 CHAIRs 22.0→18.4)。作者的推测是:把模型推离负样本的过程同时压低了它在单图上的潜在幻觉倾向,而多图偏好学习也顺带充实了视觉知识。注意也有个别指标小幅变差(如 InternVL2.5 的 CHAIRi 6.4→7.3),并非全面上扬。
  • 选择比例 \(\rho\) 存在最优点:随 \(\rho\) 增大性能上升,但接近 1 时略降,说明少部分图像 token 是噪声;保留"大部分但不是全部"关键 token 更合适,最优值为 Qwen2.5-VL / InternVL2.5 的 0.95 与 GLM4.1VBase 的 0.9。NLL 权重 \(\lambda\) 太小会让模型过度依赖 DPO 信号、削弱语言能力,太大则削弱偏好区分度,最优值为 2.5 / 2.5 / 2。

亮点与洞察

  • 把幻觉的成因定位到"注意力掩码的对称性"上,而不是数据或解码。改动只是一行掩码重定义(跨图去因果、图内保因果),却能直接对上多图任务的核心需求——跨图关系建模需要对称可见性。这种"从架构先验里找偏差"的分析视角比再堆一轮训练数据更可复用。
  • 负样本构造的"反向操作"很巧:通常做法是让模型自由发挥、挑错的当负样本;这里反过来把模型最不擅长的那种信息流状态(跨图完全不可见,退化为纯语言先验)变成生成条件,主动逼出幻觉。而且它天然与正样本构成同一变量(跨图可见性)的两个极端,偏好对的对照性非常干净,不需要额外的标注或奖励模型。
  • "答案对、路径错"的负样本是一个容易迁移的思路:很多多模态任务里最终答案正确并不代表推理可靠,把这类样本也纳入偏好对,相当于在结果监督之外补了一层过程监督,可以迁移到图表问答、多跳 VQA 等任何"过程可信度比答案更重要"的场景。
  • 推理时改动 + 训练时固化的组合值得借鉴:单靠推理时改掩码收益有限(消融里 +Attn 只有零点几个点),但它同时充当了高质量正样本的生成器,让训练信号与部署形态对齐;这种"把推理技巧转成数据构造手段"的做法可迁移到任何 test-time 方法上。

局限与展望

  • 强依赖跨图可见性这一前提:方法假设多图输入确实包含需要互相参照的信息。对于"准单图"设定(多张图语义上互不相关、只需各自回答),强制打开跨图注意力可能引入干扰;论文用等权融合与奇偶交替来缓解,但没有专门在这类场景做定量分析。
  • 正样本质量依赖 Qwen3 的外部反馈,论文只说了"用 Qwen3 精修",未给出精修前后的对比或质量评估,这部分的可复现性偏弱。
  • 选择比例 \(\rho\) 是按模型分别调出来的(0.95 / 0.95 / 0.9),三档取值非常接近,敏感性结论(接近 1 时下降)的实证支撑只有 Fig. 4 一条曲线,换模型后是否需要重调、代价多大尚不清楚。
  • 训练集规模较小(3.6K),虽刻意与评测集不重叠,但覆盖的任务类型有限;论文报告的提升集中在 BLINK 与 MUIRBench,对更长上下文(如 8 张以上图、多轮交错对话)的行为没有展开。
  • 表 1 与表 2 的 GLM4.1V 数值存在轻微出入(BLINK 58.17/61.33 对 58.18/61.34,MUIRBench 60.57 对 60.27),论文未作说明;引用时需要注意口径。

相关工作与启发

  • vs 训练无关的多图去偏方法(如 MIHBench 的注意力平均):他们通过在图像间平均注意力来削弱对某张图的偏向,但不更新参数,只能在解码分布上做局部调整;CAPL 在架构层重定义跨图掩码并把这种交互写进参数,因此在 MUIRBench 这类强关系推理基准上优势更明显。
  • vs MIA-DPO:MIA-DPO 通过多图增强构造偏好数据,但在本文的实验里它在不同模型和任务间波动较大(Qwen2.5-VL 的 MUIRBench 甚至从 58.42 掉到 56.15),且处理的主要是"多图输入里的准单图"设定,图像间往往语义无关;CAPL 的偏好对直接以"跨图证据是否可用"为对照变量,指向的是图与图之间真正的关系建模。
  • vs 常规 SFT / RLHF:SFT 只用正样本、无法惩罚模型自身的幻觉模式;RLHF 与 RLAIF 需要昂贵的负样本标注且难以捕捉模型的潜在幻觉方向。CAPL 用同一模型在两种掩码下的输出就构造出针对性极强的正负对,绕开了外部标注成本。
  • vs 单图幻觉缓解方法(对比解码、对齐训练等):这些方法针对的是"图里有没有该物体"式的目标幻觉,与多图下的跨图错配是不同的问题形态,直接迁移到多图效果有限——这也是本文强调"多图幻觉需要显式跨图建模"的出发点。

评分

  • 新颖性: ⭐⭐⭐⭐ 把多图幻觉归因到因果注意力掩码的跨图单向性上,并用同一掩码的正反两态构造偏好对,角度干净且少见;但 DPO、注意力掩码修改本身都是已有组件的组合。
  • 实验充分度: ⭐⭐⭐⭐ 三个 backbone、幻觉/通用/单图三类基准、组件消融与负样本消融都比较完整;不足是正样本精修过程、多图长上下文场景与子任务表头一致性未充分交代。
  • 写作质量: ⭐⭐⭐⭐ 动机链条(单向信息流→位置偏置→语言先验)讲得清楚,图表对应明确;公式排版有损、表 1/表 2 数值轻微不一致是扣分项。
  • 价值: ⭐⭐⭐⭐ 方法轻量(只改掩码 + LoRA)、跨架构可迁移、且不牺牲单图能力,"截断注意力造负样本"这一招可以被多图与多模态推理类工作直接借用。