亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

零樣本定位的 CLIP 風格的編碼器

我们怎样才能窥探视觉编码器的视野?

这张照片由 Stephan WiduaUnsplash 拍摄

想想你最喜欢的预训练视觉编码器吧。我假设你选择了一些比如卷积神经网络(CNN)或视觉变压器(ViT)的变体。编码器是一种将图像映射到 d 维向量空间的函数。在这个转换过程中,图像被转换为一系列特征映射。

作者供图。

一个特征图 (w × h × k) 可以看作是由 k 个维度的补丁嵌入组成的二维数组,或者换句话说,一个分辨率为 (w × h) 并有 k 个通道 f ₁, … fₖ 的低分辨率图像。无论是CNN还是ViT,它们都以各自的方式把输入图像转换成特征图的序列。

我们如何才能看到视觉编码器是如何处理图像的每一层的?零样本定位方法旨在生成从编码器特征图得出的人类可解释的可视化结果。这些可视化可能会以热力图或粗略的分割掩码的形式呈现,它们能够区分输入图像中语义相关的不同区域。术语“零样本”指的是模型并未在特定语义类别上接受过显式的掩码注释训练。例如,像CLIP这样的视觉编码器仅接受过图像级别的文本说明训练。

在本文中,我们首先介绍了一些早期的技术,这些技术可以直接从监督的CNN分类器中生成可解释的热图,而无需额外的训练。然后,我们探讨了实现零样本定位的挑战,这是使用CLIP风格的编码器时面临的问题。最后,我们简要介绍了GEM(Grounding Everything Module,简称GEM),这是一种最近提出的、无需训练的、面向开放词汇的CLIP ViT定位方法。

1. 使用监督式卷积神经网络分类器的本地化工作
类别激活图

让我们通过考虑一个用于监督图像分类的简单视觉编码器模型,来建立对本地化概念的理解。假设该CNN使用如下:

  1. 全局平均池化(GAP)将最终特征图的通道 _f_₁(x, y), …,fₖ(x, y) 转换为一个 k 维的向量。换句话说,每个 fᵢ 都会在宽度和高度上进行平均化处理。

  2. 一个单层线性层 W 将这个 k 维的向量映射到一个包含类别得分的向量。

给定类 c 的对数几率可以表示为:

其中 W (c) 表示特征通道 i 对于 logit c 的标量权重,而 Zᵢ 则是用于平均池化的规范化常数。

如文献[2]所述,上述求和可以重写为:

换句话说,logit 可以表示为最终特征通道 __ 的加权平均,然后在宽度和高度维度上求平均。

结果表明,仅计算 fᵢ 的加权平均就能生成一个解释类别 c 的热力图,其中较大的数值对应图像中与该类别语义更相关的区域。这个粗略的热力图可以通过上采样来匹配输入图像的大小,被称为类别激活映射(Class Activation Map,CAM)。

直观地讲,每个 f ᵢ 本身就是图像中某些潜在概念(或“特征”)的热图——尽管这些特征并不一定明显区分人类可理解的类别。权重 W (c) 表示 f ᵢ 在预测类别 c 时的重要程度。加权平均因此突出了哪些图像特征对类别 c 最为关键。通过这种方式,我们可以在不进行额外训练的情况下实现类别 c 的判别定位。

Grad-CAM (2017 年)

类激活映射只有在满足某些关于CNN编码器架构的假设时才有意义。Grad-CAM(3)于2019年提出,它是一种优雅地泛化了类激活映射的方法,可以应用于任何CNN结构,只要从这些特征图通道到logit向量的映射是可微的。

像 CAM 方法一样,Grad-CAM 对特征通道 fᵢ 加权求和以生成类 c 的可解释热图,但是每个 fᵢ 的权重是这样计算的:

Grad-CAM 将每个 f ᵢ 按其对预测类别 c 的 logit 的重要性进行加权的思想进行了扩展,这种重要性通过 logit 对元素 fᵢ(x , y) 的平均池化梯度进行衡量。确实,可以证明,对于满足前一节中假设 1 和 2 的 CNN,计算 Grad-CAM 权重会得到我们之前看到的 CAM(c) 相同的表达式,除了一个归一化的常数(参见 [3] 的证明)。

Grad-CAM 还更进一步,通过在加权平均的特征通道 fᵢ 上应用ReLU激活函数。其想法是仅可视化那些如果其强度增加的话会增强类别 c 预测信心的特征。再一次地,输出可以被上采样以生成与原始输入图像尺寸匹配的热力图。这样可以生成一个与原始输入图像尺寸匹配的热力图。

2. CLIP的本地化

这些早期的方法能否在类似CLIP的编码器上通用?在考虑CLIP时,还有两个额外的复杂性需要注意:

  1. CLIP 使用对比式学习在大型开放词汇表上进行训练,因此没有固定的类别集,这样。
  2. CLIP 的图像编码器可以是 ViT,也可以是 CNN。

说起来,如果我们可以用CLIP实现零样本定位,那么我们就能解锁零样本定位的能力:换句话说,我们可以为任意语义类别生成“开放词汇”的热力图。这驱使我们为CLIP风格的模型开发定位方法。

让我们先尝试一些我们认为基于监督CNN本地化知识合理的方法。

对于给定的输入图像,类别 c 的 logit 可以通过计算 CLIP 文本嵌入和 CLIP 图像嵌入之间的余弦相似度得到。该 logit 对图像编码器最终特征图的梯度是可以计算的。这种方法不论图像编码器是 ViT 还是 CNN 都可以适用。可以直接用 Grad-CAM。

图片由作者创作。

另一种看似合理的做法可能是考虑图像补丁的嵌入和类别文本的嵌入之间的对齐。回想一下,CLIP 是被训练来最大化图像级的嵌入(特别是CLS标记的嵌入)与相应文本嵌入的对齐。是否有可能这个目标隐式地将嵌入空间中的补丁区域与更相关的文本对齐得更紧密?如果是这样的话,我们可以通过可视化给定类别文本嵌入与每个补丁嵌入之间的相似度生成一个判别热图。

这张图片是作者拍的。

相反的可视化

有趣的是,这两种方法不仅都失败了,而且生成的热力图却是我们预料的反面。这一现象首次在论文《探索对比语言-图像预训练的视觉解释》[4]中被提出并描述,并且在各种不同的CLIP架构和不同类别中也被一致地观察到。查看这些“相反可视化”的示例,你可以看看预印本《对比语言-图像预训练的可解释性进一步探讨》[5]的第19页。到目前为止,还没有对这一现象给出单一、完整的解释,尽管已经提出了一些部分假设。

自注意力图

这样一个假设在前述论文[5]中有详细描述。这项工作主要研究ViT架构,并分析了CLIP ViT最后自注意力层中的注意力图。对于给定的输入图像和文本类别,这些(w × h)的注意力图将按照以下方式计算:

  1. 选择与类别文本嵌入具有最高余弦相似度的补丁嵌入(一个 d 维向量——与图像级嵌入的输出维度相同)作为锚补丁。
  2. 通过计算锚补丁查询嵌入 Q 和所有键嵌入 K 的查询-键注意力权重的,来获得注意力图,这些权重可以重塑为大小为 w × h 的热图。注意力权重计算如下:

你可能以为锚点补丁会主要关注那些与感兴趣类别相关的其他补丁。但这些查询-键注意力图显示,锚点补丁实际上同样关注那些不相关的补丁。因此,这些图看起来斑驳且难以理解(更多示例请参阅论文 [5])。作者认为,这可能就是为什么在CLIP ViT中观察到的补丁-文本相似性图如此混乱的原因。

另一方面,作者发现值-值注意力图谱更有潜力。实验证明,值-值注意力权重仅对与锚定区域语义上相关的附近区域更大。值-值注意力图谱不是完整的判别热图,但它们是更值得探索的起点。

3. 接地模块(2024年)

希望你现在能理解为什么对于CLIP来说,无需训练的本地化并不是像监督学习的CNN那样直接——而且原因也不太清楚。然而,最近有一种针对CLIP ViT的本地化方法,称为“Grounding Everything Module”(GEM)(1),在2024年被提出,取得了显著的成功。GEM本质上是一种无需训练的方法,用于修正我们在上一节中看到的嘈杂的查询和键注意力图。通过这样做,由GEM修改后的CLIP编码器可以用于零样本、开放词汇的定位。让我们看看它是怎么工作的。

自我关注

GEM 的主要理念就是自注意力机制,这是对值注意力概念的一种扩展。

给定查询 Q、键 K 和值 V,自注意力块的输出是通过迭代地应用查询、键和值的注意力计算出来的,对于 t = 0, …, n

其中 p ₀ ∈ __{Q, K, V},而 n,即迭代次数,是一个超参数。这个迭代过程可以视为将初始词元 p ₀ 按点积相似性进行分群。到该过程结束时,最终得到的词元 p ₙ 是初始词元 p ₀ 的分群中心。

自注意力权重在生成后整合,以产生自注意力块的输出。

这与传统的查询-键注意力块形成对比,其输出仅仅是这样计算的:

一切模块的接地

现在考虑我们在上一节中用于生成值-值注意力图的方法,其中我们首先根据与类别文本嵌入的相似度选择一个锚补丁,然后计算值-值注意力图。GEM 可以被认为是一个相反的过程,即:

  1. 第一步是用_qkv-_集成的自注意力机制替换ViT的最后_m_个注意力块中的常规注意力(_m_是另一个超参数)。直观地说,这是一种计算价值嵌入_V_的集成簇分配的方法,从而修正原始的查询-键注意力映射。
  2. 第二步是生成一个热图,通过计算从修改后的ViT输出的补丁嵌入与类别文本嵌入之间的余弦相似度。这实际上为每个簇提供一个类别得分。

这一组logits(对数几率)可以被重新塑造成选定类别的判别热图,它可以是任何形式的文本,比如。以下是一些不同类别提示对应的GEM热图示例(红色表示与该类别的提示更相似)。

作者生成的不同文本类别的 GEM 热力图 | (上面) 图片由 Nirzar Pangarkar 来自 Unsplash | (下面) 图片由 Arnav Das 来自 Unsplash

辨识性定位可以将图像级编码器转化为可用于语义分割的模型,而无需昂贵的掩模标注。此外,无需训练的定位是一种强大的方法,使视觉编码器更容易理解,让我们看到它们看到的东西。

零样本定位对于监督视觉模型而言,始于类激活图,这是一种特定类型的CNN架构中使用的技术。后来,有人提出了这种方法的泛化方法,适用于任何监督CNN架构。然而,对于CLIP风格的编码器而言,无训练的定位则相对复杂:相反视觉化的现象仍然没有得到很好的解释,并且在不同的CLIP编码器架构中都存在。截至今天,针对CLIP ViT的一些定位技术,如GEM已经被证明是有效的。是否还有待发现更为通用的方法?

参考文献
  1. W. Bousselham, F. Petersen, V. Ferrari, H. Kuehne, Grounding Everything: Emerging Localization Properties in Vision-Language Transformers (2024), 2024 年 IEEE 计算机视觉与模式匹配大会(CVPR)
  2. B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, A. Torralba, Learning Deep Features for Discriminative Localization (2016), 2016 年 IEEE 计算机视觉与模式匹配大会(CVPR)
  3. R. R. Selvaraju, M. Cogswell, A. Das, R. Vedantam, D. Parikh, D. Batra, Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization (2017), 2017 年 IEEE 计算机视觉大会(ICCV)
  4. Y. Li, H. Wang, Y. Duan, H. Xu, X. Li, 探索对比语言-图像预训练的视觉解释 (2022)
  5. Y. Li, H. Wang, Y. Duan, J. Zhang, X. Li, 更深入地研究对比语言-图像预训练的可解释性 (2024)
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消