Attention Prompting on Image for Large Vision-Language Models¶
会议: ECCV 2024
arXiv: 2409.17143
代码: GitHub
领域: 多模态VLM
关键词: 视觉提示, 注意力热力图, LVLM, 自反思, VQA
一句话总结¶
本文提出Attention Prompting on Image(API),通过辅助模型(如CLIP或LLaVA)根据文本查询生成注意力热力图,将热力图叠加到原始图像上作为视觉提示输入LVLM,在不修改模型参数的情况下在MM-Vet、LLaVA-Bench等多个VL基准上稳定提升多种LVLM的性能(LLaVA-1.5提升3.8%/2.9%)。
研究背景与动机¶
-
领域现状:大型视觉语言模型(LVLM)如GPT-4V、LLaVA在多种视觉-语言任务上展现出强大能力。提示(Prompting)技术是一种低成本增强LVLM性能的方式,不需要训练,不会引入过拟合和知识遗忘的风险。
-
现有痛点:已有的视觉提示技术(如FGVP、SoM)依赖分割模型生成标注,存在一个关键缺陷——对同一张图像,无论文本查询是什么,生成的视觉提示都是相同的。这导致提示与查询之间的不匹配:不同的问题需要关注图像的不同区域,盲目标注所有物体不能有效辅助VQA。
-
核心矛盾:视觉提示需要引导模型关注与当前问题相关的图像区域,但现有方法将视觉提示视为与问题无关的固定标注,违背了"提示应该服务于任务"的本质。
-
本文解决什么:如何根据文本查询的内容,自适应地生成与问题相关的视觉提示。
-
切入角度:利用辅助VLM(CLIP或LLaVA本身)的注意力机制来定位与查询相关的图像区域,将注意力信息直接编码为图像上的热力图。
-
核心idea:一句话——利用模型自身或辅助模型的注意力图作为视觉提示,在像素空间实现query-aware的视觉引导。
方法详解¶
整体框架¶
文本查询 \(T^i\) + 原始图像 \(I\) → 辅助模型 \(g\) 生成归因图 \(\Psi\) → 转换为热力图 \(\Phi\) → alpha blending得到标注图像 \(I^a = \mathcal{A}(I, T^i)\) → 标注图像 + 原始查询输入推理LVLM \(f\) → 输出 \(T^o = f(I^a, T^i)\)
关键设计¶
- 基于CLIP的归因图生成:
- 做什么:从CLIP的视觉编码器中提取与文本查询相关的patch级别归因图
- 核心思路:利用残差连接将ViT最终的cls token输出分解为各层MSA贡献之和,进而分解到各个patch。具体地,将图像-文本相似度近似为深层MSA输出与文本特征的相似度: $\(sim(\hat{I}, \hat{T}) \approx sim\left(\sum_{l=L'}^{L} \mathcal{L}([\text{MSA}^l(Z^{l-1})]_{\text{cls}}), \hat{T}\right)\)$ 再将每层MSA的cls token输出展开为各patch的加权和 \(\eta_t^l\),最终每个patch的归因值为 \(\psi_t = \sum_{l=L'}^{L} \mathcal{L}(\eta_t^l)\) 与文本特征的相似度。
- 设计动机:这种分解方式直接量化了每个image patch对最终图文匹配分数的贡献,因此能精确定位与查询实体直接相关的区域。
- 互补归因图:观察到ViT最后一层中,背景/大色块区域的非cls token与文本特征相似度反而更高(充当信息寄存器),因此定义互补归因图 \(\Psi^{comp}_{i,j} = 1 - sim(\mathcal{L}(Z_t^L), \hat{T})\)。
-
融合策略:用soft OR操作合并两个归因图: $\(\Psi_{i,j} = \Psi^{cls}_{i,j} + \Psi^{comp}_{i,j} - \Psi^{comp}_{i,j} \cdot \Psi^{cls}_{i,j}\)$
-
基于LLaVA的归因图生成:
- 做什么:从自回归VLM的注意力权重中提取归因图
- 核心思路:直接使用LLaVA深层的输出token对image token的交叉注意力权重,在所有输出token和注意力头上取平均: $\(\Psi_{i,j} = \frac{1}{MH} \sum_{m=1}^{M} \sum_{h=1}^{H} A^{(\bar{L},h)}_{m,t}\)$
-
设计动机:自回归模型在生成答案时自然地将注意力分配给与问题相关的图像区域,这些注意力权重可以直接作为归因信号。
-
从Token空间到像素空间的转换:
- 做什么:将patch级别的归因图转换为像素级别的热力图并叠加到图像上
- 核心思路:将归因图 \(\Psi \in \mathbb{R}^{P \times P}\) 上采样至图像分辨率得到原始热力图 \(\hat{\Phi}\),然后应用均值滤波平滑矩形块效应得到最终热力图 \(\Phi = \text{Mean}_k(\hat{\Phi})\),最后将热力图作为alpha通道与原始图像混合。
- 设计动机:均值滤波的引入是因为patch级别的方形掩码与物体的不规则形状不匹配,滤波可以使边界更自然。
损失函数 / 训练策略¶
- 完全免训练:本方法不涉及任何训练过程,是一种纯推理时的提示技术
- 辅助模型可以与推理模型相同(自反思模式)或不同(模型集成模式)
实验关键数据¶
主实验(LLaVA-1.5作为推理模型)¶
| 数据集 | 指标 | 无提示 | API(CLIP) | API(LLaVA) | FGVP(最佳) | SoM |
|---|---|---|---|---|---|---|
| MM-Vet | GPT评分 | 32.8 | 35.3(+2.5) | 36.6(+3.8) | 25.0(-7.8) | 26.4(-6.4) |
| LLaVA-Bench | GPT评分 | 71.9 | 74.1(+2.2) | 74.8(+2.9) | 57.4(-14.5) | 56.1(-15.8) |
| MMMU | 准确率 | 35.15 | 37.52(+2.4) | 36.95(+1.8) | 36.14(+1.0) | 35.57(+0.4) |
| MME | 准确率 | 85.5 | 87.2(+1.7) | 86.3(+0.8) | 81.4(-4.1) | 75.4(-10.1) |
| TextVQA | 准确率 | 48.32 | 48.78(+0.5) | 48.79(+0.5) | 39.38(-8.9) | 18.81(-29.5) |
消融实验¶
| 配置 | MMMU | MME | 说明 |
|---|---|---|---|
| 无提示 | 35.15 | 85.50 | 基线 |
| CLIP-ViT-B | 36.03(+0.88) | 83.50(-2.00) | 小模型生成的热力图可能有害 |
| CLIP-ViT-L | 36.21(+1.09) | 83.50(-2.00) | 模型增大有提升 |
| CLIP-ViT-L-336 | 37.52(+2.37) | 87.16(+1.66) | 更细粒度patch带来最大收益 |
| LLaVA-7B | 35.86(+0.71) | 85.66(+0.16) | 小辅助模型效果有限 |
| LLaVA-13B | 36.95(+1.80) | 86.34(+0.84) | 大辅助模型效果更好 |
| 无均值滤波 | 36.09(+0.94) | 83.70(-1.80) | 缺少滤波方形掩码可能有害 |
| 滤波k=3 | 36.95(+1.80) | 86.20(+0.70) | 适中的平滑 |
| 滤波k=7 | 36.32(+1.17) | 87.14(+1.74) | 更强平滑对某些数据集更好 |
自反思实验(LLaVA-Bench)¶
| 方法 | 得分 | 说明 |
|---|---|---|
| 无提示 | 71.90 | 基线 |
| 文本自反思 | 72.90(+1.00) | 传统文本中介反思 |
| API(LLaVA) | 74.80(+2.90) | 视觉中介反思更有效 |
| +反思via评估 | 76.10(+4.20) | 先判断高亮区域是否支持答案,再决策 |
| +反思via强调 | 72.70(+0.80) | 不做评估直接强调反而变差 |
关键发现¶
- API在所有4个LVLM(LLaVA、CogVLM、GPT-4V、Gemini)的所有6个数据集上一致地带来提升,而现有视觉提示方法频繁导致性能下降
- "Let's think step by step"在VQA任务上效果不佳——纯文本提示无法增强视觉感知
- 辅助模型的能力是关键因素:能力不足的辅助模型生成的热力图反而有害
- 视觉自反思优于文本自反思(+2.90 vs +1.00),加入评估步骤后可进一步提升至+4.20
- API也能减轻LVLM的幻觉问题(VisWiz unanswerable +3.85, POPE +2.52)
亮点与洞察¶
- 极度简洁但有效:核心操作就是在图像上叠加一个热力图,没有任何训练或额外参数,但在6个数据集×4个模型上稳定提升
- query-aware是视觉提示的关键:同一张图不同问题需要关注不同区域,这个看似显而易见的洞察在之前的视觉提示工作中被忽视
- CLIP cls token的分解技术:精巧地利用残差连接将全局相似度分解到每个patch,有独立的技术价值
- 视觉自反思新范式:用视觉(而非文本)作为自反思的中介,开辟了LVLM自改进的新方向
- 通用性强:适用于开源模型和闭源API(GPT-4V、Gemini),无需访问模型内部
局限性 / 可改进方向¶
- 需要额外的前向传播来生成热力图,增加了推理成本(约2倍)
- 均值滤波的kernel size需要per-dataset调整,最优值不统一
- 当辅助模型能力不足时,生成的热力图可能误导推理模型
- 热力图只能做空间级别的引导,无法引导模型关注特定的语义特征
- 未探索多轮热力图迭代精化的可能性
相关工作与启发¶
- vs FGVP/SoM:这两种方法基于分割模型生成固定标注,与查询无关。API的核心优势在于query-aware——不同问题生成不同热力图
- vs 文本CoT:文本链式思维只能增强语言推理而无法增强视觉感知,API在像素空间提供了感知增强
- vs Soft Prompting (VPT等):软提示需要训练且与模型强耦合,API完全免训练且跨模型通用
评分¶
- 新颖性: ⭐⭐⭐⭐ query-aware视觉提示的思路简洁但重要,CLIP分解和视觉自反思有新意
- 实验充分度: ⭐⭐⭐⭐⭐ 4个模型×6个数据集的大规模验证,消融充分,还涵盖了幻觉和自反思实验
- 写作质量: ⭐⭐⭐⭐ 结构清晰,实验表格信息量大,但公式推导部分较为复杂
- 价值: ⭐⭐⭐⭐ 方法简单通用,实用价值高,视觉自反思的方向值得探索