论文汇总
初始想法
主动学习主要关注选择未标注样本进行标注,并利用这些样本训练模型。在本研究中,我们提出了一个问题:“如何在主动学习框架下对预训练的VLMs进行适应化?”
发现的问题
简单地将传统的主动学习框架应用于预训练的VLMs可能会因标注候选样本中的类别不平衡而使性能劣于随机选择。
我们观察到两种现象:(1)将主动学习简单地应用于视觉-语言模型(VLMs)并未能始终如一地表现出优于基于随机选择的标注方法(如图1中的红色条形所示);(2)这种缺乏改进的现象源于主动学习框架误导的不平衡类别标签(如图1中的蓝色条形所示)。
me:在加入主动学习时,不平衡类别的变大会导致性能的下降,如DTD。
动机
主动学习算法的不平衡行为是由于VLMs预训练知识的不平衡性所致。如何解决这种类别不平衡现象将是方法的关键。
解决方法
流程1:平衡类别数据
流程2:增强文本描述
如何文本输入特征:
问:在照片中区分{CLS}的有用特征是什么?
答:有几个有用的视觉特征可以判断照片中是否存在{CLS}:
其中{CLS}表示类别名称。 在此需要注意的是,我们可以为类别 k k k获得 δ k \delta_k δk个描述,即 Δ k = { d k i } i = 1 δ k \Delta k = \{d^i_k\}^{\delta_k}_{i=1} Δk={dki}i=1δk,其中 d k i d^i_k dki表示类别 k k k的第 i i i个描述。详见附录B中的详细提示模板。
根据[40, 45]的研究结果,我们在训练模型时采用了他们的提示模板。换句话说,我们利用新的文本模板函数
T
T
T如下:
两种预测概率
(1) 平均相似度(AS):
me:先计算每个提示 d k i d^i_k dki得出的logit,再出平均。
其中
(2) 平均嵌入(AE):
me:先对所有提示 d k i d^i_k dki对应的文本 e txt k , i e_{\text{txt}}^{k,i} etxtk,i取平均得到 e txt k e_{\text{txt}}^{k} etxtk,再做一次logit。
其中
请注意,两种概率分数之间的主要区别在于它们各自的平均时间框架。AS 方法首先计算个体嵌入,然后计算平均相似度;而 AE 方法则是先对嵌入进行平均,再评估相似度。
摘要
预训练的视觉语言模型(VLMs)在各种零样本任务(如分类和检索)中展现了显著的进步。尽管其性能优异,但由于新任务的性能提升需要特定任务的知识,因此对这些模型进行适应化是必要的。虽然适应化过程中需要标签,但获取这些标签通常成本高昂。为了解决这一挑战,研究人员研究了主动学习方法,即通过从专家处获取少量样本的标签来实现高性能。主动学习主要关注选择未标注样本进行标注,并利用这些样本训练模型。在本研究中,我们提出了一个问题:“如何在主动学习框架下对预训练的VLMs进行适应化?”针对这一问题,我们观察到:(1)简单地将传统的主动学习框架应用于预训练的VLMs可能会因标注候选样本中的类别不平衡而使性能劣于随机选择;(2)VLMs的知识可以在标注前提供平衡的线索。基于这些观察,我们设计了一种新的适用于VLMs的主动学习框架,称为PCB。 为了评估我们方法的有效性,我们在七个不同的真实世界数据集上进行了实验,结果表明PCB优于传统的主动学习和随机抽样方法。代码将在https://github.com/kaist-dmlab/pcb提供。
1. 引言
过去,随着深度神经网络(DNNs)研究的不断进展,大量的研究重点集中在研究特定类型的数据集上,包括图像/视频(视觉)[1, 10, 16]、自然语言[5, 55, 56]、图结构数据[64]、表格数据[59]等。然而,近期的研究提出了一个问题:“我们能否开发出能够交互式理解多种类型数据集的深度神经网络?”在多模态模型的众多候选方案中,视觉与语言模型(VLMs)[31–33, 47, 60] 因其广泛的知识域和在各种任务上的卓越表现而受到了广泛关注。大多数 VLMs,例如 CLIP [47],包含两个编码器:图像编码器和文本编码器。这些模型在无需微调的情况下,在广泛的任务中表现出令人印象深刻的零样本性能。例如,CLIP 以其在多个基准测试中的显著零样本分类性能而闻名,即使该模型之前未曾接触过这些数据集。
尽管这些零样本性能引人注目,许多研究人员仍专注于开发适应新目标任务的方法,以使模型能够更好地理解目标任务。 由于更新所有参数的计算成本较高,研究的重点之一在于降低适应过程中的计算成本 [23, 67, 68]。例如,CoOp [67] 通过冻结两个编码器,并仅允许少量可训练参数(大小范围从 4 到 16)作为提示符,从而展示了显著的分类性能提升。这种策略只需少量可训练参数和每类有限的数据量即可实现显著改进。 尽管可以减少适应成本,高标注成本仍然是一个障碍。为缓解这一低效问题,主动学习领域进行了大量研究 [49, 52]。主动学习的核心目标是从未标注数据中选择样本来进行标注,从而使模型性能显著提高,并与随机选择相同数量的样本相比有明显差距。这些主动学习方法大致可分为两类:(1)基于不确定性的采样 [12, 18, 19, 25, 48] 和(2)基于多样性的采样 [44, 51],后者利用图像编码器生成的特征嵌入。从混合视角来看,BADGE [2] 通过在梯度嵌入空间内使用 k-means++ 聚类结合不确定性和多样性来进行样本选择。
基于上述两方面的研究,我们的初步问题是:将主动学习与 VLMs 简单结合是否能有效提升分类性能?如果不能,那么什么是这两种方法在整合过程中的一致性的关键因素?为了解决这一问题,我们观察到两种现象:(1)将主动学习简单地应用于视觉-语言模型(VLMs)并未能始终如一地表现出优于基于随机选择的标注方法(如图1中的红色条形所示);(2)这种缺乏改进的现象源于主动学习框架误导的不平衡类别标签(如图1中的蓝色条形所示)。主动学习算法的不平衡行为是由于VLMs预训练知识的不平衡性所致。我们通过展示类别的准确性验证了预训练CLIP对每个类别的知识存在差异(详见附录A)。因此,研究如何使VLMs与主动学习框架有效协作至关重要,特别是在VLMs加剧了类别不平衡问题的情况下。
在本研究中,我们引入了一种称为PCB的方法,旨在通过仅使用有限量的专家标注数据来解决类别不平衡问题并提高VLMs的分类性能。我们的贡献总结如下:
- 本研究首次探索了主动学习和VLMs协同方法,为该领域做出了新的贡献。我们证明了这两种方法的简单结合并不能始终带来改进,强调了在此背景下增强主动学习方法的必要性。
- 我们深入探讨了传统主动学习方法与VLMs结合时性能下降的根本原因。研究表明,由专家标注样本的选择存在不平衡性,从而导致VLMs产生偏差。
- 我们提出了一种名为PCB的算法,该算法利用VLMs宝贵的预训练知识来解决类别不平衡问题。该算法与传统主动学习技术无缝集成,显著提升了VLMs中的主动提示学习效果。
2. 问题定义
2.1 主动学习
主动学习的目标是在最小化标注预算的前提下,促进一个多类分类模型(具有 K K K个类别)的学习。该模型通过与一个提供正确标注的专家(oracle)进行交互,经历一个迭代训练过程。在每次迭代中,模型从一个已标注的数据集 D l = { ( x i , y i ) } i = 1 L \mathcal{D}_l = \{(x_i, y_i)\}_{i=1}^L Dl={(xi,yi)}i=1L中学习,其中 x i ∈ X x_i \in \mathcal{X} xi∈X是输入(例如图像), y i ∈ { 1 , … , K } y_i \in \{1, \ldots, K\} yi∈{1,…,K}是对应的标签,而 L L L是已标注样本的数量。在使用给定数据集 D l \mathcal{D}_l Dl对模型进行充分训练后,主动学习算法从未标注数据集 D u \mathcal{D}_u Du中选择 N N N个样本。专家随后为这些选定的样本提供标签,并将它们纳入已标注数据集 D l \mathcal{D}_l Dl,以供后续训练使用。
2.2 视觉语言模型与提示学习
视觉语言模型(VLMs)。视觉语言模型通常由两个编码器组成:图像编码器和文本编码器。当输入为图像时,图像编码器将图像转换为嵌入向量。以CLIP [47]为例,这是最具代表性的视觉语言模型之一,它采用ResNet [16]和ViT [10]架构作为其图像编码器。另一方面,文本编码器的目标是将句子映射到一个与图像编码器输出具有相同维度的嵌入向量。 CLIP使用Transformer [57]架构作为其文本编码器。CLIP模型通过图像-文本对比损失进行训练,以对齐图像和文本对的嵌入,从而使其能够学习图像和相应文本描述之间的有意义关联。 确实,CLIP模型中的分类过程依赖于图像和文本对之间的相似度分数。 以下是CLIP模型执行分类过程的总结:给定一张图像 x i x_i xi,图像和文本的嵌入表示如下所述进行计算。
在此, T T T表示文本模板(例如:一张 { CLS k } \{\text{CLS}_k\} {CLSk}的照片),而 { CLS k } \{\text{CLS}_k\} {CLSk}表示每个类别索引 k ∈ { 1 , 2 , … , K } k\in \{1, 2,\ldots, K\} k∈{1,2,…,K}的类别名称。利用 e img e_{\text{img}} eimg和 e txt e_{\text{txt}} etxt,每个类别 k k k的预测概率被表述为
其中 τ \tau τ表示温度参数,而 cos(·, ·) 是余弦相似度。
提示学习(Prompt Learning, PL)。提示学习是一种高效的适应方法,允许提示的部分组件可训练 [14, 21–23, 28, 34, 37, 53, 66–68]。它通过更新以下准则来提升性能。假设类别名称 {CLS} 被分词为 [CLS],文本模板函数 T T T生成的标记如下:
在此, [ V i ] [ V_i ] [Vi]表示可训练的标记(tokens),而 [ C L S k ] [ CLS_k ] [CLSk]是每个类名 { C L S k } \{CLS_k\} {CLSk}的固定标记。需要注意的是,可训练标记的位置可以改变,例如可以将它们放置在类标记之后;为了简化表示,我们仅将其记为前置情况。这些可训练参数是通过定义的交叉熵损失函数进行训练的。
3. 方法
图1. 主动提示学习的关键动机与完整过程。当我们采用传统的主动学习框架将提示学习适应于新的目标任务时,主动学习采样器会引发显著的不平衡(由红色条形表示)。因此,这种不平衡导致无法提升最终性能(如蓝色条形所示)。在本文中,我们引入了一种名为PCB的新算法,该算法通过利用视觉语言模型(VLMs)的知识来纠正这种不平衡,从而实现对先验知识的有效利用。
PCB 如图1所示,可以得出两个关键动机:(1) 在主动学习中选择未标记样本的传统方法在预训练的视觉-语言模型(VLMs)下导致不平衡;(2) 实现平衡对于提高整体性能至关重要,但在未标记数据的情况下实现这一目标具有挑战性;相反,使用错误的知识可能会加剧不平衡。基于这些见解,我们认识到在主动提示学习问题中,平衡对于提高性能的重要性。为实现这一目标,我们提出了一种新颖的算法,称为PCB:面向视觉语言模型的主动提示学习中的伪类别平衡(Pseudo-Class Balance for Active Prompt Learning in VLMs)。在接下来的部分中,我们将详细阐述所提出的算法所涵盖的整个工作流程。
3.1 视觉语言模型中主动提示学习的伪类平衡采样器
平衡采样器。为了在选择信息量丰富的样本以提升最终性能的同时满足类别平衡,我们提出了视觉语言模型(VLMs)上的两阶段主动学习方法。首先,我们从未标记数据集中选择一个信息量丰富的子集 P ⊂ D u P \subset \mathcal{D}_u P⊂Du,其中 P P P的大小为 γ × ∣ D u ∣ \gamma \times |D_u| γ×∣Du∣。这里, γ ∈ [ 0 , 1 ] \gamma \in [0, 1] γ∈[0,1]是控制不确定样本逐步标注的超参数。在选择 P P P后,我们利用 VLMs 的分类能力对选定的样本进行伪标注,即 P ~ = { ( x i , y ~ i ) } i = 1 γ ∣ D u ∣ \tilde{P} = \{(x_i, \tilde{y}_i)\}_{i=1}^{\gamma|D_u|} P~={(xi,y~i)}i=1γ∣Du∣。然后,我们通过平衡采样器构建查询集 Q \mathcal{Q} Q,如算法 1 所述,从 P ~ \tilde{P} P~中随机选择样本,使得每个类别的样本数量期望值达到平衡。
所提出的方法。基于平衡模块,我们引入了一种称为伪类平衡(PCB)的方法,简要概述见算法 2。该算法将已标注数据集 D l \mathcal{D}_l Dl、未标注数据集 D u \mathcal{D}_u Du、主动学习轮数 R R R、查询预算 N N N、渐进超参数 γ \gamma γ、主动学习算法 A \mathcal{A} A、标签提供者 Oracle 和 VLM 模型 f f f作为输入。 初始轮次由于对目标数据集的信息不足,随机选择查询集。
从第二轮开始,主动学习算法构建一个信息量丰富的子集 P P P,并为其样本分配伪标签。算法 1 的目标是创建一个平衡的标注数据集。 在从标签提供者处获得查询集 Q Q Q的真实标签后,程序继续训练参数 [ V ] i [V]_i [V]i。
3.2 描述增强
为了提升基于视觉-语言模型(VLM)的分类性能,众多研究探讨了外部知识的整合,如先前的研究成果所示[40, 45]。这些研究展示了如何通过生成每个类别的视觉描述来辅助VLMs,例如GPT-3 [5]等模型在这方面发挥了重要作用。例如,文献[40]的作者引入了以下模板:
问:在照片中区分{CLS}的有用特征是什么?
答:有几个有用的视觉特征可以判断照片中是否存在{CLS}:
其中{CLS}表示类别名称。 在此需要注意的是,我们可以为类别 k k k获得 δ k \delta_k δk个描述,即 Δ k = { d k i } i = 1 δ k \Delta k = \{d^i_k\}^{\delta_k}_{i=1} Δk={dki}i=1δk,其中 d k i d^i_k dki表示类别 k k k的第 i i i个描述。详见附录B中的详细提示模板。
附录中的例子:
图7. 用于生成描述的2-shot少样本学习所应用的提示模板。
根据[40, 45]的研究结果,我们在训练模型时采用了他们的提示模板。换句话说,我们利用新的文本模板函数
T
T
T如下:
基于这一新的文本模板功能,我们可以使用两种可能的预测概率:
(1) 平均相似度(AS):
其中
(2) 平均嵌入(AE):
其中
请注意,两种概率分数之间的主要区别在于它们各自的平均时间框架。AS 方法首先计算个体嵌入,然后计算平均相似度;而 AE 方法则是先对嵌入进行平均,再评估相似度。
4. 实验
表1. 使用ViT-B/32图像编码器在七个下游任务上的最终准确率。最终准确率是指经过八轮迭代后的准确率,而平均准确率(Avg Acc)是七个数据集最终准确率的平均值。AS和AE分别代表平均分数和平均嵌入,如第3.2节所述。此外,CLIP(零样本)表示根据[47]报告的预训练CLIP在每个任务上的准确率,而全数据表示在提示学习中利用整个数据集时的准确率。请注意,黑体和下划线分别表示总体上最佳性能和在同一主动学习内的最佳性能。对于大型数据集,请参见附录D
表2. 不同图像编码器架构。我们在BADGE主动学习算法下,报告了不同类型架构的性能,例如ResNet-50/101和ViT-B/16。熵(Entropy)和核心集(Coreset)下的性能详见附录E。
表3. 不同训练方法在Flowers102数据集上的结果。
5. 相关工作
视觉语言模型(VLMs)。为了理解视觉和语言表示,已经探索了多种方法 [7, 8, 13, 30, 36, 46, 61]。在尝试同时理解这两种模态的过程中,几年前,CLIP [47] 横空出世,因其在各种任务中的显著零样本性能而引起广泛关注。类似地,ALIGN [20] 被引入,采用了类似的训练方法,但在架构和训练数据集方面具有不同的特征。 与 CLIP 不同,ALBEF [31] 引入了多模态变换器操作,应用于两个独立的图像和文本编码器的输出。BLIP [32] 引入了一个旨在通过纠正噪声标题来提高模型性能的标题生成模块。LiT [65] 和 BLIP-2 [33] 通过冻结特定编码器参数提高了训练效率。 FILIP [60] 的作者尝试通过细粒度(即补丁级)匹配训练方法使模型能够识别更精细的图像细节。Florence [63] 则试图从不同角度扩展表示,例如从图像到视频等。最后,LLaVA [35] 提出了使用 CLIP 视觉编码器的视觉指令微调方法,并在多个 VLM 任务上展示了最先进的性能。
VLM 中的提示学习。在自然语言处理领域,已有大量研究 [14, 21, 23, 28, 34, 53, 66] 致力于通过优化提示来提升语言模型的性能。 这些工作的主要动机在于模型的巨大规模使得微调变得困难,这种情况在 VLM 领域也很普遍。因此,相当多的研究致力于通过提示学习来提高分类准确性。CoOp [68] 是一个代表性方法,研究表明少量可训练参数足以适应给定的分类任务。[37] 的作者提出了一种利用估计权重分布分配权重以最小化分类错误的方法。
在此框架内,一些研究旨在增强 VLM 中提示学习的泛化性能 [23, 24, 62, 67]。这些研究的主要任务是展示少数类别并评估未见过的类别。[68] 的同一组作者提出了 CoCoOp [67],该方法引入了一个元网络模块以提高迁移性。[62] 的作者从 VLM 角度阐明了提示学习中的迁移性。此外,MaPLe [23] 提出了一种分层感知的层次化提示方法,其中图像编码器的提示受文本编码器提示的影响。在 PromptSRC [24] 中,作者指出之前的提示学习方法忽视了提示训练中的遗忘现象,并提出了一种基于对齐的自正则化方法以增强迁移性。需要注意的是,本文主要关注主动学习以提高给定任务的性能,而不是泛化到新类别的能力。
描述增强。近年来,使用大型语言模型(LLMs)生成描述因其显著提升了 VLM 的性能而受到欢迎。为了为每个特定类别生成描述,我们根据特定的提示模板向 LLMs 提问。[40] 提出了一种方法,对同一类别的不同描述得分进行平均。相比之下,[45] 提出了一种名为 CuPL 的方法,利用每个类别的多个描述的平均嵌入。
主动学习。主动学习 [15, 41, 49, 52] 旨在通过识别信息量大的数据来最大化模型性能,从而最小化人工标注成本。大多数工作沿着两条轨迹发展:(1) 基于不确定性的采样和 (2) 基于多样性的采样。在基于不确定性的采样中,基于预测概率的采样方法如软最大值置信度 [29]、边缘 [50] 和熵 [18] 简单而有效。此外,一些方法通过多次前向传递来实现不确定性。一种直观的方法是从多个专家那里获取输出 [3, 26, 39]。 一些方法 [12, 19, 25] 利用了蒙特卡洛 Dropout,通过 Dropout 层从同一模型中获得随机结果。另一方面,基于多样性的采样方法 [44, 51] 使用聚类或核心集选择协议。核心集方法 [51] 识别覆盖所有未标记数据的最大距离的示例集。最近,结合不确定性和多样性的混合方法出现了。其中一种方法 BADGE [2] 在梯度嵌入空间中使用 k-means++ 聚类。
6. 结论
本文深入探讨了视觉语言模型(VLMs)中的主动提示学习。我们首先观察到,由于 VLM 内在的知识不平衡,先前的主动学习算法与 VLM 之间存在错位。这种不平衡导致了主动学习过程中查询样本的类别不平衡。为了解决这一挑战,我们引入了一种名为 PCB 的新算法,该算法通过利用 VLM 中嵌入的知识,在请求标签之前纠正这种不平衡。通过在一系列现实世界数据集上的广泛实验,我们证明了我们的算法优于传统的主动学习方法,并超过了随机采样的性能。我们认为,这一框架为 VLM 中的主动学习研究开辟了新的方向。
参考资料
文章下载(CVPR 2024)
https://arxiv.org/pdf/2311.11178