CLIP-GCD: Simple Language Guided Generalized Category Discovery(论文翻译)

news/2024/12/1 18:35:19/

CLIP-GCD: Simple Language Guided Generalized Category Discovery

    • 摘要
    • 1 介绍
    • 2 相关工作
      • 2.1 NCD
      • 2.2 无监督聚类
      • 2.3 自监督和多模态预训练
    • 3 方法
      • 3.1 GCD 问题设置
      • 3.2 我们的方法
        • 3.2.1 使用CLIP 在GCD
    • 4 实验
      • 4.1 模型架构细节
      • 4.2 数据集和评估
      • 4.3 和最先进水平比较
      • 4.4 分析
      • 4.5 定性结果
    • 5 总结

摘要

通用类别发现(Generalized Category Discovery,GCD)需要模型既能对已知类别进行分类,又能对未标记数据中的未知类别进行聚类。之前的方法利用自监督预训练与标记数据的监督微调相结合,然后采用简单的聚类方法。在本文中,我们认为这种方法在处理未知类别的情况下仍然容易出现性能不佳,并且没有充分利用一个关键因素:对象类别之间的语义关系。因此,我们提出了两种互补的多模态(视觉和语言)模型的利用方式。首先,我们通过用CLIP替换单模态特征来建立一个强基线,CLIP受其零样本性能启发。其次,我们提出了一种新颖的基于检索的机制,利用CLIP的对齐视觉-语言表示,通过从文本语料库中挖掘标记和未标记集的文本描述。我们特别利用CLIP对图像的视觉编码和语料库的文本编码之间的对齐来检索前k个相关的文本片段,并将它们的嵌入引入到联合图像+文本半监督聚类中。我们进行了严格的实验和消融研究(包括从何处检索,检索多少量以及如何组合信息等),并在包括分布外领域在内的几个数据集上验证了我们的结果,展示了最先进的成果。在通用图像识别数据集上,我们在所有类别上的超过当前最先进的XCon方法[9]高达6.7%,在已知类别上高达2.0%,在未知类别上平均高达11.6%;在精细分类数据集上,平均超过所有类别14.3%,在未知类别上平均超过10.7%。

1 介绍

尽管计算机视觉取得了巨大的进展,但仍存在一些限制。其中一个重要限制是所有类别必须事先知道或进行注释。换句话说,深度学习不能发现原始训练集中没有反映的新类别。这限制了其在一系列问题领域的适用性,包括自动驾驶汽车或个人设备,其中新的类别不可避免地会频繁出现,而没有注释或甚至没有知道哪些类别是已知的,哪些是未知的。

Novel Category Discovery(NCD)[22]设定解决了在未标记数据中发现新类别的问题,通过利用预训练或辅助训练。最近,Generalized Category Discovery(GCD)[43]被形式化为使设置更加现实,其目标是在未标记数据中同时发现未知类别和对已知类别进行分类。这个设置与半监督学习有关,但不假设我们知道数据中的所有类别[5, 41]。

针对这个设置的最先进方法利用自监督图像预训练(例如DINO [2])作为用于编码图像的辅助信息,然后进行简单的聚类 [43]。然而,尽管自监督特征学习可以展示一定程度的跨领域泛化 [19, 25],但对于全新类别来说,仍然是一个困难的挑战,因为这些特征可能与全新类别不相关。

在本文中,我们认为提高泛化性能的一个关键缺失元素是更有效地编码对象类别之间的语义关系。最近,通过对齐多模态(视觉和语言)模型已经显示出在视觉学习中提高泛化性能的显著提升,特别是在扩展的情况下 [11, 24, 30, 37]。这些模型是通过对配对的图像-文本数据进行大规模对比训练来学习的,通过视觉和语言嵌入的对齐。这样的方法已经证明在学习开放世界的视觉概念方面有潜力,因为文本对齐强制视觉特征接近相似的概念,因此新的类别可以由视觉编码器在特征空间中很好地定位。

鉴于这些模型在零样本学习方面的强大结果,因此我们建议首先将单模态图像编码器替换为在多模态方式下训练的模型(CLIP [37])。仅仅这个简单的修改就带来了显著的性能提升,超过了所有目前的最先进方法。因此,这个设置可以作为一个简单但非常强大的基准。

然而,仅仅替换视觉编码器,我们丢弃了多模态模型的文本分支,因此未能充分利用联合的视觉和语言(VL)嵌入及其零样本泛化能力。此外,尽管有显著的增益,多模态模型的视觉编码器在视觉概念在训练数据中没有很好表示或者略微偏离分布时仍然可能表现不佳。

在这里插入图片描述
图1显示了我们提出的一种新颖的检索聚类机制,旨在改进用于广义类别发现(GCD)的输入图像的表示。在顶部部分,我们首先利用CLIP的对齐的视觉-语言表示,使用输入图像作为查询,从一个大型文本语料库中检索出一组高度相关的文本描述。为了进一步利用CLIP的大规模预训练表示,输入图像及其检索到的文本被冻结的CLIP图像和文本编码器编码成一组特征编码。在底部部分,给定连接的文本和图像视图,我们采用半监督的k-means聚类方法将特征聚类为已知和未知类别。

在本文中,我们提出通过检索文本信息来增强视觉嵌入。这样可以更好地利用联合的VL嵌入和文本编码器,并提供扩展上下文知识以用于聚类未知和潜在的领域外类别和图像的能力。具体而言,受到先前的图像字幕工作的启发,给定一张图像,我们从一个大的文本语料库中检索出前k个最相关的文本(这些文本可能来自多模态训练集本身)。我们特别使用CLIP的视觉编码(图像的编码)与文本编码(针对文本语料库预索引的编码)之间的对齐。我们的主要假设是,这些文本片段及其编码可以为聚类未知类别提供有价值的上下文线索。检索到的前k个文本通过CLIP的文本编码器进行编码,然后进行均值池化,并与CLIP的视觉编码连接在一起,作为用于聚类的最终多模态表示。

我们展示了我们提出的方法在多个数据集上显著优于已建立的最先进方法。我们特别扩展了数据集的范围,包括领域适应数据集DomainNet和通用图像识别数据集Flowers102。我们对从哪个语料库中检索,检索多少以及如何组合(或汇总)结果嵌入进行了广泛的分析。关键是,我们在消融研究中证明了我们两个思想的结合(使用CLIP和检索上下文信息)是产生强大的最先进结果所必需的。这是因为组合对齐的嵌入的聚类比聚类不对齐的单独图像和文本嵌入要有效得多。

总结起来,我们的工作有以下几点贡献:
• 我们为GCD提供了一个简单但极其有效的基准线,利用了CLIP图像编码而不是单模态预训练的编码。
• 我们进一步提出了一个跨模态检索模块,通过利用CLIP的跨模态联合嵌入空间来检索包含已知和未知类别的未标记数据的一组上下文文本描述。
• 我们进行了广泛的实验,包括对更具挑战性的领域外数据集的研究,证明我们的方法在超越最先进方法(甚至是我们强大的基准线)方面取得了显著的改进,并进行了严格的定量和定性分析。

2 相关工作

2.1 NCD

NCD(Novel Category Discovery)是一个相对较新的领域,最初被提出为“跨任务转移”,其目的是将在标记数据上学习到的知识转移到在未标记数据中对未知类别(与标记集不重叠的类别)进行聚类[22, 23]。已经开发了几种方法来解决这个任务。[22, 23]使用对比度网络对标记数据进行训练,并将其应用于在未标记数据上训练聚类网络。随后的工作通过专门的深度聚类方法进行了改进[17]。在RankStat [15, 16]中,采用了三阶段流程:首先在所有数据上进行自监督训练进行表示学习,然后在标记数据上进行微调以捕捉更高层次的语义知识,最后使用排序统计信息将知识从标记数据转移到未标记数据。[47]提出了一种对比学习方法,通过在潜在空间中混合标记和未标记数据来生成困难负样本。UNO [10]引入了统一的交叉熵损失,通过交换分类头部的伪标签来同时在标记和未标记数据上训练模型。我们的工作建立在一个新的、更现实的场景——广义类别发现(GCD)[43]的基础上,其中未标记样本可以来自已知和未知类别。原始的GCD方法通过对DINO嵌入进行k-means聚类,而近期的发展如XCon [9]通过额外的对比度训练改进了这些结果。在我们的论文中,我们专注于以多模态模型为基础的几种方法,这与这些改进是正交的。我们还展示了与所有已发表的最先进方法相比更优越的结果。

2.2 无监督聚类

聚类在机器学习社区有着悠久的历史,并且长期以来一直受到研究。这个任务是将一个未标记的数据集自动划分成不同的语义组,而无需从标记集中获取信息。为了解决这个任务,已经提出了几种浅层和深度学习方法。基于深度学习的方法可以大致分为两类,第一类使用样本的成对相似度生成伪标签进行聚类,第二类使用邻域聚合将相似的样本聚合在一起,同时将不相似的样本推开,实现聚类效果。这样的先进聚类方法可以添加到我们的方法中,尽管我们的重点是改进底层特征空间,使得可以使用简单的聚类方法。

2.3 自监督和多模态预训练

自监督学习近年来取得了快速发展。一些方法利用对比学习,通常在增强的未标记图像的副本之间进行,通过打破对称性,例如通过投影头[6]或者教师-学生训练,其中教师来自学生的某个版本(例如学生经过迭代的指数移动平均)[14]。最近,视觉Transformer(例如ViT)[8]的出现,为这些方法提供了更大的灵活性和容量,使得它们可以通过更大的未标记数据集进行扩展(即进一步改进),同时为新的机制(例如掩蔽)提供了独特的机会。除了未标记数据,多模态方法还利用从网络中挖掘的图像-文本对。同样,对比学习等方法可用于将图像和文本嵌入推向一起(当配对时)或推开(当不配对时)。像CLIP[37]这样在非常大的数据集上进行的方法已经展现了令人印象深刻的零样本性能。所有这些方法都与GCD问题相关,因为类别发现受益于更好的表示(自监督学习在分布外具有良好的特性),而零样本分类是一个类似的问题,只是在GCD中可用未标记数据的集合。此外,我们的方法明确地利用了多模态模型中图像和文本编码器之间的对齐,以更好地对未标记数据进行聚类。

3 方法

在本节中,首先介绍GCD的符号和定义。然后,我们解释如何在GCD中使用CLIP,并介绍我们的方法来处理这个任务。

3.1 GCD 问题设置

如在[43]中规定的,数据集D包含两部分,有标签的数据集DL = {(xi, yi)}N
i=1 ∈ X×YL和无标签的数据集DU = {(xi, yi)}M
i=1 ∈ X × YU,其中YL ⊂ YU,并且YL和YU是不相交的,这与NCD [17]的假设不同,NCD假设YL ∩YU = ∅。目标是学习一个模型,根据来自DL的信息对DU中的实例进行分组。利用最近视觉transformers的进展以及它们在各种自监督表示学习中的显着性能[2],Vaze等人[43]设计了一个两阶段的GCD任务的训练流程。首先,对于表示学习,他们通过在有标签的数据上执行监督对比学习和在所有数据上执行无监督对比学习来联合微调表示。
让xi和x̂i是小批量B中同一图像的两个随机增强视图。无监督对比损失定义如下:
在这里插入图片描述
其中zi = h(f(xi))是由骨干网络f(·)提取的输入图像xi的特征,并通过投影头h(·)投影到嵌入空间中,ẑi是输入图像ẑi的另一个视图的特征。

有监督对比损失的定义如下:
在这里插入图片描述
其中N(i)表示在mini-batch B中具有与xi相同标签的其他图像的索引。然后,最终的目标函数是这两个损失的组合:
在这里插入图片描述
其中λ是一个权重因子,BL和BU分别是有标签和无标签图像的小批次数据。对于标签分配,作者提出了一种半监督k-means算法,整体过程类似于k-means [32],但有一个重要区别是在计算每一步的聚类分配时,半监督k-means考虑了有标签数据DL。这意味着带有标签的样本将始终被分配到正确的聚类中,不考虑它们与最近聚类中心的距离。
在这里插入图片描述图2. 模型架构。在第一阶段(左侧),我们提出了一个跨模态检索模块,用于检索带有语境的文本描述,作为有标签和无标签数据的补充信息用于聚类。在第二阶段(右侧),我们将图像视图和文本视图连接起来,并使用半监督k-means聚类算法将已知和未知类别分组。

3.2 我们的方法

通过结合文本和图像信息,语言-图像模型可以在各种任务中获得更好的性能,因此我们建议利用CLIP的零样本学习能力和多模态对齐编码器来处理这种情况,并提出了一种基于检索的数据增强方法。

3.2.1 使用CLIP 在GCD

我们建议通过利用CLIP的多模态联合嵌入来解决GCD任务。CLIP模型有两个分支:图像分支CLIP-Image和文本分支CLIP-Text,分别将图像和文本编码成全局特征表示。CLIP是在大规模的图像和文本对上训练的,使得配对的图像和文本在嵌入空间中靠近,而不配对的则被推开。为了改进数据的表示,特别是对于标记和未标记的数据,我们通过结合两种技术来优化表示:在标记数据上进行监督对比学习和在所有数据上进行无监督对比学习。我们通过同时对目标数据进行微调来实现这一点。CLIP通过将图像的表示与其文本描述的表示进行对比来学习图像表示,例如“一张{类别名称}的照片”。文本描述被称为prompt,并且它的设计对于提高CLIP的性能至关重要。然而,未标记的数据包含了未知的类别,我们没有它们的列表来用于prompt。因此,受到最近在图像字幕生成领域的研究启发,我们为标记和未标记的数据生成一组文本描述,为输入图像提供了补充信息,如图3所示,其中包含了输入图像的细节和信息,以将其映射到特征空间。训练一个单独的字幕生成模型来生成文本描述可能是昂贵且不容易的,因此对于每个标记和未标记的图像,我们从文本语料库中检索出与其最相关的描述,将这个问题转化为一个跨模态的检索问题,我们将在下文进行描述。
在这里插入图片描述
图3展示了从Conceptual Captions(3M)数据库检索出的与ImageNet数据集中一张图像最相关的前4个文本描述样本。

描述数据库是一个有关图像的文本描述的有组织的集合,并且我们选择了前k个最相关的描述。可以使用几种选项,我们在Conceptual Captions(3M)[40]、Conceptual Captions(12M)[4]、MS Coco [31]和LION [39]等数据库的注释中展示了结果。我们没有进行任何严格的处理,只是简单地收集了所有的标题。

文本描述检索:给定一个图像的查询,目标是从描述数据库中检索出前k个最相关的文本描述。为了实现这一目标,我们提出了利用CLIP [37]的跨模态联合嵌入来进行跨模态检索任务。具体来说,我们使用CLIP-Text将描述数据库中的所有描述编码为搜索键。图像由CLIP-Image编码为查询。然后,我们在描述数据库中搜索具有前k个最高余弦相似度分数的文本描述。一些前4个结果的示例如图3所示。

多视图生成用于聚类。我们的特征向量提取和视图生成框架的一般方法如图2(阶段I)所示。给定一张图像和一组文本描述,首先使用CLIP图像编码器对图像进行编码,然后使用CLIP文本编码器对文本描述进行编码,并通过均值池化生成一个视图(句子嵌入)。最后,将图像和文本(视图)的特征向量连接并投影到CLIP的潜在空间中,然后直接在其中执行聚类。

标签分配使用半监督的k均值聚类方法。给定图像视图和文本视图,我们将特征向量进行连接,并根据[43]的方法应用半监督k均值聚类将未标记的数据分组为已知和未知的类别。半监督k均值聚类是传统k均值方法的一种约束算法,其中假定聚类数k已知。这涉及要求DL数据实例根据其真实类标签分配到正确的聚类中心。首先,使用实际的类标签获取DL数据在半监督k均值中的聚类中心。其次,对于额外的新类别|YU\YL|,使用k均值++ [1]从DU数据中获取聚类中心,但仅在DL聚类中心的约束下进行。在更新和分配聚类中心的过程中,DL中同一类别的实例始终被分组在一起,而DU中的实例可以根据其到各个聚类中心的距离被分配到任何聚类中。当算法收敛后,DU中的每个实例都可以被赋予一个聚类标签。

4 实验

4.1 模型架构细节

CLIP [37]包含两个编码器,CLIP-Image和CLIP-Text,它们是用于图像和文本的预训练Transformer模型。CLIP-Text是一个基本的Transformer模型,由12个层组成,隐藏大小为768,最终的线性投影层生成大小为512的表示向量。CLIP-Image是一个混合的ViT-Base模型(与DINO训练模型相同,用于进行公平比较),由12个堆叠的层组成,开始时有一个用于特征提取的卷积层。对于给定的图像,共生成49个隐藏大小为768的嵌入向量,并将输出隐藏状态从768投影到512维,以匹配CLIP-Text编码器的输出。我们对视觉变换器的最后一个块进行微调,起始学习率为5e-5,并使用余弦退火调度将其随时间衰减。我们使用大小为128的批次训练模型100个epochs,并将损失函数(式3.1)中的λ值设置为0.25。通过在单独的验证集上进行调整和测试,选择最佳的超参数。

4.2 数据集和评估

我们在通用图像分类和细粒度数据集上评估我们的方法。按照[43]的方法,我们选择了CIFAR-10/100、ImageNet-100和Flowers102作为通用图像分类数据集。对于细粒度数据集,我们使用了CUB-200、Stanford Cars和FGVC-Aircraft。我们还在具有挑战性的领域自适应数据集DomainNet(Sketch)上进行了实验。我们将训练数据分为两部分:标记数据集和未标记数据集。我们将所有类别均等地分为已见类和未见类,然后从已见类中随机采样50%的图像作为未标记数据,以确保未标记数据集DU包含来自已见类和未见类的图像,而标记数据集只包含已见类的图像。这些分割情况总结在表2中。

评估指标:我们使用聚类准确率(ACC)来衡量模型的性能,其定义如下:

ACC = (正确聚类的样本数) / (总样本数) × 100%

其中,正确聚类的样本数是指在聚类过程中被正确分配到其对应类别的样本数,总样本数是所有样本的数量。
在这里插入图片描述
在这里,ACC是聚类准确率,其计算涉及匈牙利方法(Hungarian method)[28],用于将模型的预测ˆyi与真实标签yi进行匹配。N是未标记数据集中所有图像的总数。根据[43]的做法,我们在三个不同的集合上使用该指标,分别是:

  1. ’All’:涵盖整个未标记数据集DU,即所有未标记的图像。
  2. ‘Old’:指未标记数据集DU中属于YL类别的图像,即已见类别的图像。
  3. ‘New’:指未标记数据集DU中属于YU \ YL类别的图像,即未见类别的图像。

ACC的计算公式为:

ACC = (正确聚类的样本数) / (总样本数) × 100%

其中,正确聚类的样本数由匈牙利方法计算得出,总样本数为未标记数据集DU中所有图像的数量。

在这里插入图片描述
表1.通用图像识别数据集的比较结果
在这里插入图片描述
表2显示了我们在实验中使用的数据集划分。(|YL|, |YU|) 分别表示标记和未标记集合中的类别数量。(|DL|, |DU|) 表示每个集合中的图像数量。

4.3 和最先进水平比较

在通用图像分类、细粒度图像分类和领域适应基准测试中,我们首先将我们的方法与现有的最先进方法进行比较。RankStats+ [16] 和 UNO+ [10] 是两种针对 NCD 的竞争性基线方法,并在 GCD 设置下进行了修改。XCon [9] 是一种针对 GCD 设置中的细粒度数据集的方法。最后,GCD w/ CLIP 是我们提出的在 GCD 方法中使用 CLIP 图像编码器替代 DINO 的方法。在通用图像识别基准测试中的结果如表1所示。在我们实验的所有数据集上,我们的方法在大多数类别上表现最好,通常比以前的方法提高很大幅度。在ImageNet-100、CIFAR-100和Flowers102上,我们的方法在所有子集’All’、‘Old’和’New’上都优于其他方法,这再次证实了我们对多模态模型的双重使用增强了性能,相比于仅使用视觉模型。在细粒度图像分类基准测试中,我们的结果如表3所示。对于大多数数据集,我们的方法在所有类别’All’、‘Old’和’New’上都显示出最佳性能,而在FGVC-Aicraft数据集上实现了可比较的结果。这表明我们的方法对于细粒度类别发现是有效的。在领域适应分类方面,我们的方法在DomainNet数据集的所有子集’All’、'Old’和’New’上显示出最佳结果,这表明我们的方法比标准的ImageNet预训练模型更具有鲁棒性,能够更好地适应分布变化。

4.4 分析

我们通过严格的消融研究来分析我们方法中某些方面的贡献。具体而言,我们强调了以下方法的重要性:语言监督是否会产生具有可转移表示的视觉模型,与传统的仅图像模型相比,检索每个图像的文本数量 k 对模型准确性的影响,检索的文本质量,以及带有和不带有微调的 CLIP 图像编码器 ViT backbone 的效果。

在这个设置中,语言监督是非常重要的,如表4所示。表中比较了使用不同视觉变换器骨干网络(Image Encoder列)以及是否使用仅视觉特征或视觉和文本特征的模型的聚类准确性(Knowledge列)。GCD表示使用了经过微调的ViT-B-16骨干网络,并使用了来自GCD的DINO [2]预训练权重,而CLIP表示使用了经过微调的预训练ViT-B-16骨干网络。

结果表明,使用CLIP的图像和文本特征明显优于仅使用图像特征,从而证实了与仅图像模型相比,引入语言信息可以显著提高性能。此外,检索机制,即利用CLIP的跨模态联合嵌入来进行文本检索,进一步提高了性能,例如在All子集上几乎提高了4%,在Old子集上甚至提高了6%左右。

总的来说,在GCD设置中,语言监督在提高模型表示和性能方面起着至关重要的作用,而基于检索的增强机制相比仅使用视觉特征进一步提高了聚类准确性。

描述性的检索文本对我们的方法至关重要。在典型的数据集中,文本描述可能因与图像的关联程度而异。理想情况下,我们希望编码图像中的显著对象和有意义的细节,以增强用于对象识别任务的表示学习。

对于对比模型来说,学习的表示受到文本转换器(对于CLIP而言就是图像的描述)的影响,这表明描述图像场景内容的文本描述将提高CLIP模型的可迁移性。我们验证了这个假设,并使用多个文本数据源来量化描述文本的描述性。我们对Conceptual Captions(3M)[40]、Conceptual Captions(12M)[4]、COCO [31] 和LION [39]等多个数据源进行了前4个跨模态检索,并记录了每个数据语料库上模型在All、Old和New子集上的准确性,并对每个知识库的结果进行了平均。

表5展示了模型在三个数据集CIFAR100、Stanford Cars和DomainNet(Sketch)上的结果。先前的语言学研究表明,用于替代图像的描述性字幕与那些提供补充信息和上下文的字幕是不同的。与通常包含与图像补充信息的LAION和Conceptual Captions(12M)不同,Conceptual Captions(3M)和MS COCO由于严格的注释过程更具描述性。我们在跨模态检索中使用了CLIP给出的一个描述与其对应图像匹配的分数,根据结果,至少在测试的数据集中,这个假设与我们的主观评估不一致。我们认为从语料库中检索到的字幕的描述性质,知识库的大小以及字幕的多样性都会起到一定的作用。

我们需要检索每个图像的多少个标题?我们探究了标题数据库中标题的变异性对我们模型迁移能力的影响。如图3所示,有许多不同的方式可以对图像进行注释。在每个语料库中,标题在描述对象的方式(例如“火车”或“铁路车厢”)以及对图像中焦点的关注(例如“云”或“鸟”)方面都有所变化。标题的焦点、词汇和风格的变化可能会让模型产生困惑,并使其将图像-文本对推开而不是拉近。我们检查了我们的模型对每个图像检索的标题数量(top-k)的敏感性,将准确性在CIFAR100、Stanford Cars和DomainNet(Sketch)三个数据集上进行了平均,我们选择限制检索的标题为Conceptual Captions(12M)[4]。图3表明,数据集中标题的变异性可能会影响模型的准确性。它们表明,一些标题可能不包含有用的信息,使得模型的准确性在某个数量后停滞甚至降低。

CLIP需要微调吗?CLIP模型最令人印象深刻的方面之一是它在零样本学习方面的表现,即基于对物体的自然语言描述,对从未见过的对象进行分类。在这个实验中,我们探究了CLIP模型在GCD设置中的性能,而不进行任何微调。表6显示了我们在CIFAR100、Stanford Cars和Sketch三个数据集上,对比微调CLIP模型和未经微调的CLIP模型的结果。结果显示,经过微调的CLIP模型在性能上优于未经微调的CLIP模型。最近的研究表明,CLIP的微调可能会扭曲其预训练表示,导致性能不佳,但我们的结果表明,通过正确的超参数选择,CLIP可以进行微调,挑战了CLIP不适合微调的观点。

4.5 定性结果

我们进一步展示了对CIFAR10的ViT CLIP图像特征和图像-文本特征进行t-SNE [42]投影的结果,以可视化特征空间。在图4中,我们展示了未标记数据的聚类特征,并将我们的方法在仅使用图像特征和同时使用图像和文本特征的情况下进行了比较。对于仅使用图像特征的情况,同一类别的数据点通常被投影在彼此附近,形成明确的簇,但类别之间存在一些重叠。相比之下,当同时使用图像和文本特征时,图像-文本特征形成明确的簇,并且具有更明显的分离,进一步确认了在这个设置中使用语言的效用。
在这里插入图片描述
表3.SSB [35]和DomainNet [36]的比较结果
在这里插入图片描述
表4.仅图像与不同图像编码器的图像和文本聚类精度。
在这里插入图片描述
表5.使用不同的知识库作为文本描述源的模型的准确性
在这里插入图片描述
在这里插入图片描述

5 总结

本文中,我们提出了解决广义类别发现(Generalized Category Discovery)问题的方法。借助视觉-语言领域(VLP)的最新进展,我们提出使用CLIP模型,并利用其多模态性有两种方式。首先,我们提出利用CLIP的图像编码器,为广义类别发现提供了一个极强的基线。其次,我们提出一种补充的新型基于检索的增强方法,具体是从文本语料库中检索文本上下文,并共同对图像和文本嵌入进行聚类。我们进行了严格的分析,证明了我们的方法非常适合这个设置。
我们在四个通用分类数据集、三个细粒度分类数据集和一个领域适应数据集上展示了显著的定量改进,相比之前的方法取得了显著的性能提升。重要的是,我们展示了我们利用CLIP的两种方式是互补的,并且两种方式都是必要的,才能实现强大的最新结果。然而,还存在一些限制和未来的工作,包括改进检索过程以提高检索到的上下文知识的质量。


http://www.ppmy.cn/news/993490.html

相关文章

circuit

2023“钉耙编程”中国大学生算法设计超级联赛(4)circuit 题意:给m条边,求最小环的权值和数量。 数据范围较小,为稠密图,所以考虑Floyd 介绍一下Floyd的一条性质:当枚举到某一个中转点k时&…

医药化工企业洁净厂房改造消防防爆安全的重要性

设计 【摘要】:近年来,我国医药化工企业规模不断扩大。医药化工企业的情况复杂,稍有不慎将发生火灾或者爆炸,对人员生命以及财产安全造成巨大的损害,酿成悲剧。所以,“三同时”原则的落实,如何…

openpnp - Enable Visual Homing

文章目录 openpnp - Enable Visual Homing概述笔记视觉归零设置END openpnp - Enable Visual Homing 概述 设备已经完全通过openpnp的校验了. 当时发现一个问题, 视觉归零如果使能, 就会使主校准点和次校准点的位置发生变化, 导致顶部相机十字不能准确的落在主/次校准点上. 当…

【1.4】Java微服务:服务注册和调用(Eureka和Ribbon实现)

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 微服务 ✨特色专栏: 知识分享 &#x…

C#基于OpenCv(OpenCvSharp) 的 fftshift, ifftshift 函数的实现

本文实现基于OpenCv(OpenCvSharp) 的 fftshift, ifftshift 函数。 fftshift 函数将信号频谱的零频分量移动到数组中心, 本质是分别对调一三象限数据。 ifftshift完成相反的操作,本质是二四象限的数据块。 OpenCV中没有这两个函数如果使用需要自己实现。 实现代码如下: …

120、@SpringBootApplication注解有什么用?为什么一定要写它?

@SpringBootApplication注解有什么用?为什么一定要写它? @SpringBootApplication是一个复合注解: @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan public @interface SpringBootApplication {}是以上三个注解的整合,在一个类上只要加了@SpringBootApp…

05 http连接处理(中)

05 http连接处理(中) 流程图与状态机 从状态机负责读取报文的一行,主状态机负责对该行数据进行解析,主状态机内部调用从状态机,从状态机驱动主状态机 主状态机 三种状态,标识解析位置 CHECK_STATE_RE…

【算法题】2790. 长度递增组的最大数目

题目: 给你一个下标从 0 开始、长度为 n 的数组 usageLimits 。 你的任务是使用从 0 到 n - 1 的数字创建若干组,并确保每个数字 i 在 所有组 中使用的次数总共不超过 usageLimits[i] 次。此外,还必须满足以下条件: 每个组必须…