AdaIAT: Adaptively Increasing Attention to Generated Text to Alleviate Hallucinations in LVLM¶
会议: CVPR 2026
论文: CVF Open Access
代码: https://github.com/XianguiKang/AdaIAT.git
领域: 多模态VLM / 幻觉缓解
关键词: LVLM幻觉, 注意力干预, 自适应解码, 生成文本注意力, 免训练
一句话总结¶
针对"放大图像注意力虽能压幻觉、却让模型重复啰嗦"的痛点,本文发现真实物体 token 比幻觉 token 对已生成文本 \(T_p\) 的注意力更高,于是改为增大对 \(T_p\) 的注意力(IAT),并进一步用逐层阈值控制"何时干预"、用逐头放大矩阵控制"放大多少"(AdaIAT),在 LLaVA-1.5/Janus-Pro/Qwen2.5-VL 上把幻觉率(CS/CI)显著降低的同时几乎不损失文本多样性。
研究背景与动机¶
领域现状:大视觉语言模型(LVLM)的幻觉——描述里出现图中根本不存在的物体——是落地的主要障碍。近期一类很受欢迎的免训练方法是注意力干预:研究者发现幻觉与"模型忽视图像、对图像 token \(V\) 的注意力不足"高度相关,于是在推理时直接放大对 \(V\) 的注意力权重,代表作有 PAI、HGAI。这类方法不需训练、推理开销低,是目前性价比最高的幻觉缓解路线。
现有痛点:放大图像注意力是把双刃剑。作者观察到,PAI/HGAI 在压低幻觉率的同时,会明显损害语言能力——具体表现为重复啰嗦:模型反复描述图中最显眼的物体(论文图 1 里反复说"clock tower""the motorcycle is parked on the street"),文本多样性指标 Distinct-1 在 LLaVA-1.5-7B 上掉了约 15%。
核心矛盾:为什么放大图像注意力会导致重复?因为注意力经过 softmax 是"零和"的——把权重大量分给图像 token \(V\),相对就压低了对已生成文本 \(T_p\) 的注意力。而 \(T_p\) 承载着"我刚才说过什么"的上下文记忆。注意力一旦偏离 \(T_p\),模型就"忘了"前文,只能对着图里最突出的物体一遍遍重说。于是幻觉率与语言连贯性之间形成了 trade-off。
切入角度与核心 idea:作者没有继续在 \(V\) 上做文章,而是反问——能不能不动 \(V\)、改去放大对 \(T_p\) 的注意力?支撑这个想法的是一个关键观察:统计 22,015 个真实物体 token 与 9,473 个幻觉物体 token 的注意力分布后发现,真实物体 token 对 \(T_p\) 的注意力显著高于幻觉物体 token(约 1.5×–2.5×),这个差距甚至比它们在图像 \(V\) 上的差距(约 1.2×–1.5×)更明显。原因在于:\(V\) 是视觉编码器产出的、与文本异构、且含大量"与指令无关"的视觉信息;而 \(T_p\) 是 LLM 在已看过图像和指令后亲自组织出来的输出,天然就是"指令相关、被压缩提纯"的视觉信息,且本就处于文本特征空间 \(I_s\) 内,弥合了模态鸿沟。因此核心 idea 是:用增大对 \(T_p\) 的注意力来同时压幻觉、保连贯——前者靠 \(T_p\) 里浓缩的指令相关视觉信息支撑准确描述,后者靠 \(T_p\) 里的上下文知识维持语言多样性。
方法详解¶
整体框架¶
方法建立在标准自回归解码之上,是一个免训练、仅在前向推理时修改注意力权重的干预策略,分两层递进。设第 \(n\) 步要预测 token \(t_{n+1}\),LLM 输入 \(I\) 由系统提示 \(S\)、图像 token \(V\)、用户指令 \(U\)、已生成文本 \(T_p=\{t_1,\dots,t_n\}\) 拼成;对第 \(l\) 层第 \(h\) 头,对 token \(t_n\) 的自注意力为 \(\boldsymbol{A}^{(l,h)}=\mathrm{softmax}(\tilde{\boldsymbol{A}}^{(l,h)})\),其中 \(\tilde{\boldsymbol{A}}^{(l,h)}=\boldsymbol{Q}^{(l,h)}_{t_n}(\boldsymbol{K}^{(l,h)})^\top/\sqrt{d_k}\)。
第一层是 IAT(Increase Attention to \(T_p\)):在 LLM 的中间层(5–18 层)对所有指向 \(T_p\) 的注意力做朴素放大,把 PAI 那套"放大图像注意力"的目标对象从 \(V\) 换成 \(T_p\)。第二层是 AdaIAT:朴素放大有两个粗糙之处——不管当前有没有幻觉倾向都一直放大(破坏正常预测),以及对所有注意力头一视同仁地用固定放大系数(忽略了不同头的差异)。AdaIAT 用逐层阈值判断"这一层对 \(T_p\) 的注意力是否真的不足、需不需要触发干预",再用逐头放大矩阵 \(\mathcal{M}\) 给每个头分配定制化的放大幅度,让干预既精准又最小化对原生预测的扰动。整套方法的关键参数(阈值 \(\mathcal{T}\)、矩阵 \(\mathcal{M}\))从 COCO 统计一次得到后固定,迁移到其他数据集时不再重算。
关键设计¶
1. IAT:把放大对象从图像换成"已生成文本" \(T_p\),一举压幻觉又防重复
这一步直接回应"放大图像注意力会导致重复啰嗦"的痛点。作者不再去加大对 \(V\) 的注意力,而是在中间层(\(l\in(5,18)\))对所有 \(\mathcal{I}(i)\in T_p\) 的注意力做朴素放大:
其中 \(\alpha\) 是放大系数。与 PAI 唯一也是最本质的区别是:PAI 的 \(\mathcal{I}(i)\in V\)(放大图像),IAT 的 \(\mathcal{I}(i)\in T_p\)(放大已生成文本)。之所以有效,是因为 \(T_p\) 本身就是模型在看过图像和指令后提纯出的"指令相关视觉信息",放大它等于让模型在每个自回归步都更倚重这份浓缩的视觉先验,从而压低幻觉;同时 \(T_p\) 含有上下文记忆,注意力留在它身上,模型就不会"忘了前文"去重复描述显眼物体。实验里 IAT 的 Distinct-1 分布与原始 Greedy 几乎重合、甚至在高分段(0.65–0.8)占比更高,而 PAI/HGAI 的分布明显左移(更重复),印证了这一点。只在 5–18 中间层干预也很关键:消融显示在 0–18 或 5–31 这种跨段干预会让模型直接崩溃(F1 跌到 30–48、D1 跌到 0.03–0.16)。
2. 逐层阈值:只在"对 \(T_p\) 注意力确实不足"时才触发干预
朴素 IAT 不管模型当前是否要犯幻觉都一直放大——可幻觉是偶发的,多数时候模型预测是正常的,盲目放大会让正常预测时 \(T_p\) 注意力异常偏高,反而损害准确率。为此 AdaIAT 引入逐层阈值 \(\mathcal{T}\in\mathbb{R}^L\):
其中 \(\bar{\mathbf{A}}_{T_p}^{r}\)、\(\bar{\mathbf{A}}_{T_p}^{h}\) 分别是真实/幻觉物体生成时(在 COCO 上统计的)逐层平均 \(T_p\) 注意力,\(\beta\) 是平衡系数,相当于把触发线放在"幻觉态"与"真实态"之间按 \(\beta\) 插值的位置。推理时若某层实际注意力 \(\bar{\mathbf{A}}^{(l)}_{T_p}<\mathcal{T}(l)\),说明这一层对 \(T_p\) 关注不够、有幻觉风险,就触发 IAT;若 \(\bar{\mathbf{A}}^{(l)}_{T_p}\ge\mathcal{T}(l)\),说明注意力充足,保持正常解码、不做任何干预。\(\beta\) 太小则干预太弱、压不住幻觉,太大则触发过于频繁、又破坏原生预测——消融里 \(\beta\) 从 0.1 升到 0.5 幻觉持续下降,\(>0.5\) 后 CS/CI 反弹且 F1/D1 下滑,故取 \(\beta=0.5\)。
3. 逐头放大矩阵 \(\mathcal{M}\):按每个注意力头的"幻觉敏感度"定制放大幅度
固定 \(\alpha\) 对所有头一刀切,但不同头在生成真实 vs 幻觉物体时的注意力差异很不一样——有的头差异巨大(生成幻觉时对 \(T_p\) 关注严重不足),有的头差异很小。AdaIAT 据此构造逐头放大比例矩阵:
\(\mathcal{M}^{(l,h)}\) 表示第 \(l\) 层第 \(h\) 头上"真实态/幻觉态"的平均 \(T_p\) 注意力之比,它天然指向"把幻觉注意力模式拉回真实注意力模式"的方向。于是把 IAT 的放大改写为按头加权、并重归一化以保持概率和为 1:
这样 \(\mathcal{M}\) 大的头(幻觉时注意力亏空大)获得更强放大、被使劲拉回真实模式,\(\mathcal{M}\) 小的头则维持弱放大、避免扰乱本就正常的注意力。注意这里干预的是 softmax 之后的 \(\boldsymbol{A}\)(IAT 朴素版干预的是 softmax 之前的 \(\tilde{\boldsymbol{A}}\)),因为 \(\mathcal{M}\) 是 \(\boldsymbol{A}\) 上真实/幻觉之比,需在同一空间放大后再归一化。\(\alpha\) 在此是整体强度,消融显示 \(\alpha=6\) 时 F1 最高(79.4),\(\alpha\ge 8\) 后 D1 开始恶化,故取 6。正是这套"逐头自适应"让 AdaIAT 在相近幻觉率与多样性下,F1 比 IAT 高 2.6,体现更强的预测能力。
实验关键数据¶
主实验¶
在三类代表性 LVLM(LLaVA-1.5-7B/13B、Janus-Pro-7B、Qwen2.5-VL-7B)上用 CHAIR 评测,CS(句级幻觉率)/CI(实例级幻觉率)越低越好,F1(物体描述准确丰富度)/D1(Distinct-1 文本多样性)越高越好。下表节选 LLaVA-1.5-7B 与 Janus-Pro-7B(基于 Greedy 解码):
| 模型 | 方法 | CS ↓ | CI ↓ | F1 ↑ | D1 ↑ |
|---|---|---|---|---|---|
| LLaVA-1.5-7B | Greedy | 49.0 | 13.3 | 77.9 | 0.60 |
| LLaVA-1.5-7B | PAI | 31.8 | 7.8 | 77.7 | 0.50 |
| LLaVA-1.5-7B | HGAI | 31.4 | 6.9 | 78.3 | 0.50 |
| LLaVA-1.5-7B | IAT | 29.8 | 9.0 | 76.8 | 0.61 |
| LLaVA-1.5-7B | AdaIAT | 31.4 | 8.3 | 79.4 | 0.60 |
| Janus-Pro-7B | Greedy | 25.8 | 6.7 | 76.8 | 0.62 |
| Janus-Pro-7B | PAI | 20.4 | 5.6 | 76.1 | 0.61 |
| Janus-Pro-7B | HGAI | 21.0 | 5.3 | 75.9 | 0.62 |
| Janus-Pro-7B | AdaIAT | 19.0 | 4.9 | 76.5 | 0.64 |
关键对照:PAI/HGAI 在 LLaVA-1.5-7B 上把 D1 从 0.60 砸到 0.50(多样性掉约 15%),而 IAT/AdaIAT 维持在 0.60–0.61,幻觉率却相当甚至更低。相对 LLaVA-1.5-7B 的 Greedy,AdaIAT 把 CS 降 35.8%、CI 降 37.1%(论文摘要口径)。AdaIAT 在 Janus-Pro/Qwen2.5-VL 上同时拿到最低 CS/CI 与较高 F1,并能叠加到 Sample 解码上(AdaIAT† 在 Qwen2.5-VL 上 CS 42→34.6、F1 72.5→75.1)。
补充评测进一步佐证"保多样性"这一卖点:
| 评测 | 指标 | Greedy | PAI | HGAI | IAT | AdaIAT |
|---|---|---|---|---|---|---|
| OpenCHAIR | Co ↓ | 0.292 | 0.266 | 0.261 | 0.254 | 0.252 |
| OpenCHAIR | D1 ↑ | 0.61 | 0.51 | 0.53 | 0.61 | 0.61 |
| IIW-400 文本质量 | Bself ↓ | 0.058 | 0.242 | 0.247 | 0.090 | 0.071 |
| IIW-400 文本质量 | Bd ↑ | 59.48 | 56.80 | 56.61 | 58.99 | 58.29 |
消融实验¶
| 配置 | 关键现象 | 说明 |
|---|---|---|
| IAT vs AdaIAT | 相近 CS/D1 下 F1 +2.6 | 逐头自适应放大带来预测能力增益 |
| \(\alpha\)(IAT) | \(\alpha\ge0.8\) 后 F1/D1 骤降 | IAT 取 \(\alpha=0.8\) |
| \(\alpha\)(AdaIAT) | \(\alpha=6\) 时 F1 最高 79.4,\(\ge8\) 后 D1 退化 | AdaIAT 取 \(\alpha=6\) |
| \(\beta\) | 0.1→0.5 幻觉持续降,>0.5 后 CS/CI 反弹 | 触发阈值,取 \(\beta=0.5\) |
| 干预层(5–18 中间层) | 跨段 0–18/5–31 让模型崩溃(F1 30–48, D1 0.03–0.16) | 中间层最均衡 |
关键发现¶
- 逐头自适应是 AdaIAT 相对 IAT 的核心增量:去掉它退化为 IAT,相近条件下 F1 掉 2.6,说明"不同头差异化放大"对维持原生预测确实有用。
- 干预层位极其敏感:只在中间 5–18 层干预最稳;一旦把浅层与中/深层组合(0–18、5–31),IAT 会直接崩盘(D1 跌到 0.036),AdaIAT 也明显掉点。这提示放大对 \(T_p\) 的注意力是把双刃剑,必须限制在"语义已成形、又未到输出锁定"的中间层。
- \(\beta\) 存在最优值而非越大越好:触发越频繁 ≠ 效果越好,过度触发会让 \(T_p\) 注意力异常偏高,反而升幻觉、掉 F1/D1,印证了"自适应触发时机"的必要性。
亮点与洞察¶
- 把"放大什么"从 \(V\) 换成 \(T_p\) 是四两拨千斤的视角转换:同样是注意力干预、同样免训练,仅改变干预对象就同时解决了幻觉与重复,且有清晰的统计观察(真实 token 对 \(T_p\) 的注意力 1.5–2.5× 高于幻觉 token)支撑,不是拍脑袋。
- 用"真实态/幻觉态"统计量同时驱动阈值与放大幅度:\(\mathcal{T}\)(何时干预)和 \(\mathcal{M}\)(放大多少)都来自 \(\mathbf{A}^r_{T_p}\) 与 \(\mathbf{A}^h_{T_p}\) 这对离线统计量,思路统一——"把幻觉时的注意力分布拉回真实时的分布"。这种"用真实-幻觉差异图谱当导航"的做法可迁移到其他需要细粒度、逐头干预的解码任务。
- 解释了 PAI/HGAI 重复的成因(softmax 零和挤压 \(T_p\)),把一个经验现象讲成了机制,对后续注意力干预方法是有用的告诫。
局限性 / 可改进方向¶
- 阈值 \(\mathcal{T}\) 与放大矩阵 \(\mathcal{M}\) 依赖在 COCO 上的离线统计:虽然论文显示固定后可跨数据集迁移,但其在与 COCO 分布差异很大的领域(医学、文档、长尾物体)上的鲁棒性未充分验证 ⚠️,统计样本的偏置可能被带进 \(\mathcal{M}\)。
- 干预层窗口(5–18)像是按 LLaVA-1.5-7B 经验定的超参:换模型/换层数时这个窗口是否仍最优、需不需要重新搜索,论文未给自动化方案;消融也表明层位选错会导致崩溃,鲁棒性边界偏窄。
- 评测集中在图像详述(captioning)类任务与 CHAIR 系指标:对 VQA、多轮对话、推理类任务的幻觉是否同样有效尚不清楚;GPT-4 辅助评测(HalluBench)只在 200 张 VG 图上做,规模有限。
相关工作与启发¶
- vs PAI:PAI 全局放大对图像 token \(V\) 的注意力,本文放大对已生成文本 \(T_p\) 的注意力——唯一本质差别就是干预对象 \(\mathcal{I}(i)\) 从 \(V\) 换成 \(T_p\)。优势是避免了 PAI 因挤压 \(T_p\) 注意力导致的重复啰嗦(D1 不掉),代价是需要离线统计 \(\mathcal{T}/\mathcal{M}\)。
- vs HGAI:HGAI 也是放大图像注意力、并融合多头信息,同样有 D1 退化问题;AdaIAT 在 HSR/HWR 上略逊 HGAI 但 D1 远高,整体 trade-off 更均衡。
- vs 解码对比类(VCD/AGLA):VCD 靠对比原始与扰动视觉输入的输出分布、AGLA 靠全局+局部注意力集成解码;它们不直接改注意力权重,开销与本文路线不同,AdaIAT 走的是更轻量的纯注意力放大路线。
- vs 后处理类(LURE/Woodpecker):后者需训练改写器或调用专家模型做事后纠错,开销大;本文免训练、仅前向干预,推理成本低。
评分¶
- 新颖性: ⭐⭐⭐⭐ "放大对象从图像换成生成文本"是清晰且有观察支撑的新视角,但仍在注意力干预这一既有框架内。
- 实验充分度: ⭐⭐⭐⭐ 覆盖 4 个 LVLM、4 类幻觉评测(CHAIR/OpenCHAIR/HalluBench/IIW-400)+ 充分消融,但任务类型偏 captioning。
- 写作质量: ⭐⭐⭐⭐ 动机—观察—方法递进清楚,公式与图示到位。
- 价值: ⭐⭐⭐⭐ 免训练、低开销、可叠加到不同解码,工程实用性强。