CPE-CLIP
Multimodal Parameter-Efficient Few-Shot Class Incremental Learning (opens new window)
0. 摘要
少样本类增量学习(FSCIL)是一个具有挑战性的持续学习任务,其中在多个学习阶段中仅有有限的训练样本可用。要在这个任务中取得成功,必须避免由少样本训练集中的偏差分布引起的新类的过拟合问题。通常的解决方法是通过在预定义的主干架构上增加特殊模块以增强表征能力,从而实现与旧类的向后兼容。然而,这种方法尚未解决如何在确保长期内高分类准确率的同时减少大训练集与小训练集之间的性能差距的难题。在这项工作中,我们提出了一种称为持续参数高效CLIP(CPE-CLIP)的替代方法,以减少不同学习阶段之间的信息损失。我们不是通过调整附加模块来解决信息丢失问题,而是利用CLIP在大规模预训练中获得的广泛知识及其在泛化到新概念方面的有效性。我们的方法是多模态且参数高效的,依赖于可学习的提示来对语言和视觉编码器进行传递学习。我们还引入了提示正则化以提高性能并防止遗忘。我们的实验结果表明,CPE-CLIP显著改善了FSCIL的性能,同时大幅减少了可学习参数的数量和训练成本。
1. 引言
在动态环境中部署机器学习系统需要考虑到随着时间推移不断到来的数据流。这种环境可能会经历数据分布的变化或新类别的增加。一个理想的学习系统必须能够学习新到来的类别,同时保持对先前学习类别的辨别能力,从而避免灾难性遗忘【31】。这种持续学习问题的表述被称为类增量学习(CIL),它需要处理稳定性-可塑性两难问题【32, 14】,即学习新类别和保留旧类别之间的权衡。在这项工作中,我们专注于CIL的一种特殊情况,称为少样本类增量学习(FSCIL, 【44】),其中在每次学习阶段只有少量训练样本可用。这里,额外的挑战在于避免因少样本训练集中的偏差分布引起的新到来的类别的过拟合问题。在实际的现实场景中,这个问题尤为关键,因为数据的可用性通常有限。例如,在制造业【59, 2】和医学影像【18】中,这种情况尤为明显。在制造业中,机器人被部署来执行各种任务,如组装或抓取物体。为了执行这些任务,机器人可能需要适应新物体或材料,而这些新物体或材料的训练数据可能非常有限。在医学影像中,由于数据收集的高成本和患者隐私的原因,数据的可用性也可能受到限制,从而使得随时间推移获得新知识变得困难。
最近的研究致力于通过各种方法解决这些问题,如元学习【57, 34】、正则化技术【30】或知识蒸馏【38, 6, 62】。这些方法在有限的数据可用性条件下逐步实现了增量学习的良好结果。通常的方法是通过在预定义的主干架构上增加特殊模块来增强基本的表征能力,以实现学习阶段中的旧类的向后兼容。这些解决方案在计算上是昂贵的,因为它们在每个学习阶段中需要大量迭代来适应新类,同时保持向后兼容。尽管计算成本很高,它们仍未能有效地减少随着时间推移在较大训练集上获得的性能与较小训练集上获得的性能之间的差距,这仍然是一个未解决的难题【67, 25】。
在这项工作中,我们提出了一种称为持续参数高效CLIP(CPE-CLIP)的替代方法,以减少不同学习阶段之间的信息损失。受零样本设置中获得的出色持续学习性能的启发【45】,我们使用CLIP【36】作为构建FSCIL持续学习系统的起点。我们并不是依赖调整附加模块来解决信息损失问题,而是提出通过轻量级可学习提示来适应CLIP架构,以进行少样本图像分类。通过这种方式,我们能够利用CLIP在大规模预训练中获得的大量知识及其在泛化到新概念方面的内在有效性。值得注意的是,这是一种多模态且参数高效的方法,因为它依赖于可学习提示,而不是微调语言和视觉编码器的参数,以实现跨越不同学习阶段的传递学习。我们展示了我们的方法显著提高了FSCIL的性能,相比于最先进的提案,同时大幅减少了可学习参数的数量和训练成本。我们还进行了广泛的超参数调整和消融研究,以理解我们模型各个组件的功能属性。我们的主要贡献可以总结如下:
- 我们提出了一种基于提示的方法,通过减少遗忘和支持长期的知识传递,将CLIP架构适配于少样本设置下的持续学习任务,同时学习的参数少于总参数的0.3%。
- 我们结合了两种不同的提示附加方法与提示正则化,以平稳地过渡到未来任务,同时保持长期的恒定性能。
- 我们在三个流行的FSCIL基准数据集上取得了最先进的性能,并以很大幅度超过了之前的最先进结果。
本文的其余部分组织如下。我们在第2节讨论了与我们的方法相关的工作和少样本类增量学习。在第3节介绍了问题的表述。第4节提出了所提出的方法。此外,我们在第5节和第6节分别展示了我们的实验结果和最终的考虑。
2. 相关工作
我们的方法与少样本持续学习问题相关,因此我们分别介绍了这些相关领域。
2.1 少样本图像分类
少样本图像分类旨在用不足的训练样本来拟合新的未见过的类别【5, 50】。为了达到这一目的,提出了几种学习方法。例如,在基于度量的方法中,构建了不同的网络分支,通过计算测试集中查询图像与少样本训练集中的训练图像之间的距离来分类图像【42, 48, 43】。不同的是,在元学习中,模型被训练来解决各种学习任务,以便它们能使用少量的训练样本来解决新的学习任务【11, 10, 57, 34】。一种较新的视角是基于预训练的多模态视觉 - 语言模型,通过最少的训练样本,从带标签的描述中分类图像【65, 64, 19】。在这种方法中,少样本学习基于查询图像与描述类别标签的文本描述的正确匹配。我们的方法可以看作是后者方法在持续学习中的一种适应。
2.2 增量学习
增量学习处理的是从非平稳的数据流中学习新信息的问题【46, 28, 35】。根据任务标识符(ID)随时间的可用性,问题的表述可以是任务增量学习或类增量学习。文献中有多种解决方案试图通过允许从新任务中学习新信息,同时最小化对已获得知识的遗忘来应对这些任务。在基于正则化的方法中,特定参数被正则化,以保留在以前任务中获得的知识,并避免灾难性遗忘【20, 24, 60】。在基于架构的方法中,为每个任务分配主干的一个独立部分或附加分支的独立参数【40, 58, 29, 51, 9】。在基于排练的方法中,已学任务的数据存储在排练缓冲区中,并在当前任务中与当前训练集一起使用【3, 4, 33】。最近的一种基于提示的无排练方法结合了强大的预训练主干与可学习提示,这些提示在不修改主干主要权重的情况下保留了从不同任务中获得的知识,从而避免了遗忘【52, 53, 41, 37】。我们的方法从后者方法中汲取了灵感。
2.3 少样本类增量学习
FSCIL 是一个最近提出的研究课题,旨在解决类增量设置中的少样本训练输入问题【44】,其中在评估期间未提供任务 ID。一般任务是首先从一定数量的基础类中学习,然后不断更新模型以表示新到来的类。这种设置的主要挑战是避免对新类少样本的过拟合。解决这一问题的首次尝试提出了神经气(NG)网络来表示知识【44】,其中为不同的类学习特征空间拓扑结构,并通过扩展和调整网络的拓扑结构来表示新类。在【61】中,作者通过允许分类器随着时间的推移进行更新,将学习表示与分类器解耦,通过图模型在分类器之间传播信息。原型建模也用于在嵌入空间中分配原型,以保留未来新类的空间【62】,或使用新类嵌入表示的平均值作为类原型来替换分类器【63】。不同的方法通过使用 VAE 将增量类的特征合成为子空间的混合【7】,或通过调整一般的深度学习架构,使每组新类只更新少量参数【30】。最近的方法试图结合监督和自监督模型中出现的特征来增强分类器【1】,或通过检索旧类的分布来校准分布,同时估计新类的分布以避免遗忘【26】。
2.4 参数高效学习
将大型通用预训练模型适配到下游任务的最常见方法是微调所有模型参数,这会导致高计算成本和内存使用,并需要为不同任务存储多个微调模型的副本。一种轻量级的替代方案来自参数高效学习文献,该文献提出在保持主干参数冻结的同时,仅更新少量额外参数【12, 22】。已经提出了几种方法,以灵活地将预训练的主干适配到不同的下游任务中。适配器调优【15, 16】通过在每一层之间插入带有跳跃连接的瓶颈模块来适应层输出,然后再传递到下一层。前缀调优【23, 52, 17】通过在多头注意力层中预先附加可调前缀向量作为可学习的嵌入来优化。提示调优【22, 53】通过将一组可学习的嵌入附加到第一层的输入嵌入,并通过冻结的转换器层处理扩展的输入。
3. 问题表述
FSCIL 设置【44】可以定义如下。我们考虑一系列标注的训练集
4. 方法
我们提出的方法,CPE-CLIP,如图 1 所示。该方法使用 CLIP 基础视觉 - 语言模型【36】作为持续学习系统的主要构建块。CLIP 是一个神经网络,旨在对齐语言和视觉的模态,并利用自然语言提供的丰富监督来推理视觉概念。在我们的工作中,我们利用 CLIP 的能力,将图像分类视为一个多模态任务,其中文本提示(例如“a photo of a
4.1 语言编码器
在这里,我们学习了在给定下游任务的所有类别中共享的语言上下文提示。上下文提示有两个目的:(1)它们避免了手动选择低效的提示【65, 64】来为图像提供文本表示,假设该图像的类别标签可用;(2)它们充当稳定参数,学习在各个阶段任务中共享的一般任务不变属性。我们然后引入了
4.2 视觉编码器
对于语言编码器,我们为视觉分支设计了 G-Prompt。在这种情况下,提示与图像的补丁嵌入在多个层次的层次结构中进行拼接,以便与低级和高级图像特征处理交互。我们引入了
\begin{equation}
[h_i, \tilde{g}i] = f{\text{CV}i}([c, \tilde{g}i]) \quad i = 2, 3, 4, \ldots, D
\end{equation}
对于后续层至第
4.3 多模态分类
对于每个给定输入图像
4.4 提示正则化
在 FSCIL 中,基础类训练对于最初调整网络以促进对新类的泛化非常重要。在我们的情况下,G-Prompt 引入了一组标记来实现这个目的。这些标记提供了一种有效的文本表示,可以与图像匹配,以正确地将图像分类为正确的(语义)类别/标签。然而,基础类集相比于与阶段相关的类集提供了更多的泛化机会,因为它提供了更多的类别和训练样本。出于这个原因,我们提出了一种机制,根据在不同阶段中遇到的类别数量来保存知识。我们为给定阶段
5. 实验
我们在三个基准数据集上评估了 CPE-CLIP,这三个数据集【44】是 FSCIL 文献中模型比较的主要基准。基准包括 CIFAR100【21】、miniImageNet【39】和 CUB200-2011【49】。
5.1 评估基准
对于所有基准,我们遵循 Tao 等人【44】提出的分割方案,因为它们为文献中的所有提案提供了标准,确保了公平的模型比较。基准描述如下:
CIFAR100:该数据集包含来自 100 个类别的 60,000 张 32×32 RGB 图像。我们使用 60 个类别作为基础类集。其余 40 个类别分为 8 个阶段,每个阶段包含 5 个新类别,少样本训练集由每个类别 5 个样本组成(5 类 5 样本增量任务)。
miniImageNet:该数据集包含 60,000 张 84×84 RGB 图像。我们使用 100 个类别作为基础类集。其余 40 个类别分为 8 个阶段,每个阶段包含 5 个少样本训练样本(5 类 5 样本增量任务)。
Caltech-UCSD Birds-200-2011 (CUB200):该数据集包含 11,788 张来自 200 个鸟类物种的 224×224 细粒度 RGB 图像。我们使用 100 个类别作为基础类集。其余 100 个类别分为 10 个阶段或时间戳,每个阶段包含 10 个新类别,少样本训练集由每个类别 5 个样本组成(10 类 5 样本增量任务)。
5.2 实现细节
我们使用了来自 HuggingFace 的 Transformers 库中的 OpenAI CLIP【36】版本,16×16 的补丁作为起始主干。模型和管道是使用 PyTorch 构建的,并得到了 Avalanche 库【27】的支持。我们使用带动量的 SGD 优化器,所有基准的学习率设置为 0.00325,权重衰减为 1e-5,并使用具有预热的余弦退火。对于基础类训练,我们将批量大小设置为 32,CIFAR100 和 miniImageNet 的数据集训练 3 个 epoch,CUB200 的数据集批量大小为 4,训练 6 个 epoch。对于新类阶段训练集,所有基准的批量大小设置为 4,训练 5 个 epoch。所有实验均部署在一台 GeForce RTX 2080 Ti 上。对于模型比较,我们报告了基础类和每个阶段的 top-1 评估准确率,因为这是 FSCIL 中的标准实践。我们还报告了下降率(PD)指标,该指标衡量了最后一个阶段的准确率与基础类阶段准确率之间的下降,作为遗忘的一个度量,以及跨阶段的平均准确率作为整体性能的度量。
5.3 超参数调整
我们进行了超参数调整,通过改变影响 CPE-CLIP 在 FSCIL 中的总体行为的两个超参数,选择最佳候选模型。我们使用网格搜索来探索以下范围的值:
5.4 与最新模型的比较
在本节中,我们展示了 CPE-CLIP 在 CIFAR100、miniImageNet 和 CUB200 基准上的主要结果,如表 2、3 和 4 所示,其中 CPE-CLIP 与最新的 FSCIL 方法【66, 1, 61, 55, 56, 67, 62, 63】进行比较。我们未在模型比较研究中包括被最新的最先进方法大幅超越的模型。
根据这些结果,我们的模型在很大程度上超越了最先进的模型。CPE-CLIP 在基础类阶段获得了最佳分类准确率,并更有效地减少了遗忘,如 PD 指标所示,同时保持了在时间上的稳定高分类性能。CPE-CLIP 在从较大的数据集(如基础类集)训练到学习阶段的较小数据集时,在减少信息丢失方面表现出色。值得注意的是,当前模型比较中包含的其他方法主要依赖于 ResNet【13】和 ViT【8】作为主要主干,这些主干仅为 CUB200 基准进行了预训练。此外,CPE-CLIP 依赖于 CLIP,而后者并未直接在流行的基础数据集(如 ImageNet【39】)上进行预训练,与 ResNet 和 ViT 不同。我们还对研究中各种模型的训练时间和可学习参数数量进行了比较。比较旨在了解完成整个学习阶段堆栈的计算成本。我们只包括了确保可重复性并具有可用超参数的模型。比较结果见表 5。总体而言,我们的研究发现表明,CPE-CLIP 在不牺牲性能的情况下显著降低了计算成本。
5.5 消融研究
在这里,我们分析了 CPE-CLIP 中相关组件的重要性。为了简洁,我们仅依赖于 CUB200 基准。特别是,我们专注于三个被消融的模型。首先,我们考虑了不在视觉编码器中应用提示传播的累积策略的情况。在这种情况下,使用与语言分支相同的标准替换策略。其次,我们关注通过完全删除视觉提示来对 G-Prompt 投影到视觉分支的贡献。最后,我们考虑了没有应用正则化的情况,使得 G-Prompt 在各个阶段中一致更新。结果如图 2 所示。
主模型与其消融版本之间的比较揭示了值得注意的观察结果。具体而言,提示正则化是确保长期内一致性能的关键因素,通过抵消少样本训练样本在问题阶段中的偏差分布的影响来实现。而在消除视觉提示系统的情况下,模型在遗忘和信息丢失方面的敏感性并未显著变化。然而,与完整模型相比,每个阶段的性能普遍下降,特别是在初始阶段表现下降明显,最终在后期阶段趋于收敛。值得注意的是,完全删除视觉分支中的提示与使用提示传播替换策略之间的性能差异很小。总体而言,结果证实了我们提示系统在持续学习设置中实现最佳性能的有效性。总结而言,提示正则化通过确保在时间上的稳定训练,减少了信息丢失和遗忘,而在视觉编码器中进行提示传播的累积策略提供了更好的图像表示,确保了特定阶段中的更高准确率。
6. 结论
受少样本图像分类和参数高效学习进展的启发,我们提出了一种解决少样本类增量学习这一挑战性任务的新方案,在每个阶段可用的标注数据非常有限。我们提出的CPE-CLIP有效地结合了多种技术和现代理念,构建了一个多模态少样本持续学习者,在时间上保持了高性能。我们证明了我们的方法能够依赖较少的参数和更低的整体计算成本,超越专为FSCIL设计的其他方法。CPE-CLIP引入了一种提示传播的累积策略,这在通过确保最佳分类准确性来增强图像表示方面是有益的。提示正则化则确保了通过减少信息丢失实现的稳定学习。
6.1 局限性
CPE-CLIP架构建立在CLIP框架的基础上。CLIP利用文本监督来推理视觉概念,这为FSCIL提供了主要优势。然而,当处理缺少图像类别标签的任务,或者这些标签无法通过CLIP词汇直接处理,或者任务本质上具有模糊性时,这也会带来挑战,导致图像-文本匹配不可靠。此外,尚未探讨正则化对更多阶段的影响。虽然随着看到的类的增加,减少G-Prompt参数的更新率似乎对避免过拟合至关重要,但随着阶段的增加,缩放因子在梯度中接近于零。在这种情况下,G-Prompt参数的更新不足可能会在发生意外分布变化时对新类的泛化产生不利影响。