Abstract
我们通过分析单个模型组件如何影响最终表示来研究CLIP图像编码器。我们将图像表示分解为各个图像块、模型层和注意力头的总和,并使用CLIP的文本表示来解释这些求和项。在解释注意力头时,我们通过自动寻找跨越其输出空间的文本表示来刻画每个头的角色,这揭示了许多头的特定属性角色(例如位置或形状)。接下来,在解释图像块时,我们发现了CLIP内部涌现的空间定位能力。最后,我们利用这一理解从CLIP中移除虚假特征,并创建了一个强大的零样本图像分割器。我们的结果表明,对Transformer模型的可扩展理解,是可以实现的,并且可用于修复和改进模型。
1 INTRODUCTION
最近,Radford等人(2021)提出了CLIP,这是一类通过自然语言监督生成图像表示的神经网络。由于语言比此前使用的监督信号(如物体类别)更具表达力,且CLIP在更庞大的数据上进行训练,其表示已被证明在包括分类(Zhou等人,2022)、分割(Lüddecke & Ecker,2022)和生成(Rombach等人,2022)等下游任务中非常有用。然而,我们对这些表示中实际编码了哪些信息仍知之甚少。
为了更好地理解CLIP,我们设计了研究其内部结构的方法,重点关注CLIP-ViT(Dosovitskiy等人,2021)。我们的方法利用了CLIP-ViT架构的几个特点:首先,该架构使用残差连接,因此输出是各个层输出的总和。此外,它使用注意力机制,因此输出也是图像中各个位置的总和。最后,该表示位于联合视觉-语言空间中,因此我们可以用文本标记其方向。我们利用这些特性将表示分解为可由文本解释的方向,这些方向归因于特定的注意力头和图像位置。
作为初步步骤,我们利用残差结构来探究哪些层对输出具有显著的直接影响。我们发现,在消融除最后4层注意力层之外的所有层后,CLIP的零样本分类准确率仅受到轻微影响(第3节)。由此得出结论:CLIP的图像表示主要由这些较深层的注意力层构建而成。
接下来,我们利用语言空间深入探究深层注意力层,以揭示可解释的结构。我们提出了一种名为TEXTSPAN的算法,为每个注意力头寻找一个基向量集合,其中每个基向量都由文本描述标注。所得基向量揭示了每个头的专门功能:例如,某个头的前3个基向量方向为“半圆形拱门”、“等腰三角形”和“椭圆形”,表明该头专门处理形状信息(图1(a))。
我们展示了这些已识别的注意力头角色的两种应用。首先,我们可以通过移除与虚假线索相关的注意力头来减少虚假相关性;我们在Waterbirds数据集(Sagawa等人,2019)上应用了这一方法,将最差组的准确率从48%提高到了73%。其次,具有特定属性角色的注意力头的表示可用于根据该属性检索图像;我们利用这一点,基于已发现的相似性维度(如颜色、位置和纹理)执行检索任务。
最后,我们将空间结构与从TEXTSPAN获得的文本基向量结合起来考虑。对于基向量中的每个方向,空间分解会突出显示影响该基向量方向的图像区域。我们在图1©中对此进行了可视化,并发现这验证了我们的文本标注:例如,带有三角形的区域是被标注为“等腰三角形”方向的主要贡献者。
总之,我们通过将CLIP的图像表示分解为可由文本解释的元素(这些元素归属于单个注意力头和图像位置)来对其进行解释。我们发现了具有特定属性的注意力头和涌现的定位能力,并利用这些发现减少虚假线索、改进零样本分割,表明理解模型内部结构能够提升下游任务的性能。
2 RELATED WORK
视觉模型可解释性。一类广泛使用的可解释性方法通过生成热图来突出输入图像中对模型输出最为关键的部分(Selvaraju 等人,2017;Sundararajan 等人,2017;Binder 等人,2016;Voita 等人,2019;Lundberg 与 Lee,2017;Chefer 等人,2021)。尽管这些热图有助于解释特定图像区域与输出的相关性,但它们无法展示缺乏空间定位的属性(如物体大小或形状)如何影响输出。为解决这一问题,部分方法通过生成模型寻找反事实编辑来解释模型(Goetschalckx 等人,2019;Lang 等人,2021;Aberman 等人,2021)。所有这些方法的目标均为解释模型的输出,而非解读其中间计算过程。
中间表示的可解释性。解释视觉模型的另一种方法是研究其内部工作机制。一种途径是将中间特征反演到输入图像空间(Dosovitskiy 与 Brox,2015;Mahendran 与 Vedaldi,2014;Goh 等人,2021)。另一种途径是解释单个神经元(Bau 等人,2020;2019;Dravid 等人,2023)以及神经元之间的连接(Olah 等人,2020)。这些方法仅依赖视觉输出来解释模型。
很少有方法使用文本解释视觉模型的中间表示。Hernandez 等人(2022)为神经元激活的图像区域提供文本描述。Yuksekgonul 等人(2023)将模型特征投影到基于文本的概念库中。与我们更接近的是,少数方法通过文本分析 CLIP 的中间表示——Goh 等人(2021)在 CLIP 中发现了对图像中同一主题不同呈现方式作出响应的多模态神经元。Materzynska 等人(2022)研究了 CLIP 中词语图像与自然图像之间的纠缠关系。我们与这些工作的不同之处在于,我们利用了 CLIP 内在的语言-图像空间,并借助 CLIP 架构中的分解来解释中间表示。
对比视觉-语言模型。像CLIP(Radford等人,2021)和ALIGN(Jia等人,2021)这样的对比视觉-语言模型在下游任务中展现出了出色的零样本迁移能力,这些任务包括光学字符识别(OCR)、地理定位和分类(Wortsman,2023)。此外,CLIP的表示还被用于分割(Lüddecke & Ecker,2022)、三维场景查询(Kerr等人,2023)以及基于文本的图像生成(Ramesh等人,2021;Rombach等人,2022)。我们的目标是解释这些表示中编码了哪些信息。
图1:CLIP-ViT图像表示分解。通过将CLIP的图像表示分解为各个图像补丁、模型层和注意力头的总和,我们能够:(a) 通过自动寻找跨越其输出空间的文本可解释方向来描述每个头的作用;(b) 突出显示对图像与文本之间相似度分数有贡献的图像区域;© 展示在特定头中哪些区域对所发现的文本方向有贡献。
3 DECOMPOSING CLIP IMAGE REPRESENTATION INTO LAYERS
我们首先介绍CLIP模型(Radford等人,2021),并阐述CLIP-ViT的图像表示是如何计算的。我们表明,这种表示可以分解为图像编码器ViT架构中各个层的直接贡献。通过这种分解,我们发现最后几层注意力层对该表示的直接影响最大。
3.1 CLIP-VIT PRELIMINARIES
对比预训练
CLIP 的训练目标是通过图像 III 及其文本描述 ttt 生成视觉表示。它使用两个编码器——基于 Transformer 的文本编码器 (Mtext)(M_{\text{text}})(Mtext) 和图像编码器 (Mimage)(M_{\text{image}})(Mimage)。两者均映射到共享的视觉-语言潜在空间,从而可通过余弦相似度衡量图像与文本的匹配度:
sim(I,t)=⟨Mimage(I),Mtext(t)⟩Mimage(I)2Mtext(t)2
\operatorname{sim}(I, t) = \frac{\langle M_{\text{image}}(I), M_{\text{text}}(t) \rangle}{M_{\text{image}}(I)_2 M_{\text{text}}(t)_2}
sim(I,t)=Mimage(I)2Mtext(t)2⟨Mimage(I),Mtext(t)⟩
给定一批图像及其对应的文本描述 (Ii,ti)i∈1,…,k{(I_i, t_i)}{i \in {1, \dots, k}}(Ii,ti)i∈1,…,k,CLIP 的训练目标是最大化图像表示 (Mimage(Ii))(M_{\text{image}}(I_i))(Mimage(Ii)) 与对应文本表示 (Mtext(ti))(M_{\text{text}}(t_i))(Mtext(ti)) 的相似度,同时最小化批次内所有 i≠ji \neq ji=j 情况下的 sim(Ii,tj)\text{sim}(I_i, t_j)sim(Ii,tj)。
零样本分类:CLIP 可用于零样本图像分类。若要对给定固定类别集合的图像进行分类,需将每个类别名称(如“吉娃娃”)映射到固定模板(如“一张 {类别} 的图像”),并通过 CLIP 文本编码器进行编码。对于某一图像,其预测类别为文本描述与图像表示相似度最高的类别。
CLIP 图像表示:计算 CLIP 图像表示的架构已提出多种方案。我们聚焦于将 ViT(Dosovitskiy 等人,2021)作为主干的变体。在此方案中,视觉 Transformer(ViT)被应用于输入图像 I∈RH×W×3I \in \mathbb{R}^{H \times W \times 3}I∈RH×W×3,以获得 ddd 维表示 ViT(I)\text{ViT}(I)ViT(I)。CLIP 图像表示 Mimage(I)M_{\text{image}}(I)Mimage(I) 是将该输出线性投影到视觉-语言联合空间中 d′d'd′ 维表示的结果。形式上,记投影矩阵为 P∈Rd′×dP \in \mathbb{R}^{d' \times d}P∈Rd′×d,则:
Mimage(I)=P ViT(I)(2)
M_{\text{image}}(I) = P \, \text{ViT}(I) \quad (2)
Mimage(I)=PViT(I)(2)
ViT的参数和投影矩阵P均在训练过程中学习得到。
ViT 是由 LLL 层构成的残差网络,每层包含一个多头自注意力(MSA)模块,其后接一个 MLP 块。输入图像 III 首先被分割成 NNN 个不重叠的图像补丁。这些补丁通过线性投影转换为 NNN 个 ddd 维向量,并添加位置嵌入以创建图像标记 z0ii∈1,…,N{z_0^i}_{i \in {1, \dots, N}}z0ii∈1,…,N。此外还包含一个额外的可学习标记 z00∈Rdz_0^0 \in \mathbb{R}^dz00∈Rd,称为类别标记,该标记随后将作为输出标记。形式上,以标记 z00,z01,…,z0Nz_0^0, z_0^1, \dots, z_0^Nz00,z01,…,z0N 为列的矩阵 Z0∈Rd×(N+1)Z_0 \in \mathbb{R}^{d \times (N+1)}Z0∈Rd×(N+1) 构成了残差流的初始状态。该状态通过以下两个残差步骤迭代更新 LLL 次:
Z^l=MSAl(Zl−1)+Zl−1,Zl=MLPl(Z^l)+Z^l(3) \hat{Z}_l = \text{MSA}_l(Z_{l-1}) + Z_{l-1}, \quad Z_l = \text{MLP}_l(\hat{Z}_l) + \hat{Z}_l \quad(3) Z^l=MSAl(Zl−1)+Zl−1,Zl=MLPl(Z^l)+Z^l(3)
我们将残差流 ZlZ_lZl 中对应类别标记的第一列记为 [Zl]cls[Z_l]\text{cls}[Zl]cls。因此,ViT 的输出为 [Zl]cls[Z_l]\text{cls}[Zl]cls。
3.2 DECOMPOSITION INTO LAYERS
ViT 的残差结构使我们能够将其输出表示为模型各层直接贡献的总和。回想一下,图像表示 Mimage(I)M_{\text{image}}(I)Mimage(I) 是 ViT 输出的线性投影。通过展开各层的公式 (3),图像表示可写为:
Mimage(I)=P ViT(I)=P[Z0]cls+∑l=1LP[MSAl(Zl−1)]cls⏟MSA项+∑l=1LP[MLPl(Z^l)]cls⏟MLP项(4) M_{\text{image}}(I) = P \, \text{ViT}(I) = P[Z^0]_{\text{cls}} + \underbrace{\sum_{l=1}^{L} P[MSA^l(Z^{l-1})]_{\text{cls}}}_{\text{MSA项}} + \underbrace{\sum_{l=1}^{L} P[MLP^l(\hat{Z}^l)]_{\text{cls}}}_{\text{MLP项}} \quad (4) Mimage(I)=PViT(I)=P[Z0]cls+MSA项l=1∑LP[MSAl(Zl−1)]cls+MLP项l=1∑LP[MLPl(Z^l)]cls(4)
公式4将图像表示分解为MLP、MSA和输入类别标记的直接贡献,使我们能够分别分析每一项。这里我们忽略了一层的输出对下游另一层的间接影响。在接下来的章节中,我们将使用这种分解(及进一步的分解)来分析CLIP的表示。
评估各层的直接贡献:作为初步研究,我们分析了公式4中的哪些组件对最终图像表示有显著影响,发现绝大多数直接影响来自靠后的注意力层。
为了研究某个组件(或一组组件)的直接影响,我们采用均值消融法(Nanda等人,2023),即将该组件替换为图像数据集中的均值。具体而言,我们测量消融前后分类任务的零样本准确率下降幅度。直接影响更大的组件应导致更显著的准确率下降。
在我们的实验中,我们计算了ImageNet(IN)验证集上每个组件的均值,并评估了IN分类准确率的下降幅度。我们分析了OpenCLIP的ViT-H-14、L-14和B-16模型(Ilharco等人,2021),这些模型是在LAION-2B数据集(Schuhmann等人,2022)上训练的。
MLP的直接影响可忽略不计。表1展示了同时对所有MLP进行均值消融的结果。MLP对图像表示没有显著的直接影响,因为消融所有MLP仅导致准确率小幅下降(1%-3%)。
accuracy Base | + MLPs ablation | |
---|---|---|
ViT-B-16 | 70.22 | 67.04 |
ViT-L-14 | 75.25 | 74.12 |
ViT-H-14 | 77.95 | 76.30 |
表1:MLP均值消融结果。我们同时将所有MLP的直接效应替换为在ImageNet验证集上计算的平均值,这仅导致零样本分类性能出现小幅下降。
只有最后的多头自注意力层(MSA)具有显著的直接影响。接下来我们评估不同MSA层的直接效应。为此,我们对直至第l层的所有MSA层进行均值消融。图2展示了结果:移除所有早期MSA层(直至最后4层之前的层)并未显著改变准确率;相反,对最后这些MSA层进行均值消融则会导致性能大幅下降。
图2:MSA累积均值消融。我们将直至给定层的所有MSA的直接效应替换为在ImageNet验证集上计算的平均值。仅替换最后几层会导致准确率大幅下降。
总之,对输出的直接影响集中在最后4层多头自注意力(MSA)层。因此,在后续分析中,我们仅关注这些层,而忽略MLP层和早期MSA层。
3.3 FINE-GRAINED DECOMPOSITION INTO HEADS AND POSITIONS
我们提出了一种更细粒度的MSA模块分解方法,将在接下来的两个章节中使用。我们关注类别标记的输出,因为这是公式4中唯一出现的项。遵循Elhage等人(2021)的方法,我们将MSA输出表示为H个独立注意力头和N个输入标记的总和:
[MSAl(Zl−1)]cls=∑h=1H∑i=0Nxil,h,xil,h=αil,hWVOl,hzil−1
\left[\text{MSA}^{l}\left(Z^{l-1}\right)\right]_{\text{cls}} = \sum_{h=1}^{H} \sum_{i=0}^{N} x_{i}^{l, h}, \quad x_{i}^{l, h} = \alpha_{i}^{l, h} W_{V O}^{l, h} z_{i}^{l-1}
[MSAl(Zl−1)]cls=h=1∑Hi=0∑Nxil,h,xil,h=αil,hWVOl,hzil−1
其中,WVOl,h∈Rd×dW_{V O}^{l, h} \in \mathbb{R}^{d \times d}WVOl,h∈Rd×d 是转换矩阵,αil,h∈R\alpha_{i}^{l, h} \in \mathbb{R}αil,h∈R 是类别标记对第 iii 个标记的注意力权重(满足 ∑i=0Nαil,h=1\sum_{i=0}^{N} \alpha_{i}^{l, h} = 1∑i=0Nαil,h=1)。因此,MSA 输出可分解为单个注意力头和标记的直接贡献。
将公式5中的MSA输出定义代入公式4的MSA项,可得:
∑l=1LP[MSAl(Zl−1)]cls=∑l=1L∑h=1H∑i=0Nci,l,h,ci,l,h=Pxil,h
\sum_{l=1}^{L} P\left[\text{MSA}^{l}\left(Z^{l-1}\right)\right]_{\text{cls}} = \sum_{l=1}^{L} \sum_{h=1}^{H} \sum_{i=0}^{N} c_{i, l, h}, \quad c_{i, l, h} = P x_{i}^{l, h}
l=1∑LP[MSAl(Zl−1)]cls=l=1∑Lh=1∑Hi=0∑Nci,l,h,ci,l,h=Pxil,h
换句话说,所有注意力模块的总直接效应是对张量 ccc 所有维度进行收缩的结果。通过仅沿某些维度收缩,我们可以以多种有用的方式分解效应。例如:
- 沿空间维度 iii 收缩,获得每个注意力头的贡献:cl,hhead=∑i=0Nci,l,hc_{l,h}^{\text{head}} = \sum_{i=0}^{N} c_{i,l,h}cl,hhead=∑i=0Nci,l,h
- 沿层 lll 和注意力头 hhh 收缩,获得每个图像标记的贡献:citoken=∑l=1L∑h=1Hci,l,hc_{i}^{\text{token}} = \sum_{l=1}^{L} \sum_{h=1}^{H} c_{i,l,h}citoken=∑l=1L∑h=1Hci,l,h
这些量 ci,l,hc_{i,l,h}ci,l,h、cl,hheadc_{l,h}^{\text{head}}cl,hhead 和 citokenc_{i}^{\text{token}}citoken 均存在于 d′d'd′ 维文本-图像联合表示空间中,这使我们能够通过文本对其进行解释。例如,给定文本描述 ttt,内积⟨M(t),cl,hhead⟩⟨M \text{(t)}, c_{l,h}^{\text{head}}⟩⟨M(t),cl,hhead⟩直观地衡量了该注意力头的输出与描述 ttt 的相似度。
4 DECOMPOSITION INTO ATTENTION HEADS
受3.2节研究结果的启发,我们转而探究CLIP中的后期MSA层。我们采用将其分解为单个注意力头的方法(3.3节),并提出一种用文本描述标记每个头潜在方向的算法。表2和图4展示了这种标记的示例,所有64个后期注意力头的标记情况见A.5节。
我们的标记表明,部分注意力头表现出特定的语义角色,例如“计数”或“位置”,其中该头的许多潜在方向对应于该角色的不同方面。我们展示了如何利用这些标记角色来实现属性特定的图像检索,并减少虚假相关性。
4.1 TEXT-INTERPRETABLE DECOMPOSITION INTO HEADS
我们将多头自注意力(MSA)的输出分解为联合表示空间中与文本相关的方向。这一分解基于两个关键特性:第一,如3.3节所示,每个MSA模块的输出是各个注意力头贡献的总和;第二,这些贡献处于文本-图像联合表示空间中,因此可以与文本相关联。
回顾 3.3 节可知,图像表示的 MSA 项(公式 4)可写为各注意力头的贡献之和,即 ∑l,hcheadl,h\sum_{l, h} c_{\text{head}}^{l, h}∑l,hcheadl,h。为了解释某个注意力头的贡献 cheadl,hc_{\text{head}}^{l, h}cheadl,h,我们将找到一组文本描述,这些描述能够解释该注意力头输出的大部分变化(即该注意力头的“主成分”)。给定输入图像 I1,…,IKI_1, \dots, I_KI1,…,IK 以及对应的注意力头输出 c1,…,cKc_1, \dots, c_Kc1,…,cK(为简洁起见,固定层 lll 和注意力头 hhh,并在符号中省略它们),由于 c1,…,cKc_1, \dots, c_Kc1,…,cK 是文本-图像联合空间中的向量,因此每个文本输入 ttt 在该空间中定义了一个方向 Mtext(t)M_{\text{text}}(t)Mtext(t)。
设 T\mathcal{T}T 为一组文本方向的集合,并定义 ProjT\text{Proj}{\mathcal{T}}ProjT 为投影到由 Mtext(t)∣t∈T{M{\text{text}}(t) | t \in \mathcal{T}}Mtext(t)∣t∈T 张成的子空间上的投影算子。
T\mathcal{T}T 所解释的方差定义为在该投影下的方差:
Vexplained(T)=1K∑k=1K∣ProjT(ck−cavg)∣22其中cavg=1K∑k=1Kck V_{explained}(T) = \frac{1}{K} \sum_{k=1}^{K} \left| \text{Proj}{T} (c{k} - c_{avg}) \right|{2}^{2} \quad \text{其中} \quad c{avg} = \frac{1}{K} \sum_{k=1}^{K} c_{k} Vexplained(T)=K1k=1∑K∣ProjT(ck−cavg)∣22其中cavg=K1k=1∑Kck
我们的目标是为每个注意力头找到一组包含 mmm 个描述的集合 T\mathcal{T}T,以最大化 Vexplained(T)V_{\text{explained}}(\mathcal{T})Vexplained(T)。与常规的主成分分析(PCA)不同,该优化问题没有闭式解,因此我们采用贪心算法逐步选择最优的文本描述。
描述集挖掘的贪心算法:为了近似最大化公式7中的解释方差,我们从一个包含大量候选描述的集合{ti}i=1M\{t_i\}_{i=1}^{M}{ti}i=1M入手,通过贪心选择从中获取集合T\mathcal{T}T。
我们提出的算法TEXTSPAN如算法1所示。该算法首先构建头(l,h)(l, h)(l,h)的输出矩阵C∈RK×d′C \in \mathbb{R}^{K \times d'}C∈RK×d′,以及候选描述的表示矩阵R∈RM×d′R \in \mathbb{R}^{M \times d'}R∈RM×d′,并将后者投影到ccc所张成的空间上。在每一轮中,TEXTSPAN计算RRR的每一行与头输出ccc之间的点积,找到具有最高方差的行R[j∗]R[j^{*}]R[j∗](即第一个"主成分")。随后,它将该成分从所有行中投影去除,并重复这一过程以找到后续成分。投影步骤确保每个新成分所增加的方差与先前成分正交。
TEXTSPAN需要一个初始描述集{ti}i=1M\{t_i\}_{i=1}^{M}{ti}i=1M,该集合需具备足够的多样性,以涵盖每个注意力头的输出空间。我们使用的句子集是通过提示ChatGPT-3.5生成的通用图像描述。在获得初始集合后,我们手动提示ChatGPT生成更多我们发现的特定模式的示例(例如,描述更多颜色的文本)。这最终形成了3498个句子。在我们的实验中,我们还考虑了两个更简单的基线——由英语中最常见单词构成的单字描述,以及一组与文本不对应的随机d′d'd′维向量(有关ChatGPT的提示词和基线的更多细节,请参见A.3节)。
4.2 EXPERIMENTS
我们将TEXTSPAN应用于最后4个MSA层中的所有注意力头,以找到文本描述的基集。首先,我们验证该集合是否捕捉到了模型的大部分行为,以及文本描述是否与图像属性相关联。然后,我们证明部分注意力头负责捕捉特定的图像属性(见图1(1))。我们将这一发现应用于两个场景——减少下游分类中已知的虚假线索,以及实现属性特定的图像检索。
实验设置:我们将TEXTSPAN应用于CLIP ViT-L最后4层中的所有注意力头,这些层对图像表示有大部分直接影响(见3.2节)。我们考虑了多种输出规模,即m∈{10,20,30,40,50,60}m \in \{10,20,30,40,50,60\}m∈{10,20,30,40,50,60}。
我们首先通过ImageNet上的零样本准确率来验证,所得文本表示是否捕捉到了图像表示中的重要变化。我们将每个注意力头的直接贡献cheadl,hc_{head}^{l,h}cheadl,h同时替换为其在文本表示上的投影ProjT(l,h)cheadl,hProj_{T(l,h)}c_{head}^{l,h}ProjT(l,h)cheadl,h(其中T(l,h)T(l,h)T(l,h)是为注意力头(l,h)(l,h)(l,h)获取的文本集)。我们还对表示中的所有其他项(MLP以及其余的MSA层)进行了均值消融。
图3:投影到TEXTSPAN基上的图像表示在ImageNet上的分类准确率。我们针对不同的初始描述库和不同的输出规模对算法进行了评估。
结果如图3所示:每个注意力头配备60个描述足以达到72.77%的准确率(基准准确率为75.25%)。此外,在所有不同的规模m下,使用我们通过ChatGPT生成的描述作为候选库,所获得的零样本准确率均高于使用常见单词或随机方向的情况。综上,我们可以通过将每个头的输出(一个768维向量)投影到(特定于该头的)60维可通过文本解释的子空间,来近似CLIP的表示。
部分注意力头捕捉特定的图像属性。我们在表2中报告了从TEXTSPAN(m=60m=60m=60)中选取的部分头描述,完整结果见附录A.5。对于某些头,排名靠前的描述围绕单一图像属性展开,例如纹理(L23H12)、形状(L22H1)、物体数量(L23H10)和颜色(L22H11)。这表明这些头捕捉特定的图像属性。我们通过为提取出的排名靠前的文本描述tit_iti检索具有最大相似度⟨Mtext(ti),cheadl,h⟩\langle M_{\text{text}}(t_i), c_{\text{head}}^{l,h} \rangle⟨Mtext(ti),cheadl,h⟩的图像,定性验证了文本与这些图像属性的关联。图4和图11的结果显示,返回的图像确实与文本相匹配。
减少已知的虚假线索:我们可以利用对注意力头特定作用的了解,手动消除虚假相关性。例如,如果位置被用作一种虚假特征,我们可以对专门处理地理定位的注意力头进行消融,以期减少模型对这一错误特征的依赖。
我们在Waterbirds数据集(Sagawa等人,2019)上验证了这一想法。该数据集将CUB数据集(Welinder等人,2010)中的水鸟和陆鸟照片与Places数据集(Zhou等人,2016)中的图像背景(水/陆地背景)相结合。在这个数据集中,图像背景是一种虚假线索,模型往往会将陆地上的水鸟误分类(反之亦然)。
为了减少虚假线索,我们利用来自TEXTSPAN的文本描述手动标注了每个注意力头的作用,对所有“地理定位”和“图像位置”头的直接贡献进行了均值消融,然后在Waterbirds数据集上评估了零样本准确率,并按照Sagawa等人(2019)的方法计算了各子组中的最差准确率。作为基准,我们还消融了10个随机头,并报告了5次试验中的最高准确率。如表3所示,最差组准确率大幅提升——对于ViT-L模型,提升了25.2%。这表明,我们通过TEXTSPAN发现的注意力头作用,有助于我们设计出具有更少虚假线索的表示,且无需额外训练。
基于属性的图像检索:由于部分注意力头专门用于捕捉图像属性,我们可以利用它们的表示来获得特定于属性的相似度度量。为了说明这一点,对于给定的注意力头(h,l)(h, l)(h,l),我们计算基准图像III与数据集中所有其他图像I′I'I′的表示cheadl,h(I)c_{\text{head}}^{l,h}(I)cheadl,h(I)和cheadl,h(I′)c_{\text{head}}^{l,h}(I')cheadl,h(I′)之间的内积,检索出相似度最高的图像。图5展示了捕捉不同属性的注意力头所对应的最近邻图像结果。每个注意力头检索出的图像各不相同,且与该头所特定捕捉的属性相匹配。在左侧示例中,如果我们使用一个捕捉颜色的注意力头进行检索,那么最近邻图像都是包含黑白物体的图像;如果我们使用一个用于计数物体的注意力头,那么最近邻图像则都是包含两个物体的图像。
5 DECOMPOSITION INTO IMAGE TOKENS
通过按注意力头分解图像表示,我们能够确定每个头对输出表示的贡献。此外,我们还可以按图像标记分解表示,以明确对于给定的文本方向Mtext(t)M_{text}(t)Mtext(t),哪些图像区域对输出有贡献。我们发现这些区域与文本ttt所描述的图像部分相匹配,由此得到了一个零样本语义图像分割器。我们将该分割器与现有的基于CLIP的零样本方法进行比较,发现它达到了最先进的水平。最后,我们将每个头的直接贡献分解为每个头对应的图像标记,并借此获得从输入图像到输出语义表示的信息流的细粒度可视化结果。
将MSA输出分解为图像标记:应用3.3节中的分解方法,若我们按位置iii而非注意力头(l,h)(l,h)(l,h)对项ci,l,hc_{i,l,h}ci,l,h进行分组,可得到等式Mimage(I)=∑i=0Nctokeni(I)M_{image}(I) = \sum_{i=0}^{N} c_{token}^{i}(I)Mimage(I)=∑i=0Nctokeni(I),其中ctokeni(I)c_{token}^{i}(I)ctokeni(I)是所有注意力头(l,h)(l,h)(l,h)在位置iii处的输出之和。我们通过实验发现,类别标记的贡献ctoken0c_{token}^{0}ctoken0对零样本准确率的直接影响可忽略不计(参见A.2节中的均值消融结果)。因此,我们将重点放在NNN个图像标记上。
我们利用按图像标记的分解方法生成热力图,以此衡量每个图像位置的输出对特定文本方向的贡献程度。给定文本描述ttt,我们通过计算每个位置iii的得分⟨ctokeni(I),Mtext(t)⟩\langle c_{token}^{i}(I), M_{text}(t) \rangle⟨ctokeni(I),Mtext(t)⟩来得到该热力图。
定量分割结果。我们遵循评估基于热力图的可解释性方法的标准流程(Chefer等人,2021)。首先,给定图像类别的描述(例如“一张{class}的图像”),我们计算图像热力图³。然后,我们对这些热力图进行二值化处理(通过应用阈值),以获得前景/背景分割结果。我们将该分割质量与其他可解释性方法以相同方式生成的零样本分割结果进行比较。
我们在ImageNet-segmentation数据集(Guillaumin等人,2014)上对这些方法进行了评估,该数据集包含来自ImageNet验证集的4276张图像子集,且带有标注的分割结果。表4展示了评估结果:在所有指标上,我们提出的分解方法都比现有方法更准确。有关对比方法和指标的详细信息,请参见Chefer等人(2021)的研究;更多定性对比内容请参见附录A.6节。
按注意力头和图像标记的联合分解
最后,我们可以同时对CLIP的输出按注意力头和位置进行分解。通过这种分解,我们可视化不同图像区域如何影响TEXTSPAN发现的每个基方向。
回顾公式6中的ci,l,hc_{i, l, h}ci,l,h,它表示标记iii在第lll层第hhh个头处的直接贡献。对于每个图像标记iii,我们计算:
⟨ci,l,h,Mtext(t)⟩\left\langle c_{i, l, h}, M_{\text{text}}(t) \right\rangle⟨ci,l,h,Mtext(t)⟩
其中Mtext(t)M_{\text{text}}(t)Mtext(t)是目标文本标记ttt的基方向。该内积生成每个注意力头(h,l)(h, l)(h,l)的相似度热力图,直观揭示了从输入图像到文本标记基方向的信息流动路径。
图6:联合分解示例
对于每个注意力头(l,h)(l, h)(l,h):
- 左侧热力图(绿色边框)对应TEXTSPAN输出集中与cheadl,hc_{\text{head}}^{l, h}cheadl,h最相似的文本描述。
- 右侧热力图(红色边框)对应同一集合中相似度最低的文本描述(当m=60m=60m=60时)。
更多结果可参见图9。
在图6中,我们针对每个注意力头输出时具有最大系数和最小系数(最负值)的两个TEXTSPAN基元计算了热力图。高亮区域与该基方向的文本描述相匹配——例如,L22H13是一个地理定位头,对于顶部图像,其激活程度最高的方向是“摄于法国巴黎的照片”,而对该方向有贡献的图像标记正是那些与埃菲尔铁塔相匹配的标记。
6 LIMITATIONS AND DISCUSSION
我们通过分析模型各组件对CLIP图像表示的影响,对其展开了研究。研究发现使我们能够减少下游分类中的虚假线索,并改进零样本分割效果。我们在此阐述本研究的两个局限性,并对未来的研究方向进行总结。
间接影响:我们仅分析了模型组件对表示的直接影响。研究间接影响(例如,信息从早期层流向更深层)能够为CLIP的内部结构提供更多见解,并拓展更多下游应用。
并非所有注意力头都有明确的作用。TEXTSPAN的输出显示,并非每个头都捕捉单一的图像属性(参见A.5节的结果)。我们对此考虑了三种可能的解释:第一,某些头可能并不对应连贯的属性;第二,初始描述库中不包含任何图像属性的描述;第三,某些头可能会协同工作,只有当它们的输出被共同处理时才具有连贯的作用。揭示CLIP中更复杂结构的作用,有助于提升上述应用的性能。
未来工作:我们认为,对其他CLIP架构(如ResNet)进行类似分析,有助于揭示不同网络输出表示之间的差异。此外,我们的研究见解可能有助于设计更优的CLIP图像编码器架构以及适用于下游任务的特征提取器。我们计划在未来的工作中探索这些方向。