CLIP对比语言和图像预训练(CLIP)在各种任务上取得了出色的性能。然而,CLIP的有效性高度依赖于大量的预训练数据,导致了对计算机资源的显著消耗。尽管知识蒸馏已经被广泛应用于单模态模型,但如何有效地将知识蒸馏扩展到具有大量数据的视觉和语言基础模型仍然是一个相对未探索的领域。 在本文中,作者提出了CLIP-CID,一种新的蒸馏机制,可以有效地从大型视觉和语言基础模型中向较小的模型传输知识。作者首先提出了一种简单但高效的图像语义平衡方法,以减少转移学习偏差并提高蒸馏效率。这种方法在保持卓越性能的同时,从LAION400M过滤出了43.7%的图像文本对。 然后,作者利用簇实例区分来促进教师模型到学生模型的知识传递,从而使学生模型能够获得预训练数据的整体语义理解。实验结果表明,CLIP-CID在包括线性 Prob 和零样本分类等各种下游任务上实现了最先进的性能。
1 Introduction
随着移动网络和社会平台的大量普及,图像文本对的生产爆炸式增长 。如此丰富的数据为视觉语言预训练的推进提供了强大的基础。对比学习预训练(CLIP)[1]在多模态学习上取得了显著成功,通过在大型数据集上align图像文本对。它使用对比损失学习两个独立的单模编码器,这是表示学习中最有效的损失之一 。然而,CLIP的成功在很大程度上依赖于庞大的预训练数据集。原始CLIP模型在4亿图像文本对上进行32个epoch的预训练,需要数千个GPU天。在计算资源有限的情况下,这具有明显的挑战性[1, 17]。最近,从网站爬取的大规模图像文本数据集(如LAION400M 和LAION5B [13])在日常生活中广泛应用于视觉语言预训练。数据Comp 从Common Crawl的网页数据中提取图像文本对,并采用诸如基本过滤、CLIP评分过滤和基于文本图像过滤等策略。然而,训练数据中的语义重复问题仍然存在,这不仅可能影响表示学习,还可能浪费计算资源 。
图1:CLIP-CID和OPENCLIP在14个常见数据集上的线性探查性能对比。尽管从LAION400M中排除了43.7%的图像文本对,但CLIP-CID展示了卓越的性能。
知识蒸馏(KD)[10]被提出,通过在整个训练期间从大型教师模型中转移知识来提高小学生的性能。文献中大多数现有的KD方法主要是针对小规模的数据集和小型模型。最近的研究集中在针对特定目标任务或数据集的CLIP蒸馏。例如,BeamCLIP [13]引入了跨模态相似度匹配和上下文提示增强来从CLIP表示模型中转移知识到小模型,在ImageNet [4]上取得了更好的性能。ZeroSeg [4]将CLIP习得的视觉概念蒸馏为一组分割标记,从而显著提高了训练效率并保留了分割性能。然而,将知识蒸馏方法应用于增强基础模型仍然研究较少。最近的一些工作[21, 19]成功地从大型基础模型到小模型的知识转移。然而,他们的注意力仅限于实例水平,因此无法有效地捕捉大量训练数据集的语义结构。这一局限性来源于实例 Level 的对比学习,它始终将来自不同实例的样本视为负对,而忽视了它们的语义相似性。
为了应对上述挑战,本文提出了一种称为CLIP-CID的新颖的蒸馏机制,该机制有效地从大型视觉语言基础模型到较小模型转移知识。为了降低迁移学习偏差并提高蒸馏效率,作者首先提出了一种简单而有效的图像语义平衡方法,可以删除LAION400M中的43.7%图像文本对,同时保持卓越的性能。此外,作者还通过集成聚类实例过滤和实例过滤来增强从大型教师模型到较小学生模型的知识传递,这促进了学生模型的全面语义理解。如图1所示,作者提出的CLIP-CID在删除LAION400M中的43.7%图像文本对后,在14个常见数据集上展示出色的线性探查性能。本文的主要贡献如下:
- 作者提出了一种简单而有效的图像语义平衡方法,可以减少迁移学习偏差并提高蒸馏效率,该方法可以在删除LAION400M中的43.7%图像文本对的同时保持卓越的性能。
- 作者引入了CLIP-CID,这是一种新颖的知识蒸馏机制,集成了聚类实例过滤和实例过滤,以有效地从大型视觉语言基础模型向较小模型转移知识。
- 作者进行了广泛的实验以验证所提出方法的有效性。实验结果证明了CLIP-CID在各种下游任务上实现了最先进的表现,包括零样本分类和线性探查。
2 Related Work
在论文的"相关研究"部分,研究行人通常会介绍相关领域的现有知识和研究现状。这部分通常有助于为论文的内容提供一个更广泛的背景,并使读者能够更好地理解研究的问题和目的。
在这篇文章中,作者总结了当前的研究现状,探讨了目前存在的主要问题和挑战,并介绍了作者的研究方法和贡献。
作者首先回顾了深度学习和自然语言处理领域的发展历程,并概述了深度学习的原理和如何将其应用于自然语言处理任务的基本方法。
然后,作者分析了自然语言处理领域中的主要任务,包括文本分类、命名实体识别、依存句法分析和情感分析等。作者阐述了每种任务的优缺点,以及当前研究中存在的局限性。
此外,作者还探讨了自然语言处理领域中的主要挑战,例如训练数据质量和生成模型的生成能力问题。作者介绍了几种应对这些挑战的方法,并根据作者的经验对这些方法的功效进行了评价。
最后,作者介绍了作者的研究方法和模型设计。作者提出了一种新颖的深度学习模型,该模型可以同时实现文本分类和命名实体识别任务。作者还介绍了如何使用作者的模型在实际应用中进行模型评估和优化。
总的来说,作者认为作者的研究可以对自然语言处理领域的发展产生积极的影响,作者的贡献将会为未来的研究提供有用的资源。
Vision-Language Pre-training
CLIP [13] 由于其出色的零样本识别能力和成功迁移能力而受到了广泛关注。近期的进展改进了基于 CLIP 方法论 [22, 4] 的研究。ALBEF [11] 在将图像和文本表示融合之前引入对比损失来对齐图像和文本表示,这使得更扎实的视觉和语言表示学习成为可能。ALIGN [15] 利用包含超过十亿对噪声图像 alt-text 的数据集,将视觉和视觉-语言表示学习进行扩展。FILIP [23] 通过修改对比损失成功利用了图像块与文本词之间的更为精细的表达能力,使得推理过程中可以离线预计算图像和文本表示。FLIP [11] 采用随机遮挡和训练期间移除大量图像块技术,使得在相同的时间墙钟内可学习到更多的图像-文本对,同时每次迭代中对比样本的数量增多,同时保持相似的内存占用。然而,利用广泛数据集预训练视觉语言基础模型面临着巨大的挑战,原因是涉及的费用高和计算资源消耗大。
Large-Scale Dataset Filtering
虽然开源的大型数据集(如LAION400M [12])根据CLIP分数低于0.3过滤了图像-文本对,但必须强调的是,CLIP分数的有效性在特定场景中可能受到限制。例如,包含明显文本的图像通常会得到较高的CLIP分数,但这对表示学习可能产生不利影响[10]。最近的研究提出了一种复杂性、动作和文本标注过滤策略[1],从噪声的网站规模数据集中选择有用的图像-文本对。此外,从ImageNet适应的LAION [1]修剪方法采用直接的复杂性度量,减少了标准方法的训练成本的四分之一。然而,清洗大规模数据集存在计算挑战。为了解决这个问题,SemDeDup [1]利用预训练模型的嵌入来确定和消除语义相似的重复项。与以上方法不同,作者提出了一种简单而有效的图像语义平衡方法,以减少迁移学习偏差并提高浓缩效率。它只需要一次遍历数据,就可以在保持卓越性能的同时,过滤出LAION400M中的43.7%图像-文本对。
Knowledge Distillation
知识蒸馏在计算机视觉领域得到了广泛应用。在视觉语言基础模型的基础上,近期研究努力[20, 4]在特定数据集如ImageNet[19]和ADE20K[17]上取得了显著的性能提升。混合蒸馏[20]通过集成遮挡自动编码器与CLIP,在COCO[12]和ADE20K[17]上取得了优越的性能。CLIP-TD[21]通过动态加权的目标,将CLIP中的知识有效地转移到 established architectures[23]中,使得在视觉常识推理任务上的性能有了显著提升。DIME-FM[22]旨在使用较小规模的公共图像和未配对的句子来蒸馏小型基础模型。然而,上述方法仅关注实例 Level 知识,而忽略了大规模训练数据的语义结构。这种限制来自于基于实例的对比学习,它是根据实例差异将样本配对为负样本,而不考虑其语义相似性。
3 Methodology
Image Semantic Balance
为了增强教师模型到学生模型的全面知识迁移,并减少迁移学习偏差,作者提出一种简单而有效的图像语义平衡方法。作者的主要目标是解决图像中的感知冗余性和语义冗余性。如图1(a)所示,感知冗余图像在像素层面上的差异最小。相比之下,如图1(b)所示,语义冗余图像在像素层面上存在显著差异,同时保持显著相似的语义信息。如图1(d)所示,图像中感知冗余性和语义冗余性的存在导致数据集语义概念分布不均,从而在学生模型进行蒸馏时产生知识迁移偏差。
与现有基于群聚的方法需要多次迭代[1, 2]不同,作者的方法只需要一次完整的训练数据遍历,将具有相似语义的图像集成到同一组中。图像语义平衡过程如图1(c)所示。首先,作者使用OPENCLIP ViT-bigG/14[13]模型从LAION400M[20]中提取图像嵌入。由于内存限制,作者将所有图像嵌入分成个块,并将分配到不同的节点。然后,作者计算当前图像与各个块中的图像之间的欧几里得距离矩阵[1],按距离大小升序排列各行的顺序,并将这些距离矩阵拼接成一个全局矩阵。接下来,作者使用Union-Find算法[10]将语义相似的图像聚类。如果不同图像之间的距离超过距离阈值,它们将被分配到不同的集合中。否则,它们将被合并到同一集合。作者将找到图像的中心(离集合质心最近的图像),并从同一集合中消除其余图像。因此,LAION400M图像的总数为225M,表示为LAION225M。值得注意的是,GPU仅用于计算嵌入距离,而Union-Find算法在CPU上执行。如图1(d)所示,LAION225M展示了更平滑的分布,便于学生模型从教师模型中学习更全面的知识。
Cluster-level Distillation
图2:(a)和(b)展示感知冗余图像和语义冗余图像的视觉化。 (c)展示图像语义平衡过程的视觉化。 (d)在学习者模型和教师模型中,LAION400M和LAION225M在1M簇中的分布。
传统的实例对冲学习将不同的实例视为负对,限制了它捕获训练数据中完整语义信息的能力 [1, 1, 17, 16, 15]。在本研究中,作者引入了簇鉴别知识蒸馏,以进一步挖掘训练数据中的潜在语义结构。作者的方法是将视觉相似的实例分为簇,从而实现更全面的语义表示。簇鉴别知识蒸馏方法涉及两个阶段:(1)聚类,为每个图像分配唯一的类标签并得到簇中心;(2)簇鉴别知识蒸馏,便于教师模型中的全局知识向学生模型转移。
聚类。作者研究了标准的-均值算法,该算法旨在根据最近邻准则将给定的向量集分成个不同的组。给定归一化图像嵌入,聚类过程涉及共同学习一个的簇中心矩阵,并通过解以下优化问题为每个图像分配簇标签:
s.t. , (1)
其中是训练样本数量,簇中心属于簇中心矩阵被认为是个簇的归一化原型。在上是一个受限为满足的单标签分配。 是一个大小为的概率1向量。
在本工作中,作者使用OPENCLIP ViT-bigG/14(Ilharco等,2021)模型提取图像嵌入。由于大型无整理的网页规模数据集中存在噪声,因此自动聚类的海量数据集不可避免的面临内聚类纯度和跨类冲突等挑战。内聚类纯度问题可以通过调整聚类数量进行解决。而跨类冲突的有效缓解可以通过在每个mini-batch内减少采样负例的数量来实现。具体地说,通过利用高效的特征量化(Johnson,Douze和Jegou,2019)的优势,作者将LAION225M聚类为一万个类别。为了缓解跨类冲突,作者采用PatialFC(An等人,2022)并在每次迭代中随机选择负类中心的一部分。
聚类鉴别蒸馏。在聚类之后,作者可以继承 vanilla KD(Hinton,Vinyals和Dean,2015)的原始机制来实现实例-聚类对齐。如图3所示,作者考虑一组训练图像 ,包含 幅图像。初始时,作者使用学生图像编码器和教师图像编码器来得到归一化的学生图像嵌入 和归一化的教师图像嵌入 (教师图像嵌入是在离线状态下获取的)。这些归一化的图像嵌入 和 经过一个全连接层进行初始化,该层使用了聚类中心。值得注意的是,如果没有这种初始化会导致模型训练崩溃。接下来,图像被划分为 个类别,用原型 表示,其中 。通过上面聚类步骤得到的伪标签和聚类中心,作者可以实现逻辑鉴别蒸馏,即优化一个标准的软最大化分类损失:
此外,作者通过最小化教师和学生预测概率的Kullback-Leibler(KL)距离来实现分布 alignment。
其中, 表示用于软化分布表示的温度超参数。最后,簇 Level 的蒸馏损失 定义为:
其中, 是一个用于平衡不同损失影响力的损失权重。
Instance-level Distillation
集群级蒸馏对学生的图像编码器产生主要影响,有助于模型从训练数据中捕捉全面语义信息。然而,这可能导致无意忽略细微的语义细节,并在图像和文本对齐上施加限制。为了解决这个问题,作者引入了实例级蒸馏损失。对于图像-文本对,作者首先获取离线的教师图像嵌入 和教师文本嵌入 。然后,作者分别使用 和 去监督学生的文本嵌入 和学生图像嵌入 。作者使用双向对比损失(Sohn 2016; Srivastava和Salakhutdinov 2012)来对齐教师嵌入和学生嵌入,该损失定义为:
Figure 3: 作者的提出的集群-实例区分蒸馏架构。
,其中 。其中, 是一个损失权重。然后,实例级蒸馏损失 的定义为:
, 其中, 是损失权重。最后,整体损失函数定义为:
, 其中 表示标准 CLIP 损失。。
4 Experiments and Results
实验一:实验设计与方法 本实验采用深度学习方法,基于卷积神经网络(CNN)进行图像分类。在实验中,作者使用了多种类型的数据集,包括手写数字数据集、自然图像数据集等,以便验证模型的泛化能力。实验二:实验结果分析 在本实验中,作者使用实验一中得到的模型对不同数据集进行训练和测试,并对其在不同数据集上的性能进行了分析。实验三:实验结果与分析 本实验对实验二中得到的模型进行改进,引入了一种基于对抗生成网络(GAN)的特征提取方法,并将其应用于图像分类任务。实验四:结论部分 在实验中,作者验证了不同特征提取方法在图像分类任务中的不同性能,并得出了一种高效、准确的图像分类方法。
Experimental Settings
实现细节:在这篇论文中,作者使用OPENCLIP bigG/14作为老师模型。学生模型采用与CLIP[16]相同的架构优化,初始学习率为,权重衰减为。为防止塌陷,全连接层的初始学习率设为。根据实证观察,作者将损失权重和分别设置为0.999和0.5。作者将设置为0.9,设置为0.98以提高训练稳定性。输入图像大小为,输入文本序列长度截断或填充至77。温度参数初始化为。作者在ViT-B/32和ViT-B/16模型上进行去粗取精训练32个周期,批次大小分别为32,768和24,576,在64台NVIDIA H800 GPU上进行训练。
下游数据集:为了证明作者方法的有效性,作者在14个数据集上呈现线性检测和零样本分类性能,包括Food101[12],CIFAR10 & CIFAR100[15],Birdsnap[1],Stanford Cars[16],Aircraft[17],DTD[18],Oxford Pets[19],Caltech101[11],Fergus和Perona 2004,Flowers102[14],SUN397[15],STL10[13],EuroSAT[1],以及ImageNet[1]。此外,为了评估作者模型的鲁棒性,作者对ImageNet-V2[10],ImageNet-A[10],ImageNet-R[1],ObjectNet[1]和ImageNet-Sketch[1]进行了零样本鲁棒性比较。
Experimental Results
零样本分类。作者在14个零样本分类数据集上呈现了作者的性能。提示模板和类别名称与CLIP [16]一致。如表1所示,在LAION225M上训练的OPENCLIP与在LAION400M上训练的相比具有可比性能。这主要归因于去除了语义冗余图像,这既增强了预训练数据集的语义平衡和多样性。此外,通过将聚类实例区分蒸馏与CLIP-CID ViT-B/32和CLIP-CID ViT-B/16相结合,在14个数据集上分别实现了69.4%的平均性能和71.3%,分别优于在LAION400M上训练的OPENCLIP。这种性能提升证明了聚类实例区分蒸馏在增强学生表示方面的有效性。
表1:零样本分类比较。作者在14个常见的下游数据集上呈现零样本性能。:CLIP论文中报告的结果。:作者重现的结果。:在LAION225M上训练的OPENCLIP模型。
**线性 Prob **。遵循CLIP [16]相同的评估设置,作者冻结模型并仅训练一个逻辑回归分类器。如表2所示,作者在14个下游数据集上的线性 Prob 性能。与零样本分类相似,作者观察到,去掉43.7%的训练数据后,在经过过滤的LAION225M上训练的OPENCLIP与在整个LAION400M上训练的相比具有类似性能。通过采用作者提出的聚类实例区分蒸馏方法,CLIP-CID在14个数据集上实现了平均性能提升2.3%和1.8%。值得一提的是,作者的方法在CIFAR10&CIFAR100、Oxford Pets、Birdsnap、Stanford Car和Aircraft上的表现进一步证实了在显著增强实例分类表示能力方面的有效性。
零样本鲁棒性评估。在表3中,作者呈现了不同模型大小的鲁棒性评估。作者观察到,去掉43.7%的训练数据会导致鲁棒性的微小降低。随后,聚类实例区分蒸馏机制的整合使作者模型从教师模型中高效有效地获取知识。因此,作者的模型 consistently展示出优于OPENCLIP的鲁棒性。在图4中,作者可视化了中、最后一个 Transformer 层最后一全连接层的权重分布。在蒸馏后,作者观察到模型权重分布范围扩大,接近零的元素数量减少。这一现象反映了自适应能力提高,因为权重可以获得更广泛的潜在值或状态(Shen和Savvides,2020)。
Ablation Study
在阈值上的消融。为了探索LAION400M的最优图像过滤比例,作者在阈值上进行消融研究。的值与集合的个数有关,这会直接影响被删除图像的比例。作者在具有各种阈值的过滤数据集上训练标准OPENCLIP ViT-B/32。如表4所示,将设置为0.07导致图像文本对被删除的43.7%,并观察到最佳性能。然而,将增加至0.08,使得过虑率提高到47.5%,导致性能显著下降。
在蒸馏损失上的消融。作者进行消融实验以验证作者提出的集群实例蒸馏机制。如表5所示,集群区分蒸馏损失的集成将线性 Prob 性能从84.1%提高到85.7%,而零样本性能的边际增益为0.9%。这是因为集群 Level 的蒸馏损失主要影响图像编码器,增强其学习综合语义信息的能力,同时对图像对齐施加约束。引入实例区分蒸馏损失后,它提高了跨模态对齐并捕获更细微的语义,这显著提高了零样本结果,从68.3%提高到69.4%。
在集群中心上的消融。集群中心数量是管理类间和类内冲突的关键因素。如表6所示,作者呈现CLIP-CID ViT-B/32的平均线性 Prob 和零样本分类性能。从0.1百万到1百万集群中心数量的增加导致了模型性能的相应提高。这种提高可以归因于集群内纯度的提高,意味着模型在识别和表示方面的能力增强。然而,随着集群中心数量从1百万到5百万的增加,性能恶化。
教师模型的消融。为了探索教师模型和学生模型之间参数数量差异的影响,作者比较了从不同规模的教师模型中蒸馏的CLIP-CID ViT-B/32的性能。实验结果如表7所示,作者发现较大的教师模型,如OPENCLIP ViT-bigG/14,对线性 Prob 和零样本分类产生了更好的学生性能。
PCA成分的可视化。作者呈现了OPENCLIP ViT-B/32和作者的CLIP-CID ViT-B/32提取的纹理特征的主成分分析(PCA)的结果。作者对第一成分应用阈值,有效地区分主要目标和背景。然后,在剩下的 Patch 处计算第二PCA。为了可视化结果,作者为每个模型的第一、二、三个成分分配三种不同的颜色。如图5所示,作者的模型通过保持类别内目标部分的恒定颜色表示了出色的语义理解,例如,在同一类别内的不同图像中,作者的模型始终恒定地保持了鹅头的红色。然而,OPENCLIP显示了三种不同的颜色。作者还提供了嵌入、簇和类激活映射的可视化效果,见补充材料。
Conclusion
在本文中,作者提出了CLIP-CID,这是一种新颖的蒸馏机制,可以从大型视觉语言基础模型有效地转移到较小的模型。
为了减轻迁移学习偏见并提高蒸馏效率,作者提出了一种高效的图像语义平衡方法,该方法可以在保留出色性能的同时,从LAION400M中过滤43.7%的图像-文本对。
然后,作者使用聚类实例区分来促进教师模型向学生模型转移知识,使学生模型能实现对预训练数据的全面语义理解。
实验结果表明,CLIP-CID在各种下游任务上超过了现有方法,包括线性 Prob 和零样本分类。
参考
[1].CLIP-CID: Efficient CLIP Distillation via Cluster-Instance Discrimination.