学习笔记 大模型 论文笔记 多模态 【论文笔记】Attention Prompting on Image for Large Vision-Language Models 小嗷犬 2024-11-02 2025-08-13 基本信息 标题 : Attention Prompting on Image for Large Vision-Language Models作者 : Runpeng Yu, Weihao Yu, Xinchao Wang发表 : ECCV 2024arXiv : https://arxiv.org/abs/2409.17143
摘要 与大型语言模型(LLMs)相比,大型视觉语言模型(LVLMs)也能接受图像作为输入,从而展现出更多有趣的涌现能力,并在各种视觉语言任务上表现出令人印象深刻的表现。
受LLMs中的文本提示启发,视觉提示已被探索以增强LVLM感知视觉信息的能力。
然而,之前的视觉提示技术仅处理视觉输入,不考虑文本查询,限制了模型遵循文本指令完成任务的能力。
为了填补这一空白,在这项工作中,我们提出了一种名为Attention Prompting on Image (API )的新提示技术,它简单地在原始输入图像上叠加一个由文本查询引导的注意力热图,从而有效地增强了LVLM在各种任务上的表现。
具体来说,我们使用类似于CLIP的辅助模型根据文本查询生成输入图像的注意力热图。
然后,热图简单地乘以原始图像的像素值,以获得LVLM的实际输入图像。
在各个视觉语言基准上的大量实验验证了我们的技术的有效性。
例如,API在MM-Vet和LLaVA-Wild基准上分别将LLaVA-1.5提高了3.8%和2.9%。
主要贡献 我们发现,当前的视觉提示技术严重修改输入图像,而没有考虑文本查询,限制了模型准确遵循指令的能力。 为了填补这一空白,我们提出了API方法,探讨如何从各种类型的VLM模型中提取有价值的归因图,并将它们作为视觉提示来提供视觉感知的线索,从而提高性能。 我们的实验证明了该方法在各种数据集上对广泛VLM模型的有效性。此外,我们的方法在解决幻觉问题上也已被证明是有效的。 方法
使用一个辅助的大型视觉语言模型结合输入图像和文本提示,生成一个由文本查询引导的注意力热图,再将注意力热图叠加在原始图像上。
Obtaining Attribution Map from CLIP CLIP模型g clip g_{\text{clip}} g clip 由一个视觉编码器和一个文本编码器组成,在隐空间中计算输入图像和文本之间的相似度s i m ( I ^ , T ^ ) sim(\hat{I}, \hat{T}) s im ( I ^ , T ^ ) ,其中I ^ = g clip img ( I ) \hat{I} = g_{\text{clip}}^{\text{img}}(I) I ^ = g clip img ( I ) ,T ^ = g clip text ( T ) \hat{T} = g_{\text{clip}}^{\text{text}}(T) T ^ = g clip text ( T ) 。该相似度用于度量整张图像和文本之间的相关性。为了获得文本查询到每个图像patch的相关度图,我们需要对图像级别的相似度特征I ^ \hat{I} I ^ 进行分解,以此得到每个图像patch特征与文本特征T ^ \hat{T} T ^ 的相似度。
由于存在残差连接,视觉编码器的最终输出I ^ \hat{I} I ^ 实际上包括了每一层的影响。因此,I ^ \hat{I} I ^ 可以表示为每一层类别标记位置值的线性组合:
I ^ = L ( [ Z cls 0 ] ) + ∑ l = 1 L L ( [ MSA l ( Z l − 1 ) ] cls ) + ∑ l = 1 L L ( [ MLP l ( Z ^ l ) ] cls ) \hat{I} = \mathcal{L}\left(\left[Z_{\text{cls}}^{0}\right]\right) + \sum_{l=1}^{L}\mathcal{L}\left(\left[\operatorname{MSA}^{l}\left(Z^{l-1}\right)\right]_{\text{cls}}\right) + \sum_{l=1}^{L}\mathcal{L}\left(\left[\operatorname{MLP}^{l}\left(\hat{Z}^{l}\right)\right]_{\text{cls}}\right) I ^ = L ( [ Z cls 0 ] ) + l = 1 ∑ L L ( [ MSA l ( Z l − 1 ) ] cls ) + l = 1 ∑ L L ( [ MLP l ( Z ^ l ) ] cls ) L L L 表示视觉编码器中Transformer层的数量,其中MSA \operatorname{MSA} MSA 和MLP \operatorname{MLP} MLP 分别代表Transformer中的多头自注意力结构和多层感知器结构;L \mathcal{L} L 代表包括全连接层和Transformer结构之后计算相似度得分之前执行的归一化操作的线性变换;Z l Z^l Z l 表示第l l l 个Transformer层的输入token序列;[ Z ] cls [Z]_\text{cls} [ Z ] cls 表示token序列Z Z Z 中cls token的值。这些输出的cls token通过残差连接聚合,形成视觉编码器的输出。
在这些求和项中,MSA最后几层的输出起着决定性作用,而来自浅层MSA层输出、MLP输出以及与输入图像无关的Z cls 0 Z^0_\text{cls} Z cls 0 项的贡献可以视为对最终相似度测量的忽略不计。因此,相似度s i m ( I ^ , T ^ ) sim(\hat{I}, \hat{T}) s im ( I ^ , T ^ ) 可以通过计算T ^ \hat{T} T ^ 与深层MSA的聚合输出的相似度来近似:
sim ( I ^ , T ^ ) ≈ sim ( ∑ l = L ′ L L ( [ MSA l ( Z l − 1 ) ] cls ) , T ^ ) \operatorname{sim}(\hat{I}, \hat{T}) \approx \operatorname{sim}\left(\sum_{l=L^{\prime}}^{L}\mathcal{L}\left(\left[\operatorname{MSA}^{l}\left(Z^{l-1}\right)\right]_{\text{cls}}\right), \hat{T}\right) sim ( I ^ , T ^ ) ≈ sim ( l = L ′ ∑ L L ( [ MSA l ( Z l − 1 ) ] cls ) , T ^ ) 其中L ′ L^{\prime} L ′ 代表预定义的起始层索引。为进一步计算文本查询对每个patch的归因,我们展开多头自注意力机制的操作:
[ MSA l ( Z l − 1 ) ] c l s = ∑ h H [ A ( l , h ) V ( l , h ) W ( l , h ) ] c l s + B l = ∑ t = 1 T [ ∑ h H A c l s , t ( l , h ) V t , : ( l , h ) W ( l , h ) + 1 H T B l ] ⏟ The MSA output corresponding to the t -th patch(token) ≜ ∑ t = 1 T η t l \begin{align*} {\left[\operatorname{MSA}^{l}\left(Z^{l-1}\right)\right]_{cls}} &= \sum_{h}^{H}\left[A^{(l, h)} V^{(l, h)} W^{(l, h)}\right]_{cls} + B^{l} \\ &= \sum_{t=1}^{T} \underbrace{\left[\sum_{h}^{H} A_{cls, t}^{(l, h)} V_{t,:}^{(l, h)} W^{(l, h)} + \frac{1}{H T} B^{l}\right]}_{\text{The MSA output corresponding to the }t\text{-th patch(token)}} \triangleq \sum_{t=1}^{T} \eta_{t}^{l} \end{align*} [ MSA l ( Z l − 1 ) ] c l s = h ∑ H [ A ( l , h ) V ( l , h ) W ( l , h ) ] c l s + B l = t = 1 ∑ T The MSA output corresponding to the t -th patch(token) [ h ∑ H A c l s , t ( l , h ) V t , : ( l , h ) W ( l , h ) + H T 1 B l ] ≜ t = 1 ∑ T η t l 在第l l l 层中,A ( l , h ) A(l,h) A ( l , h ) 和V ( l , h ) V(l,h) V ( l , h ) 分别是对应于第h h h 个注意力头的注意力图和Value矩阵;W ( l , h ) W(l,h) W ( l , h ) 是第l l l 层中用于合并多个注意力头的权重矩阵,对应于第h h h 个头;B ( l ) B(l) B ( l ) 是第l l l 层中用于合并多个注意力头的偏置矩阵;A c l s , t ( l , h ) A_{cls, t}^{(l, h)} A c l s , t ( l , h ) 表示cls token对第t t t 个token的注意力值;V t , : ( l , h ) V_{t,:}^{(l,h)} V t , : ( l , h ) 表示V ( l , h ) V(l,h) V ( l , h ) 的第t t t 行;H H H 和T T T 分别是注意力头的数量和token的数量;而值T T T 等于patch数P × P + 1 P \times P + 1 P × P + 1 。
因此,第t t t 个patch的特征可以表示为ψ t ≜ ∑ l = L ′ L L ( η t l ) \psi_{t}\triangleq\sum_{l=L^{\prime}}^{L}\mathcal{L}\left(\eta_{t}^{l}\right) ψ t ≜ ∑ l = L ′ L L ( η t l ) ,我们可以计算文本查询与第t t t 个图像patch之间的相似性。相应地,归因图Ψ c l s ∈ R P × P \Psi^{cls} \in \mathbb{R}^{P \times P} Ψ c l s ∈ R P × P 被定义为:
Ψ i , j c l s ≜ s i m ( ψ t , T ^ ) , where t = 1 + j + P ∗ ( i − 1 ) . \Psi^{cls}_{i,j} \triangleq sim(\psi_{t}, \hat{T}), \quad\text{where}\ t = 1 + j + P * (i - 1). Ψ i , j c l s ≜ s im ( ψ t , T ^ ) , where t = 1 + j + P ∗ ( i − 1 ) . 通过对 cls token进行分解,我们可以识别哪些patch与查询更为相关。当查询包含特定实体时,这种方法特别有效,允许进行精确的定位。然而,在复杂的视觉问答(VQA)任务中,查询中往往没有明确提及实体,或者回答问题所涉及的逻辑和分析过程可能依赖于查询中没有明确提及的实体。为了解决这个问题,我们还定义了另一个互补归因图Ψ c o m p \Psi^{comp} Ψ co m p 。该图旨在捕捉与查询具有潜在或隐含相关性的区域。
我们实验观察到,在CLIP的视觉Transformer中,查询特征T ^ \hat{T} T ^ 与最终层中除cls token外的token的相似度得分可以(反向)选择重要区域。对应图像背景或大块单色区域的patch与T ^ \hat{T} T ^ 的相似度得分显著高于代表特定实体(这些实体可能不一定出现在查询中)的token。一个可能的解释是,这些“空白”token本身缺乏有价值的信息,被Transformer视为寄存器。Transformer最初利用它们存储来自其他token的信息,随后通过注意力机制过滤和汇总这些存储的信息到cls token,以形成最终的预测。因此,与T ^ \hat{T} T ^ 具有高相似度得分的除cls token外的token,代表信息含量低的patch,可以不予考虑。我们定义互补归因图如下:
Ψ i , j c o m p ≜ 1 − s i m ( L ( Z t L ) , T ^ ) , where t = 1 + j + P ∗ ( i − 1 ) . \Psi^{comp}_{i,j} \triangleq 1 - sim(\mathcal{L}(Z^L_t), \hat{T}), \quad\text{where}\ t = 1 + j + P * (i - 1). Ψ i , j co m p ≜ 1 − s im ( L ( Z t L ) , T ^ ) , where t = 1 + j + P ∗ ( i − 1 ) . Z t L Z^L_t Z t L 表示最后一个Transformer层的第t t t 个输出token。互补归因图与相似度成反比,表明缺乏信息的patch被忽略,仅保留具有潜在相关性的patch。
因此,我们获得了两张相互补充的归因图:Ψ c l s \Psi^{cls} Ψ c l s 明确识别与查询实体直接相关的区域,但可能遗漏一些可能相关的区域。Ψ c o m p \Psi^{comp} Ψ co m p 同样识别所有可能相关的区域,但缺乏特异性,无法突出显示与查询实体直接相关的区域。
通过以下操作整合两个归因图,我们得到CLIP的最终归因图:
Ψ i , j ≜ Ψ i , j c l s + Ψ i , j c o m p − Ψ i , j c l s ∗ Ψ i , j c o m p \Psi_{i,j} \triangleq \Psi^{cls}_{i,j} + \Psi^{comp}_{i,j} - \Psi^{cls}_{i,j} * \Psi^{comp}_{i,j} Ψ i , j ≜ Ψ i , j c l s + Ψ i , j co m p − Ψ i , j c l s ∗ Ψ i , j co m p 这种整合可以被视为一种soft OR操作。
Obtaining Attribution Map from LLaVA LLaVA模型是一种MLLM,它利用多头自注意力机制从文本查询和图像patch中提取信息,预测后续的token。给定长度为N N N 的文本token序列Z text = { Z t text } t = 1 N Z^\text{text} = {\{Z^\text{text}_t \}}_{t=1}^{N} Z text = { Z t text } t = 1 N ,以及长度为P × P P \times P P × P 的图像token序列Z img = { Z t img } t = 1 P × P Z^\text{img} = {\{Z^\text{img}_t \}}_{t=1}^{P \times P} Z img = { Z t img } t = 1 P × P ,LLaVA生成一个长度为M M M 的新token序列Z out = { Z t out } t = 1 M Z^\text{out} = {\{Z^\text{out}_t \}}_{t=1}^{M} Z out = { Z t out } t = 1 M 。我们直接使用tokenZ t out Z^\text{out}_t Z t out 与每个图像token之间的注意力权重作为Z t out Z^\text{out}_t Z t out 对该图像patch的归因。类似于CLIP模型的策略,我们选择深层的注意力图来提取注意力权重。最终的归因图在整个生成的token序列和所有注意力头之间平均。形式上,归因图Ψ \Psi Ψ 定义为:
Ψ i , j ≜ 1 M H ∑ m = 1 M ∑ h = 1 H A m , t ( L ˉ , h ) , where t = j + P ∗ ( i − 1 ) . \Psi_{i, j} \triangleq \frac{1}{M H} \sum_{m=1}^{M} \sum_{h=1}^{H} A_{m, t}^{(\bar{L}, h)}, \quad\text{where}\ t = j + P * (i - 1). Ψ i , j ≜ M H 1 m = 1 ∑ M h = 1 ∑ H A m , t ( L ˉ , h ) , where t = j + P ∗ ( i − 1 ) . 在定义中,A ( L ˉ , h ) A^{(\bar{L}, h)} A ( L ˉ , h ) 是第L ˉ \bar{L} L ˉ 层的第h h h 个头对应的注意力图,其中L ˉ \bar{L} L ˉ 是一个超参数集合;为了符号的简洁性,此处A ( L ˉ , h ) A^{(\bar{L}, h)} A ( L ˉ , h ) 是整个注意力图的一个子矩阵,仅包括Z out Z^\text{out} Z out 和Z img Z^\text{img} Z img 之间的交叉注意力;A m , t ( L ˉ , h ) A_{m, t}^{(\bar{L}, h)} A m , t ( L ˉ , h ) 仍然表示从第m m m 个token到第t t t 个token的注意力值。
From Token Space to Pixel Space Ψ ∈ R P × P \Psi \in \mathbb{R}^{P \times P} Ψ ∈ R P × P 的归因图在token空间中生成。我们首先将其调整回像素空间以获得原始热图Φ ^ ≜ Resize ( Ψ ) \hat{\Phi} \triangleq \operatorname{Resize}(\Psi) Φ ^ ≜ Resize ( Ψ ) 。由于patch的方形形状,Φ ^ \hat{\Phi} Φ ^ 中的掩码模式也呈矩形。为了减轻矩形掩码模式与物体不规则形状不匹配的问题,我们应用均值滤波器以获得最终热图Φ ≜ M e a n k ( Φ ^ ) \Phi \triangleq \operatorname{Mean_k}(\hat{\Phi}) Φ ≜ Mea n k ( Φ ^ ) ,其中k k k 是滤波器的核大小。然后,将最终热图Φ \Phi Φ 通过将其用作 alpha 通道叠加到原始图像上,得到标注后的最终图像I a I^a I a 。
实验 主实验
与先前针对各种LVLMs的文本和视觉提示方法的比较。
消融实验
关于辅助VLM Scale的消融实验。
关于均值滤波器核大小的消融实验。
关于用于归因图提取的Transformer层的消融实验
本文方法与文本self-reflection方法的比较及结合。
本文方法在幻觉数据集上的表现。
总结 在这项工作中,我们介绍了一种名为Attention Prompting on Image(API)的新型视觉提示技术,该技术结合了一个辅助的LVLM,根据文本查询在图像上生成注意力热图。
我们广泛的实验证明了我们的提示方法在不同基准上对不同LVLM的优势。
此外,我们的方法为使用视觉信号进行LVLM集成和LVLM自我反思提供了新的见解。