SID:基于早期解码层低注意力视觉 Token 保留的自省式对比解码
论文:Self-Introspective Decoding: Alleviating Hallucinations for Large Vision-Language Models
作者:Fushuo Huo
, Wenchao Xu , Zhong Zhang , Haozhao Wang , Zhicheng Chen , Peilin Zhao 机构:
香港理工大学(PolyU)· 香港科技大学(HKUST)· 腾讯 AI Lab(Tencent AI Lab)· 华中科技大学(HUST)· 清华大学(Tsinghua University) 发布时间:2024 年 8 月(
arXiv:2408.02032)发表状态:
ICLR 2025(pp. 24272–24295)分类标签:
LVLMHallucination MitigationContrastive DecodingVision Token PruningSelf-Introspective DecodingTraining-FreeICLR 2025
一句话总结
针对现有对比解码方法(如 VCD、ICD)对全局视觉或文本输入施加无差别扰动(Holistic Input Disturbance) 从而引入随机不确定性噪声、在贪心解码下甚至损害简单视觉识别且使推理耗时翻倍的缺陷,提出自省式解码(Self-Introspective Decoding, SID) 及其核心组件上下文与文本感知 Token 选择策略([-1])的跨头平均自注意力分数,反直觉地剪除高关注度前景 Token、仅保留约 10% 注意力最低的次要/背景视觉 Token 输入后续解码层;这一设计既精准诱发了由背景上下文与文本历史共同驱动的跨模态关联幻觉(Vision-and-Text Association Hallucination) 以便在对比相减时将其抵消,又砍掉了负分支后
核心贡献
- 揭示全局输入扰动对比解码(VCD / ICD)的两大根本局限:
- 与图文语义无关的盲目不确定性噪声:通过实验(表 1)证明,VCD(全局图像加高斯噪声)与 ICD(添加负面角色指令)对输入施加无差别扰动,在贪心解码(Greedy) 下评测简单子集(POPE Random)时准确率(
87.8%/87.9%)反而低于不加任何干预的标准贪心解码(88.8%);而在采样解码(Sampling) 下,一旦移除自适应合理性约束(Adaptive Plausibility Constraint, APC),VCD 与 ICD 的性能立即崩塌至基线以下(Random 从84.9%跌至83.3% / 82.7%,恶化至 51.9 / 52.2),说明其性能收益高度依赖后处理截断而非精准的幻觉建模。 - 双倍全序列前向计算开销:负分支同样需要处理完整的
(或 )个视觉 Token,导致推理延迟接近原模型的 。
- 与图文语义无关的盲目不确定性噪声:通过实验(表 1)证明,VCD(全局图像加高斯噪声)与 ICD(添加负面角色指令)对输入施加无差别扰动,在贪心解码(Greedy) 下评测简单子集(POPE Random)时准确率(
- 提出与 Token 剪枝方向相反的“上下文与文本感知 Token 选择(
)”:不同于传统加速剪枝(如 FastV)保留高注意力 Token、也不同于 AVISC 将高注意力“盲点 Token”作为负分支,SID 指出:在解码器前 层完成初步图文交互后,仅保留注意力最低的 Top- (默认 10%)视觉 Token,能够抹去当前问题真正关注的前景目标,同时保留场景背景线索,从而最有效地激发模型基于“残余视觉背景 + 历史生成文本”产生的虚假共现幻觉。 - 兼具 SOTA 幻觉抑制、通用多模态能力无损与 ~30% 推理加速:由于负分支在第
层后裁掉了 90% 的视觉 Token,SID 将对比解码的额外计算开销压缩了约 30%(在 V100 上耗时从 VCD 的 904s降至668s,额外显存仅+94 MB),并且在抑制幻觉的同时不损伤甚至提升了 MME(1510.8 -> 1520.4)、MMBench、MathVista、MMVet 与 MMMU 等通用多模态评测基准。
1. 问题诊断:为什么 VCD 与 ICD 的全局输入扰动不够好?
1.1 视觉对比解码(Contrastive Decoding)的标准形式与合理性截断
给定视觉输入 Token 序列
其中
对于
1.2 全局扰动(VCD / ICD)的失效机理验证
作者在 MSCOCO POPE 的 Random(随机负样本,测试基础前景识别)与 Adversarial(高共现对抗负样本,测试关联幻觉)两个子集上,对 LLaVA-1.5 7B 进行了剥离 APC 约束(w/o Eq. 3)及切换采样/贪心解码的诊断实验(表 1):
| 解码方式与方法 | Random Acc | Random F1 | Adversarial Acc | Adversarial F1 | 诊断结论 |
|---|---|---|---|---|---|
| Sampling(直接采样, | 84.9 | 83.2 | 78.7 | 78.9 | 采样随机性导致性能显著低于贪心 |
| VCD (Sampling, | 87.7 | 87.6 | 80.6 | 81.9 | 依赖 APC 截断过滤采样噪声 |
| VCD w/o Eq. 3(移除 APC) | 83.3 | 80.5 | 76.2 | 75.8 | 移除截断后全面跌破直接采样基线 |
| ICD w/o Eq. 3(移除 APC) | 82.7 | 81.6 | 75.4 | 76.7 | 移除截断后同样严重退化 |
| SID(本文,Sampling) | 89.3 | 89.4 | 82.6 | 83.7 | 全面领先 VCD / ICD |
| SID w/o Eq. 3(移除 APC) | 87.4 | 86.4 | 80.5 | 79.8 | 即使移除 APC 仍显著优于采样基线 |
| Greedy(标准贪心解码) | 88.8 | 88.5 | 79.3 | 80.9 | 简单子集已很强,对抗子集受共现幻觉困扰 |
| VCD (Greedy) | 87.8 | 87.9 | 80.9 | 82.0 | 在简单 Random 子集上反而损害了原模型(-1.0%) |
| ICD (Greedy) | 87.9 | 87.8 | 80.2 | 81.3 | 在简单 Random 子集上同样出现倒退(-0.9%) |
| SID(本文,Greedy) | 89.5 | 89.7 | 83.3 | 84.2 | 在简单与对抗子集上双双显著提升 |
这一实验揭示了全局扰动的致命缺陷:向整张图注入高斯噪声(VCD)或加入负面指令(ICD)并不知道当前文本正在询问哪个目标,其诱导出的负分支分布
2. 核心方法:自省式解码(SID)与 策略
2.1 自省式跨模态注意力评估(Self-Introspective Assessment)
LVLM 的自回归解码器由
在自回归解码的每一个时间步,序列的最后一个位置 [-1] 恰好汇聚了前序所有视觉 Token [-1] 上对所有视觉 Token 索引集合
相比于利用视觉编码器内部 [CLS] Token 注意力的方法,
2.2 上下文与文本感知 Token 选择( ):为什么保留注意力最低的 10%?
拿到第
- 做减法(保留低注意力 Token)而非做加法(保留高注意力 Token):
- 如果在分支中保留高注意力 Token
并用加法强化 (论文式 6, Add变体),虽然能在简单 Random 子集上维持准确率(88.9%),但在 Adversarial 对抗子集上准确率仅为79.4%(远低于 SID 的82.6%,表 2)。原因在于:高注意力 Token 在原始完整分支中本来就已经占据主导地位, Add只是重复奖励了已经很高的前景分数,却完全没有压制由背景共现激发的幻觉候选词分数。 - 反之,如果在负分支中剪除所有高注意力前景 Token,仅保留
最低的 Top- (默认 ,例如 LLaVA-1.5 中 个)视觉 Token 作为 :此时负分支看不见当前询问的核心前景目标(例如看不见图中的“棒球运动员”),但依然能看见周围的次要背景(例如“绿茵草地”和“观众席”)以及前文已生成的体育描述,于是模型内部潜藏的跨模态虚假共现先验被彻底激活,在负分支中高概率预测出 "football"或"basketball"等关联幻觉词;随后通过对比相减,这些共现幻觉词被精准定点清除!
- 如果在分支中保留高注意力 Token
- 在早期解码层之后(
)剪枝,而非在输入层( )或深层剪枝: - 若在进入解码器前就丢弃全部视觉 Token(即
保留,退化为 M3ID / VIG 的无图分支),负分支完全丧失视觉场景语境,只能输出与当前图像场景脱节的纯文本高频词,无法针对性地激发特定视觉背景下的共现幻觉; - 若在解码器深层(如
)才剪除高注意力视觉 Token,此时视觉信息早已在前序层通过自注意力充分注入到了末尾文本 Token 的隐藏状态中,此时再删视觉 Token 几乎不会改变输出分布( ),对比解码失效; - 最佳平衡点位于早期解码层
(对于 Q-Former 架构的 InstructBLIP 为 ):前 3 层解码器刚刚完成粗粒度的全局图文语义对齐,使保留下来的 10% 低注意力 Token 携带了基础场景语境,而细粒度的前景实体特征尚未完全泄露到文本末尾 Token 中,此时剪除 90% 高注意力视觉 Token 既能最强烈地诱发关联幻觉,又能让后续第 层仅需在极短序列( 个视觉 Token + 文本 Token)上运行,直接省去负分支后 29 层中 90% 的视觉计算量。
- 若在进入解码器前就丢弃全部视觉 Token(即
2.3 SID 完整推理流程总结
在每个自回归生成时间步
- 前
层共享前向(或并行前向)与自省打分:将完整视觉 Token 、指令 与已生成序列 送入解码器前 层(LLaVA-1.5 / Shikra / LLaVA-NeXT 取 ,InstructBLIP 取 ),在第 层提取末尾位置 [-1]对视觉区域的跨头平均注意力得分; - 正分支(Original Branch):保留全部
个视觉 Token 通过剩余 层解码器,得到原始输出对数几率 ; - 自省负分支(Self-Introspective Disturbed Branch):根据
排序,仅保留得分最低的 (默认 )视觉 Token 构成稀疏背景视觉子集 (其余 视觉 Token 直接从第 层的 KV Cache / 隐藏状态序列中剔除),通过剩余 层解码器得到关联幻觉对数几率 ; - 对比相减与合理性截断:在满足自适应合理性约束
(默认 )的候选集内,按对比强度 (默认 或 )计算最终修正分布并执行贪心或多项式采样:
3. 实验结果与定量分析
3.1 实验设置
- 评测模型(4 大代表性架构,涵盖 7B / 8B / 13B):LLaVA-1.5(7B / 13B)(MLP 映射,576 视觉 Token)、InstructBLIP(7B / 13B)(Q-Former 映射,32 视觉查询 Token)、Shikra-7B(支持坐标接地的多模态模型)以及高分辨率动态切图模型 LLaVA-NeXT-8B(最高 2880 视觉 Token)。
- 对比基线:涵盖标准解码(Normal Sampling
与 Greedy )、LLM 层间对比解码 DoLa、注意力惩罚与回滚解码 OPERA、指令对比解码 ICD、视觉对比解码 VCD 以及盲点 Token 对比解码 AVISC。
3.2 MS COCO 图像字幕幻觉评测(CHAIR)
在 MS COCO 验证集 500 张图像上(Prompt: "Please describe this image in detail.",max_new_tokens=512),同时在多项式采样(上标
| 方法 | LLaVA-1.5 7B | InstructBLIP 7B | Shikra 7B | LLaVA-NeXT 8B |
|---|---|---|---|---|
| Normal | 51.3 / 16.8 | 51.0 / 24.2 | 48.9 / 14.7 | 42.6 / 14.1 |
| ICD | 47.4 / 13.9 | 46.3 / 15.3 | 47.8 / 14.1 | 41.7 / 13.3 |
| VCD | 48.0 / 14.3 | 47.2 / 16.3 | 48.1 / 13.8 | 41.3 / 12.9 |
| SID | 45.0 / 11.7 | 43.6 / 13.1 | 46.0 / 12.9 | 38.4 / 11.4 |
| Normal | 49.6 / 14.4 | 54.6 / 13.6 | 47.1 / 13.9 | 42.9 / 13.2 |
| DoLa | 47.1 / 13.8 | 51.3 / 14.2 | 46.8 / 14.2 | 41.3 / 12.6 |
| OPERA | 45.2 / 12.7 | 47.4 / 12.9 | 46.0 / 13.3 | 40.3 / 12.3 |
| ICD | 48.7 / 13.9 | 47.8 / 13.6 | 47.3 / 14.0 | 42.1 / 12.7 |
| VCD | 46.8 / 13.2 | 46.9 / 13.1 | 47.3 / 14.1 | 40.2 / 12.5 |
| SID | 44.2 / 12.2 | 42.3 / 12.4 | 44.8 / 12.8 | 38.1 / 11.3 |
无论在采样还是贪心设定下,SID 在全部 4 种骨干模型上均取得最低的 47.4 进一步压降至 42.3)。
3.3 POPE 视觉问答评测(MSCOCO + A-OKVQA + GQA 共 27,000 问答对均值)
表 4 汇总了在 MSCOCO、A-OKVQA、GQA 三个数据集(共 27,000 个问答对)上的平均 POPE 准确率与 F1 分数(Acc / F1
| 模型与解码设定 | 方法 | Random (Acc / F1) | Popular (Acc / F1) | Adversarial (Acc / F1) |
|---|---|---|---|---|
| LLaVA-1.5 7B (Sampling) | Normal | 84.77 / 82.28 | 79.98 / 79.34 | 76.03 / 76.26 |
| VCD | 87.21 / 86.95 | 82.65 / 83.47 | 78.27 / 79.51 | |
| SID | 88.91 / 88.84 | 83.97 / 85.42 | 82.54 / 81.98 | |
| LLaVA-1.5 7B (Greedy) | Normal | 88.81 / 88.52 | 82.76 / 83.36 | 79.11 / 80.92 |
| OPERA | 88.85 / 88.67 | 82.77 / 83.40 | 79.16 / 80.93 | |
| VCD | 86.84 / 86.83 | 82.65 / 83.37 | 77.31 / 79.28 | |
| SID | 89.46 / 89.62 | 85.13 / 85.94 | 83.24 / 82.21 | |
| InstructBLIP 7B (Greedy) | Normal | 86.56 / 86.84 | 81.18 / 82.06 | 77.67 / 79.37 |
| VCD | 86.26 / 86.38 | 81.87 / 82.63 | 78.23 / 79.68 | |
| SID | 87.73 / 87.65 | 83.62 / 84.19 | 80.31 / 81.53 | |
| Shikra 7B (Greedy) | Normal | 84.46 / 84.22 | 81.23 / 82.09 | 78.89 / 80.17 |
| VCD | 84.42 / 84.31 | 80.32 / 81.57 | 78.31 / 79.96 | |
| SID | 85.94 / 85.97 | 82.73 / 83.52 | 80.92 / 81.75 | |
| LLaVA-NeXT 8B (Greedy) | Normal | 88.78 / 88.39 | 84.56 / 84.62 | 81.48 / 82.09 |
| VCD | 87.73 / 87.34 | 83.92 / 84.23 | 81.03 / 81.94 | |
| SID | 89.62 / 89.37 | 86.11 / 86.39 | 83.87 / 84.02 |
可以清晰看到:在 Greedy 解码下,VCD 在几乎所有模型的 Random 子集上都出现了性能倒退(例如 LLaVA-1.5 7B 从 88.81 跌至 86.84,Adversarial 从 79.11 跌至 77.31),而 SID 是唯一在所有模型、所有子集、贪心与采样两种模式下均取得一致且显著正向收益的方法(LLaVA-1.5 7B Greedy Adversarial 提升 +4.13%)。在 13B 规模模型上(附录表 14),SID 同样将 LLaVA-1.5 13B 的 POPE 平均准确率从 81.60% 提升至 84.75%,将 16.1 降至 12.7。
3.4 通用多模态评测与推理效率对比
- 通用多模态能力不降反升(表 5、附录表 8 & 表 9):在 LLaVA-1.5 7B(Greedy)上评测 6 大综合基准:
- MME 总分:Normal
1510.8DoLa 1480.7、ICD1473.2、VCD1488.5(三种基线均损害了通用感知能力),而 SID 逆势提升至1520.4(其中 MME 幻觉专项子集总分从采样556.1/ 贪心594.1提升至589.5/599.8); - MMBench:
64.4%SID 65.0%(VCD 为63.9%); - MathVista:
27.1%SID 27.4%(VCD 跌至25.8%); - MM-Vet / LLaVA-Bench / MMMU:Normal
31.1 / 63.4 / 32.6SID 31.2 / 68.7 / 33.4。
- MME 总分:Normal
- NVIDIA V100 推理耗时与显存开销实测(表 6,LLaVA-1.5 7B POPE Adversarial):
| 方法 | 推理总耗时 (s) | 相对 VCD 加速比 | 峰值显存 (MB) | POPE Adversarial Acc (%) |
|---|---|---|---|---|
| Normal(单分支贪心) | 494 s | — | 15,673 MB | 79.11% |
| OPERA(Beam=5 + 回滚) | 2,643 s | 21,943 MB (+6.27 GB) | 79.16% | |
| ICD(双分支全序列) | 974 s | 16,843 MB (+1.17 GB) | 80.21% | |
| VCD(双分支全序列) | 904 s | 16,753 MB (+1.08 GB) | 78.12% | |
| 704 s | 15,809 MB (+136 MB) | 83.11% | ||
| 668 s | 15,767 MB (+94 MB) | 83.24% |
由于
3.5 消融实验:Token 选择策略与超参数敏感性
- 不同 Token 选择策略的正面交锋(附录表 13,LLaVA-1.5 7B Greedy):
- Normal Greedy:POPE Random
88.8%/ Adv79.3%/49.6/14.4; SID-High(在负分支中反过来保留注意力最高的 10% Token):Random 跌至87.0%,Adv 跌至76.5%,剧烈恶化至 57.9 / 25.6!这直接证实了高注意力 Token 承载的是正确前景视觉依据,若将其放入负分支相减,等于直接抹杀了模型的正确视觉感知;SID-Random(随机保留 10% 视觉 Token):Random88.4%/ Adv80.9%/48.6/13.5,由于随机采样偶尔会误留前景 Token,效果明显弱于定向保留低注意力 Token;AVISC(同期工作,将各层注意力均值 + 标准差筛出的高注意力“盲点 Token”作为负分支):Random88.4%/ Adv79.8%/45.3/14.7,全面落后于 SID(Least-10%):Random89.3%/ Adv83.3%/44.2/12.2。
- Normal Greedy:POPE Random
- 剪枝层
与保留比例 消融(图 4):在 LLaVA-1.5 7B 上,剪枝层 、低注意力保留比例 时性能均高度稳健;当 (完全丢弃视觉 Token,即 M3ID 式负分支)或 (深层剪枝)时,对抗子集准确率均出现明显回落。
4. 深度评述:M3ID、VCD 与 SID 的演进脉络对比
将本文(SID, ICLR 2025)与前序代表作 VCD(CVPR 2024)、M3ID(CVPR 2024)及 AVISC(ACL 2025 Findings)放在同一坐标系下对比,可以清晰把握免训练多模态对比解码的技术演进逻辑:
| 对比维度 | VCD (CVPR 2024) | M3ID (CVPR 2024) | AVISC (ACL 2025 Findings) | SID (ICLR 2025,本文) |
|---|---|---|---|---|
| 幻觉归因假设 | 视觉输入退化诱发统计偏置与语言先验 | 生成长度增长导致视觉记忆按指数衰减(条件稀释) | 少数不携带目标信息的“视觉盲点 Token”垄断了过高注意力 | 早期跨模态交互后,次要背景视觉上下文与文本历史共同触发共现联想幻觉 |
| 负分支构造方式 | 对整张输入图像施加多步高斯扩散噪声 | 直接丢弃全部视觉 Token(保留纯文本提示与前缀) | 保留注意力高于 | 前 |
| 对比权重机制 | 固定常数 | 随步数 | 固定常数 | 固定常数 |
| Greedy 解码兼容性 | 简单子集(POPE Random)性能倒退 | 兼容,但在极短回答或高置信度词上受门控限制 | 兼容,但盲点假设在普通自然图像上可能误伤前景 | 完全兼容,简单与对抗子集双双提升 |
| 相对单分支推理开销 |
局限性与未来方向:
- 极端密集场景下的注意力泄漏:当图像中包含大量同类密集目标或提问涉及全局计数(Counting)时,“最低 10% 注意力 Token”中仍可能包含部分目标边缘特征,或者前
层已经将部分前景信息混合进了全局上下文中; - 与时变权重的潜在结合空间:SID 解决了“空间维度上该保留哪些视觉 Token 来构造最准的负分支”,而 M3ID 解决了“时间维度上随着生成变长该如何动态加大对比力度”。将 SID 的
负分支构造与 M3ID 的时变放大系数 相结合,是长文档多模态生成中极具潜力的组合方案。