ICCV 2023 | APE: 高效的 CLIP 图像分类适配算法,比 Tip-Adapter 参数少30倍

论文:Not All Features Matter: Enhancing Few-shot CLIP with Adaptive Prior Refinement
链接:arxiv.org/pdf/2304.01…
代码:github.com/yangyangyan…

导读

TL;DR: 本文基于 CLIP 提出了一种特征提纯的方法为下游图像分类任务选择最具有判别性的特征,以此来提高下游任务的性能并同时提高计算效率。相比于其他方法,我们提出的两种模型,APEAPE-T,前者在 0 参数量的方法中达到了最好的性能,后者可以达到 SOTA,并且参数量比 Tip-Adapter-F30 倍!

动机

思考问题

现如今,很多大规模预训练的视觉-文本模型,如CLIPBLIP等,能够在多种数据分布下表现出良好的性能,并已经有很多的工作通过few-shot的方式将它们应用于下游任务。但这些方法或者性能提升有限(如CoOpCLIP-Adapter等),或者需要训练大量的参数(如Tip-Adapter等)。因此我们会问,能否同时实现高few-shot性能且少参数量呢?

出发点和思路

CLIP 是一个通用的模型,考虑到下游数据分布的差异,对某个下游任务来说,CLIP 提取的特征并不全是有用的,可能包含一部分冗余或噪声。因此,在这篇文章中,我们首先提出一种特征提纯的方法,为每个数据集提纯高判别力的特征通道,从而减少了参数量,且提升了计算效率;然后设计了一种参数高效的 few-shot 框架,提升了 CLIP 在不同数据集上的 few-shot 性能,下图是整体流程图:

理解完上述动机,下面让我们正式介绍下本文提出的算法。

方法

这一部分中,我们着重向大家介绍特征提纯模块和新提出的few-shot框架。

特征提纯

CLIP 是一个通用的模型,在下游任务上,考虑到数据分布,CLIP 提取的特征可能并不全是有用的,因此我们试图为每个下游数据集提纯个性化的特征。我们通过最大化类间差异,或者说最小化类间相似度,来选择高判别力的关键特征。对于一个 C C 类的下游任务,我们计算所有类的所有样本表征之间的平均相似度 S S

扫描二维码关注公众号,回复: 16172964 查看本文章

其中, i , j 1 , . . . , C i, j \in {1, ..., C} 代表类的序号, p i , p j p^{i}, p^{j} 代表两个类的先验概率, M i , M j M^{i}, M^{j} 则代表两个类中的样本书来给你, δ ( , ) \delta( \cdot, \cdot) 为相似度函数, x x 代表表征。

假设 B { 0 , 1 } D B \in \{0, 1\}^{D} 代表特征通道是否被选中, D D 代表特征维度, B B T = Q BB^{T}=Q 代表预先定义 Q Q 个特征被选中,则通过求解 B B 使得 S S 最小化,我们便可以得到需要的特征,即求解以下优化问题:

其中 \odot 代表逐元素相乘。经过求解(求解和简化的具体过程可以查看源码),可以得到每个数据集的关键特征。经过特征提纯,我们在 ImageNet 上统计了图像和文本相似度的变化,如下图所示。相比于没有特征提纯,我们选定的特征减小了类间相似度,同时增大了图像和文本的匹配程度。且我们提纯出的特征能够获得更好的 similarity map

三边关系的few-shot框架

CLIP 等视觉文本模型一般基于测试图像特征和文本表征的相似度或距离来完成分类任务。但除此之外,我们还可以使用测试图像和训练图像的相似度来校正,并使用训练图像和文本的相似度来为困难样本提供额外的信息。基于这种考虑,我们探究了测试图像文本描述训练图像嵌入之间的三边关系。

假设 f f 代表测试图像特征, F F W W 分别代表训练图像和文本描述的特征, L L 代表寻来你图像的标签,则我们可以建立三边关系:

其中, R f W R_{fW} 代表一般的 CLIP 基于视觉-文本相似度的预测, R f F R_{fF} 代表模态间的相似度,即测试图像和训练图像之间的相似度, R F W R_{FW} 反映了训练图像对测试图像的贡献; β \beta γ \gamma 是两个平滑系数, D K L ( ) D_{KL}(\cdot | \cdot) 计算 KL 散度。基于以上三种关系,我们将最终的预测结果定义为:

l o g i t s = R f W + α R f F ( d i a g ( R F W ) L ) ) . logits = R_{fW} + \alpha R_{fF} (diag(R_{FW})L)).

我们可以将特征提纯与三边关系结合起来,直接在选择出来的特征上进行三种关系的few-shot学习,这样可以减少参数和计算效率。我们提出了training-freetraining-required两种框架,分别记为APEAPE-T,结构如下图,后者相比于前者增加了少量可训练的残差。

Training-free 框架 APE

进一步地,我们基于 f f F F W W 提纯出具有高表征力的特征通道,提纯后的表征分别记为 f f^{\prime} F F^{\prime} W W^{\prime} 。则 APE 的预测为:

l o g i t s = R f W + α R f F ( d i a g ( R F W ) L ) ) . logits = R_{fW} + \alpha R_{f^{\prime}F^{\prime}} (diag(R_{F^{\prime}W^{\prime}})L)).

Tip-Adapter相比,APE增加了一个权重项用于判断训练样本的重要程度;且经过提纯后的特征排除了较多的冗余信息,使得预测更为准确。

Training-required 框架 APE-T

最后,我们学习一个共享的残差项 R e s Res ,并将其与训练样本特征 F F 和文本表征 W W 相加,此残差只调节提纯出的特征通道并且是类内共享的,这使得残差参数量非常小。这一点区别于Tip-Adapter-F,它直接微调 F F ,这实际上造成了很大的参数冗余(在ImageNet 16-shot的实验中,参数量是APE-T的 30 倍)。此外,我们主动学习样本权重项 R F W R_{F^{\prime}W^{\prime}} ,而不再通过计算散度得到。最终的预测仍然可以用上面的计算公式得到。

实验

我们在 11 个分类数据集上研究了方法的性能,并提出了 training-freetraining-required 两个版本,下图是11个数据集上的平均性能以及和其他方法的比较。

与其他方法相比,我们的计算效率和参数量都有所优化,同时泛化性能也有所提升。

下面是关于特征提纯,APE和APE-T的消融实验,从下图中我们可以看出:

  1. 提纯的特征通道的数量对结果有所影响,但一般而言提纯后的结果要高于用所有通道的结果;
  2. 我们建立的三边关系对于APE都有促进作用;
  3. 我们在APE-T中学习的残差和训练样本权重对结果都有作用,但其中施加在文本表征上的残差作用更大,即单独为文本表征增加残差已经非常接近APE-T的结果。

在不同的骨干网络结构下,APE和APE-T在ImageNet上的结果:

在其他的图像文本对比训练模型下,APE和APE-T也能实现比较高的结果,下图是在BLIP下的结果

更多的 similarity map 如下图所示,提纯出的特征能更好的聚焦在目标上:

总结

感谢您的阅读,更多的实现细节和比较请看我们的文章,本文代码已开源。如果你有关于此篇论文感兴趣或者想一起交流探讨的点,欢迎添加小编微信 cv_huber 或扫描屏幕下方二维码与作者一起互动。

猜你喜欢

转载自juejin.im/post/7266299564345311251