字节团队提出 SuperClass 告别CLIP ,革新图像文本预训练分类技术 !
共 16267字,需浏览 33分钟
·
2024-12-02 09:00
点击下方卡片,关注「集智书童」公众号
前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」
欢迎扫描上方二维码,加入「集智书童-知识星球」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!
作者提出了SuperClass,一种用于图像文本数据上的视觉语言预训练的超级简单的分类方法。与对比学习的CLIP[57]不同,SuperClass直接利用分词的原始文本作为监督分类标签,无需额外的文本过滤或选择。
由于不存在文本编码作为对比目标,SuperClass不需要文本编码器,也不需要像CLIP[57]那样保持大的批量大小。
SuperClass在各种下游任务上表现出色,包括经典计算机视觉基准测试和视觉语言下游任务。
作者进一步探索了SuperClass在模型大小、训练长度或数据大小上的扩展行为,并报告了令人鼓舞的结果和与CLIP的比较。
1 Introduction
近年来,利用直接利用网络级图像文本数据集的预训练方法已经改变了计算机视觉领域。其中,对比语言图像预训练(CLIP)[57]获得了日益增长的普及度,并成为主导方法,原因如下。
首先,它作为行业的标准预训练模型,可以实现零样本视觉识别[50, 52],并在下游任务上进行微调。其次,观察到适当的缩放行为[12],即CLIP可以在一定程度上从更大的模型和更大的数据中受益。第三,它具有强大的跨模态能力,因为它天生就设计用于在文本和图像之间理解和连接信息。因此,CLIP风格的模型已成为大多数现代视觉语言模型的默认选择,这些模型将视觉背骨与深度语言模型相连接。
尽管CLIP取得了成功,但训练它需要非常大的批量大小(通常超过64,000)以实现最佳性能,并需要大量的计算资源进行文本编码。这种高计算需求限制了具有有限资源和工程专业知识的研究行人的可访问性。在作者的工作中,作者通过用更简单的分类方法替代对比方法,消除了需要大型对比批处理的需求,以及文本编码器的需要,试图解决计算负担沉重的问题。
在这项工作中,作者重新探讨了在大规模文本图像对上进行预训练的分类方法。一些先前的研究试图通过使用袋 of-words 分类在弱监督学习的方式下解决这一问题。然而,这些研究主要集中在小规模数据上,并且没有证据证明它们在数据规模和模型大小上的可扩展性。相反,作者的方法展示了 SuperClass在可比CLIP[57]规模上的性能,在10亿个已见样本和10亿个唯一文本图像对上实现了良好的模型性能。另外一些同时进行的研究[31]试图用分类方法替换对比学习。但是,它们严重依赖预处理文本模态,使用袋-of-words和其他手工制作的规则将文本转换为半标签。一些常见的做法包括过滤、词分割、词干提取和删除数字和停用词以创建一个独特的干净词汇。作者发现预处理往往会消除对表示学习有价值的较长尾词汇或包含有用信息的停用词。
相反,SuperClass simply利用原始词 Token 作为监督信号,不需要任何手工制作的预处理:没有过滤或删除停用词。因此,SuperClass保留了原始文本描述的所有信息作为监督信号。
作者提出了一个超级简单分类方法(超级Class),它只需简单地训练来对原始文本 Token 进行分类,其扩展性类似于CLIP。如图1所示,与CLIP类似,超级Class直接在具有任何手动文本过滤的文本 Token 上操作。作者的全面实证研究显示,即使不需要文本编码器,分类方法也可以在模型能力和数据可扩展性方面达到与对比方法相当的性能。作者证明超级Class在图像分类和视觉与语言任务上都是对比方法的竞争性替代品。在相同的Datacomp-1B [21]数据集上预训练,具有相等的可见样本数量,超级Class在各种仅涉及视觉和仅涉及视觉与语言场景中,都显著优于其对比方法。作者还进一步探索了超级Class在模型大小和可见样本数量方面的扩展性。实验表明,基于分类的方法可以表现出与对比方法相当或更好的扩展性。作者希望作者的方法、实验和分析可以鼓励基于分类方法的潜在发展,作为基础的视觉语言预训练方法。
2 Related Work
随着大规模、网络资源的图像文本数据集的日益普及,出现了利用这些数据作为监督训练深度表示的新方法。这些方法通常涉及三种策略:使用文本作为分类标签、实现图像文本对比学习或将文本视为自回归目标。
图像文本数据用于模型训练的研究有着深厚的根源。早在20多年前,Image-to-Word 等早期工作便旨在提高基于内容图像检索的性能。本研究首次尝试训练模型预测与图像相关的文档中的名词和形容词。在这些早期想法的基础上,后续研究试图提高数据效率 ,模型有效性,以及词汇扩展。随着网络架构的发展,Tag2Text 和 RAM[78]利用了Vision Transformers (ViT)[18]作为视觉backbone,从CC12M数据集中[6]提取名词,并通过规则和手动选择相结合,确定了6,449个单词作为分类类别。类似地,CatLIP[51]从CC3M[65]和Datacomp-1B[21]数据集中过滤出“金标签”,并根据某些规则使用更大的图像文本对齐数据集训练视觉模型。
不同于依赖复杂规则或手动过滤来为分类词汇创建“黄金标签”的前期分类方法,作者的方法消除了这种过滤的需要。相反,作者直接将文本 Token 作为分类类别,保留了可能 otherwise 被丢弃的有价值的文本信息。
图像文本对比学习。大规模对比视觉语言预训练自从CLIP [57]和ALIGN [30]的引入而获得关注。此后,众多方法致力于提高CLIP的性能。例如,SigLIP [76]通过使用 sigmoid 损失来减少 CLIP 的软max 对比损失的计算量,从而降低计算负担。LiT [77] 采用预训练的视觉和语言 Backbone 进行对比训练,而其他方法 旨在提高图像文本预训练的训练效率。InternVL [11] 进一步创新,将大型语言模型集成到 CLIP 中的文本编码器中。
在作者的方法中,作者质疑了为对比学习编码文本信息所需的额外 Backbone 神经网络的必要性。相反,作者直接使用文本 Token 输入作为监督信号,消除了需要进行文本编码和避免大型对比操作的计算开销。这种简化设置实现了与双 Backbone 方法相当的表现。
文本作为自回归目标。近年来,许多研究 探讨了使用图像描述生成(IGG)来预训练模型。SimVLM [71] 通过在早期阶段将视觉和语言融合,采用混合架构(如视觉问答(VQA)等应用)进行预训练,从而在该领域进行创新。CapPa [70] 表明,仅通过描述生成就可以有效地预训练视觉编码器。
此外,最近的研究 [75, 42, 37] 将对比学习与描述生成目标相结合,有时还会加入额外的文本编码器。
在这项工作中,作者重新审视了基于分类的方法,并使用大规模的视觉语言数据集。与前面提到的图像描述方法不同,作者的分类方法将文本描述解码器集成在视觉编码器中,允许单个视觉编码器连接两种模式。实验表明,SuperClass在各种下游任务上实现了具有竞争力的,通常更好的性能。
3 A simple classification approach to pretrain vision encoders
在本节中,作者提出了作者的拟议方法SuperClass,它采用了一种基于分类的预训练方法,使用文本监督。
首先,作者概述了SuperClass的一般框架。然后,作者解释了如何将文本转换为类别标签,无需选择“黄金标签”,使所有文本都能监督图像编码器的训练。最后,作者说明了在各种分类损失中选择作者的损失设计。此外,认识到每个词的重要性和判别力,作者在损失设计中引入了逆文档频率作为类权重。
概述。作者旨在建立一个简单、可扩展和高效的自监督预训练方法,该方法基于图像分类与CLIP相匹配。为此,作者遵循标准协议,使用视觉 Transformer (ViT) Backbone 网络作为视觉编码器,随后是一个全局平均池化层和一个线性层作为分类头,输出逻辑向量 。监督目标来自图像相关的文本,分类损失使用文本派生的分类标签和预测的逻辑向量计算。
文本作为标签。作者直接使用分词后的文本作为K-hot标签,其中K是给定句子的 Token 数。
具体来说,对于一个给定的图像-文本数据集 ,其中 对图像 和文本描述 ,作者从基于分类的方法中区别开来,直接使用一个现有的子词级分词器,例如CLIP或BERT中使用的分词器,具有词汇量 。这种分词器输入文本 并得到相应的子词ID集合 ,作为分类标签。集合 中的标签满足 。将分类标签 转换为K-hot向量 ,其中 表示 中的 ,否则 。
与之前的方法相比,作者的方法不需要进行任何预处理或手动阈值设置,使得其操作简便。同时,它也避免了之前方法可能遇到的out-of-vocabulary问题。
分类损失。大量研究关注多标签分类损失。
然而,需要强调的是,作者的主要目标是预训练视觉编码器,而不是优先考虑多标签分类的准确性。在多标签场景中,SuperClass通过以概率方式表示标签,使用softmax损失,其中 是归一化加权标签。
作者评估了多种多标签分类损失,包括Softmax损失、BCE损失、软间隔损失、ASL [59]和双向损失[33]。令人惊讶的是,简单的Softmax损失在预训练中取得了最佳结果。这可能是因为现有的多标签分类损失假设标签是精确且完整的,旨在优化正负类之间的间隔。然而,图像文本数据中的固有噪声和文本在完全捕获图像内容方面的限制意味着图像中的某些物体不一定总是出现在附带的文本中。
逆文档频率。在子词表中,并非所有类别在语义上具有同等贡献,因为不同的词携带的信息量不同。此外,子词词典包含许多与视觉内容无关的词,这些词经常出现在句子中,但并不能提供有效的监督信息。
因此,在训练过程中,应赋予具有更高信息量的词更大的权重。
为了实现这一目标,作者采用逆文档频率(IDF)作为信息重要性的度量。某个特定词在样本中出现的样本数越少,其在样本间进行区分的强度就越强。作者使用每个类别(子词)的IDF统计量作为对应分类标签的权重,为分类标签 分配不同的权重 。
其中 表示图像文本对的总数, 是子词 的文档频率(df),即包含子词 的文本数量。为了使用更方便,作者在训练过程中实现了一个在线IDF统计,消除了预训练离线统计的需要。这种方法提高了作者方法的用户友好性和便携性。
4 Experiment
Experiment setup
作者使用数据集[21]的一个标准子集进行预训练,该数据集包含约1.3亿图像文本对。对于分类模型和CLIP模型,作者分别采用了16k的批处理大小和90k的批处理大小。在消融部分,所有实验都使用16k的批处理大小。为了与CLIP进行公平的比较,作者采用90k的批处理大小,使用AdamW并采用余弦学习率调度,并设置与CLIP相同的学习率和衰减。
Evaluation protocols
为了更好地突显预训练方法的有效性,作者专注于冻结表示的属性。
作者评估了使用完整的ImageNet-1k [14]训练集来学习密集投影层并将 Backbone 网络参数冻结时的分类准确性。作者遵循MAE [24]中的线性检测训练配方。
在遵循Cappa [70]的设置下,作者在ImageNet-1k [14]、Pets [56]和Cars [34]三个数据集上进行10-shot分类。对于每个数据集和模型,作者分别运行3次,并报告平均结果和方差。
锁定图像调优(Locked-image Tuning,LiT)[77] 利用对比训练将锁定图像和未锁定的文本模型对齐。通常,LiT 是一种高效的方法,可以将任何预训练的视觉 Backbone 与零样本分类和检索能力相结合。作者遵循 LiT[77] 的设置,并在 ImageNet-1k[14] 上评估零样本分类的准确性。
与语言模型合作Motivated by最近的工作将预训练的视觉backbone与语言模型[69, 13]相结合,作者研究了学习到的表示与文本解码器的接口的可行性。在这里,作者评估了两种与大型语言模型合作的方式。
1)遵循ClipCap[53],作者将预训练的图像编码器[57, 19, 76]和预训练的12层GPT2解码器[58]冻结,只训练一个 Adapter 来连接图像编码器与语言模型,在COCO标注[9]上进行图像描述。
2)遵循LLaVA[47]的设置,作者训练和微调一个投影层和一个预训练的大型语言模型Vicuna-7B[13],以解决下游任务,包括VQAv2(val)[22],GQA[28],VizWiz(val)[23],T-VQA(val)[66],SQA(img)[79],MMBench(en)[48],MME[20],POPE[46],MMMU[25]和SEEDBench[40]。
Main results
在表1中,作者将使用SuperClass训练的模型与不同类型的预训练方法进行了比较,包括对比或聚类方法,基于重建的方法[3, 73, 8, 24],以及基于视觉语言预训练的方法[57, 70, 21]。总体而言,所提出的方法在这些预训练方法中取得了最佳性能。
与当前最先进的自监督模型DINOv2 [55]相比,作者的方法在IN-1K线性检测(85.0 vs 84.5)上实现了0.5%的更高准确率,而没有引入太多花哨的功能。尽管SuperClass看到了更多的样本,但它作为一个更简单的分类框架,没有采用多尺度、 Mask 图像建模或对比学习,而DINOv2则采用了这些技术。尽管将自监督学习方法与(弱)监督学习方法进行比较是一个系统 Level 的比较,但作者仍然观察到,一个简单的分类预训练方法在许多分类基准测试(如表2所示)上表现出优越的性能。
与对比方法CLIP [57]相比,作者的方法在ImageNet-1K数据集上,使用ViT-Base(80.2 vs 78.5)和ViT-Large(85.0 vs 82.7)作为backbone,实现了更高的线性检测top-1准确率。为了进行公平的比较,作者进一步与基于Datacomp-1B数据集训练ViT-Large模型的OpenCLIP进行了比较。作者的方法在IN-1K和Pets数据集上明显优于OpenCLIP,分别提高了1.6和2.2个百分点,而在Cars数据集上与OpenCLIP相当(92.6 vs 92.7)。请参阅表2。
进一步与CLIP比较 在表3中,作者将由SuperClass训练的模型与目前广泛使用的CLIP模型进行了比较,包括零样本分类和COCO描述。为了验证预训练方法的有效性,作者将标准的ViT[18]结构作为视觉backbone并在此之上添加了一个分类头。作者使用了开源的Datacomp-1B[21]数据集,在训练过程中遇到了13B样本。
为了与CLIP模型进行更好的比较,作者选择了三种类型:OpenAI的CLIP ViT-L/14模型,该模型在内部WiT-400M数据上进行训练;以及Laion的CLIP ViT-L/14模型,该模型在开源Datacom-1B数据集上进行训练。这两种模型的预训练权重都已公开。Laion的openCLIP的预训练权重从Huggingface Hub1下载。为了进行公平的比较,作者根据作者的代码库和Datacomp-1B数据集,以批量大小90k训练了ViT-L/16模型。
采用锁图像调优[77],训练好的分类模型也获得了零样本分类的能力。作者的方法在ImageNet-1k数据集上实现了79.7%的Top-1零样本准确率,这比OpenAI CLIP ViT-L/14和OpenCLIP ViT-L/14都要好很多。虽然它们可能不能直接比较,但这也反映出由提出的SuperClass训练的视觉模型具有强大的视觉感知能力。
将冻结的视觉编码器与一个冻结的预训练12层GPT-2解码器相结合 [58] 通过一个训练好的 Adapter ,模型在COCO描述符 [9] 上进行训练,并报告了CIDEr分数。作者观察到,作者的方法CIDEr分数略低于OpenAI的CLIP,这可能是因为使用了不同的数据集;OpenAI的CLIP使用了内部数据集WiT-400M。然而,在作者的相同设置下,作者的方法仍然优于作者实现的CLIP模型。
总的来说,提出的SuperClass训练的模型与对比预训练的CLIP模型相比,在分类能力和视觉与语言任务上略有提高。
许多大型多模态模型将预训练的视觉backbone与大型语言模型相结合。作者探讨了学习到的表示与文本解码器交互的方便性。遵循LLaVA设置[47],作者将冻结的CLIP模型与SuperClass模型与预训练的Vicuna-7B[13]相结合,并执行下游任务。在图2中,作者展示了一些视觉和语言下游任务的结果。结果表明,SuperClass模型在大多数数据集上能够实现比CLIP模型更好的性能。值得注意的是,与CLIP模型相比,SuperClass模型在VQAv2[22]、T-VQA[66]和MMBench[48](分别针对OCR和细粒度识别任务)上的表现显著更好。此外,VizWiz[23]的整体准确性测量由于大量问题被 Token 为无法回答而不稳定。为了确保作者发现结果的完整性,作者仍然在这个数据集上呈现了结果。
由于空间限制,详细的数值结果已附录。此外,您还可以在附录中找到更多的实验结果。
在图2的顶部一行中,作者展示了不同模型尺度的性能,这些模型用于分类和视觉与语言任务。为了进行公平的比较,CLIP和SuperClass模型使用相同的设置进行训练,包括批量大小为16k和5.12亿已见样本。如图2所示,随着模型规模的扩大,作者观察到性能相应地得到提升,无论是对于分类任务还是与LLaVA相关的下游任务。总体来说,在相同模型大小的情况下,使用SuperClass进行预训练的模型相比使用CLIP的模型具有更高的精确度。SuperClass在零样本分类和VQAv2、T-VQA任务上表现出更好的可扩展性。
在图2的底部一行中,作者展示了在不同可见样本数量下,分类和视觉与语言任务的表现。为了进行公平的比较,CLIP和SuperClass模型都采用相同的训练设置,包括批量大小为16k和ViT-L/16作为 Backbone 。图2说明,随着可见样本数量的增长,分类和与LLaVA相关的下游任务的表现都有明显的改善。通常情况下,在给定相同数量的可见样本时,使用SuperClass预训练的模型在准确性方面优于使用CLIP训练的模型。SuperClass在下游任务上的扩展行为与CLIP相同或略好。此外,SuperClass不需要文本编码器,其训练效率比CLIP更好。
Ablations
为了验证超类(SuperClass)的合理性,作者进行了大量消融实验,先在datacomp-1B [21] 上预训练,然后在不同的设置下使用超类在多个下游任务上进行评估。
表4展示了在serval下游任务上,word-level tokenizer和subword-level tokenizer的结果。作者使用openai CLIP中的tokenizer作为subword-level tokenizer。作者将与CatLIP [51]中使用的word-level tokenizer进行比较,CatLIP [51]从datacomp-1B数据集中精心选择了大约40,000个"黄金标签"。除了tokenizer不同之外,所有模型都在相同的设置下进行训练。
对于ViT-S/16,词级分词器在分类准确性上超过了子词级分词器。可能的原因是,当模型容量受限时,过滤后的干净监督信息更有利于模型收敛。然而,随着模型大小的增加,子词级分词器逐渐在分类任务和视觉与语言任务中超过词级分词器。
无论模型大小如何,在大多数视觉和语言任务上,子词 Level 分词器往往比词 Level 分词器表现更好。这可能是因为子词 Level 分词器保留了大量的语言相关信息,尽管这些信息可能与视觉信息关系不大。这使得使用子词 Level 分词器训练的模型的特征更容易与大型语言模型相结合。
总体而言,使用子词 Level 的分词器表现出更好的扩展行为,并且更适合在大型多模态模型中使用。
不同的子词级分词器表5展示了使用不同子词级分词器的分类任务和LLaVA下游任务的结果。在这里,作者将CLIP [57]中使用的基于字符的字节对编码分词器,BERT [16]中使用的WordPiece [72]分词器,以及LLaMA [69]中使用的SentencePiece [36]分词器进行比较,它们都是子词级分词器。openai CLIP使用的分词器在分类任务和LLaVA下游任务上取得了最佳性能。最后,作者选择CLIP [57]中的分词器用于SuperClass模型的训练。
表格6展示了在ImageNet-1k数据集上不同分类损失。作者选择了一些最常用于多标签分类损失进行实验。
Softmax损失通常用于单标签分类任务。在多标签场景中,可以通过以概率方式描述标签来应用Softmax损失。
BCE损失是一种二进制交叉熵(BCE)损失,通常在多标签分类任务中作为基准。不对称的Loss(ASL损失)是一种改进的BCE损失,用于解决正负不平衡问题。
Soft margin损失是一种基于边际的多标签分类损失。
Two-way损失是多标签分类任务中的当前最先进水平(SOTA)。
令人惊讶的是,最简单的softmax损失在多标签分类损失中明显优于其他所有多标签分类损失。作者认为现有的多标签分类损失假设标签既准确又完整,旨在优化正负类之间的分类间隔。然而,在实际情况下,图像-文本数据包含相当大的噪声,一个文本段落无法完全捕捉图像的所有内容。因此,图像中的一些类别可能不会在相关的文本中提到。在图像-文本预训练的背景下,如何设计一个更好的损失函数仍然是一个值得探索的问题。
IDF作为类别权重考虑每个词汇(子词)在词汇表中的重要性并不相等,它们所携带的信息也有所不同,因此作者使用IDF作为类别权重。表7展示了有无IDF作为类别权重的结果。没有IDF的SuperClass在分类任务上的准确性明显下降,而在LLaVA任务上的精度变化不显著。
移除停用词?停用词在文本挖掘和自然语言处理(NLP)中经常被使用,以消除那些使用非常广泛,几乎不携带有用信息的词汇。在前面的分类方法中,停用词被移除。停用词来自NLTK[49]。然而,表7中的结果表明,保留停用词可以帮助视觉编码器在分类任务上获得更好的性能。
5 Limitation and Conclusion
作者对使用对比和分类目标预训练的视觉编码器进行了全面的比较,结果表明,分类模型在分类和视觉语言任务上均优于CLIP模型。此外,作者的方法不需要文本编码器,这使得训练效率高于CLIP。作者的研究结果还表明,分类作为预训练任务在模型和数据规模增加时可能具有有益的扩展特性,作者鼓励未来的研究深入挖掘这一可能性。
尽管在各种下游任务上都能取得令人印象深刻的结果,但它完全忽视了词序和目标关系,这意味着作者正在失去重要的监督信息。解决这个问题将成为作者未来研究努力的方向。
总之,作者证明了简单的图像分类可以作为从图像文本数据中衍生的视觉 Backbone 的有效预训练策略。作者的目标是激发后续研究对分类作为视觉编码器预训练任务益处的更多关注。
Broader Impacts
本文提出了一种新的训练视觉模型方法,可应用于图像识别及其他视觉任务。该方法相较于社区中流行的方法具有更高的效率,可降低计算机视觉模型训练的计算成本和功耗。
数据扩展结果在表8中,作者展示了在不同可见样本数量下,分类任务和视觉与语言任务的性能。为了进行公平的比较,CLIP和SuperClass模型使用相同的设置进行训练,包括批处理大小为16k和ViT-L/16作为 Backbone 。
图2说明了,随着被观察样本数的增长,对于与LLaVA相关的下游任务,性能有了明显的改善。通常情况下,使用SuperClass预训练的模型在给定相同数量被观察样本时,其准确性会优于使用CLIP进行预训练的模型。在下游任务上,SuperClass与CLIP的扩展行为相同或略好。此外,SuperClass不需要文本编码器,与CLIP相比,训练效率更高。
在表9中,作者展示了不同模型尺度的性能,这些模型在分类和视觉与语言任务上有所不同。为了进行公平的比较,CLIP和SuperClass模型都使用了相同的设置,包括批量大小为16k和5.12亿已见样本。
如图2所示,随着模型的扩展,作者观察到相应的性能提升,无论是对于分类任务,还是与LLaVA相关的下游任务。总体来说,在相同模型大小的情况下,使用SuperClass预训练的模型相比使用CLIP训练的模型具有更高的精确度。SuperClass在零样本分类和VQAv2、T-VQA任务上的扩展性更好。
为了评估作者提出的SuperClass方法在不同模型类型下的鲁棒性,作者选择了两个代表性的卷积网络:ResNet50和ConvNext-Tiny。作者将SuperClass与CLIP在ImageNet零样本(LiT)和线性检测分类方面进行比较,如表10所示。所有实验均在批量大小为16k和1.28亿训练样本的情况下进行。作者观察到,在所有设置中,SuperClass都明显优于CLIP,范围从1.64到2.91。这些结果表明,SuperClass在各种模型架构上的优势对CLIP是鲁棒的。
VLM 下游任务与不同类型的预训练模型 遵循 LLaVA 设置,作者将冻结的 CLIP 模型、自监督模型和 SuperClass 模型与预训练的 Vicuna-7B 结合,并执行下游任务。表11 中的实验结果表明,所提出的方法能够实现优于自监督 ViT 预训练方法(如 DINOv2)和弱监督方法(如 CLIP)的效果。
参考文献
[0]. Classification Done Right for Vision-Language Pre-Training.
扫码加入👉「集智书童」交流群
(备注:方向+学校/公司+昵称)