POP
[POP: Prompt Of Prompts for Continual Learning](POP: Prompt Of Prompts for Continual Learning)
0. 摘要
连续学习(CL)近年来受到越来越多的关注。它旨在模仿人类在不遗忘旧概念的情况下学习新概念的能力。虽然现有的 CL 方法在一定程度上实现了这一点,但它们仍然容易受到学习特征空间的语义漂移的影响。基础模型,这些模型具有强大的特征表示能力,并且是从非常大的数据集中学习得到的,为 CL 问题的解决方案提供了一个有趣的基础。最近的工作还表明,它们可以通过提示调整技术适应特定任务,这种技术不会破坏表示的普遍性。然而,一个开放的问题是如何同时学习特定于任务的提示和全局提示,即捕获跨任务信息。在这项工作中,我们提出了 Prompt Of Prompts(POP)模型,它通过逐步学习一组任务特定的提示和一组全局提示(称为 POP)来整合前者的信息,从而实现这一目标。我们展示了一个配备了 POP 学习的基金会模型能够以显著的优势超越经典的 CL 方法。此外,由于提示调整只需要少量的训练样本,POP 能够在少量样本设置中执行 CL,同时仍然超越在完整数据集上训练的竞争方法。
1. 引言
连续学习(CL),也称为终身学习,旨在复制人类在不忘记先前学习的任务的情况下学习新任务的能力。然而,对于通过梯度下降训练的神经网络来说,这并不是一个容易实现的目标。在梯度下降训练下,对新任务的模型进行微调往往会完全破坏为旧任务学习到的参数和特征空间。因此,当面对新的训练数据时,神经网络很容易忘记它们过去学到的东西,这个问题被称为灾难性遗忘。这促使了大量关于 CL 的研究,其中提出了两类主要的方法来减轻这个问题。一种方法是通过蒸馏 [1-4] 或参数正则化 [5, 6] 方法,限制模型在新任务上学到的参数偏离其之前值。第二种方法是固定现有网络并为新任务学习一个新模型,其特征然后与后者的特征连接。
虽然这些方法取得了令人满意的结果,但它们仍然容易遗忘,随着任务数量的增加,它们的内存和时间复杂度可能无界,并且与所有任务的联合学习相比存在很大差距。所有这些属性都与人类的 CL 不同,后者也非常高效,允许人类在少量样本的情况下有效学习,即每个类别的几个样本。这并不完全令人惊讶,因为人类利用了一个非常强大的特征表示,这是由长期进化过程优化的大脑产生的。另一方面,CL 方法通常限于从头开始学习模型,因此缺乏一个可以轻松推广到新任务的表示。然而,对于许多应用来说,这个限制是人为的,因为预训练在大型数据集上的模型是现成可用的。
鉴于最近引入的基础模型 [7-10],这个问题变得更加重要。这些模型是在非常大的规模数据集上训练的,因此具有丰富的语义信息的特征表示,涵盖了非常广泛的类别。此外,由于大多数基础模型都是变换器 [11],它们可以通过提示调整技术有效地适应特定任务,这只学习一小部分参数。因此,基础模型为 CL 提供了一个更接近人类学习的基础:一个具有巨大潜力的可泛化特征表示,用于少量样本学习。
在这项工作中,我们通过研究基于提示的基础模型适应作为 CL 解决方案的性能来测试这一假设。我们考虑了类增量学习问题,其中任务由分类问题的不同类别组成。我们提出了一种新的连续提示技术,称为 Prompt Of Prompts(POP)模型,如图 1 所示。这包括用两组提示增强从图像中提取的令牌集。第一组是任务提示
我们提出了广泛的实验来证明 POP 模型的有效性。与传统的从头开始训练的方法相比,基于 POP 的基础模型依赖于一个更通用的基底来学习每个任务。因此,它实现了显著更好的性能。此外,由于 POP 可以使用每个任务的单个提示,低样本连续学习成为可能。在每个类别仅有 20 个训练样本的情况下,POP 达到了与传统方法在完整数据集上训练的结果相当或更优的效果。与最近的基于基础模型的 CL 方法相比,POP 在更少的训练样本下显示出更好的性能。
总结来说,本文的贡献是三方面的:
- 我们提出了 POP,它利用预训练的基础模型来解决 CL 问题,通过学习一组局部(特定于任务)的提示集合和一组全局 POP 集合。
- 我们进行了广泛的实验,表明 POP 在类增量学习问题上达到了 SOTA 性能。
- 我们进一步展示了 POP] 开启了低样本 CL 的可能性,甚至仅使用内存缓冲区 CL,超越了以前的方法,即使在这些具有挑战性的设置中也是如此。
2. 相关工作
2.1. 连续学习
连续学习(CL)的目标是学习一系列任务的序列。目标是在不遗忘以前学习的任务的情况下学习新任务 [13, 14]。它可以进一步细分为任务增量学习(TIL)、域增量学习(DIL)和类增量学习(CIL)的子问题 [15]。CL 已经在机器学习的各个领域进行了研究,包括图像分类 [1, 2, 16]、视频分类 [17]、语义分割 [18]、语言分析 [19]、视觉和语言任务 [20] 等。然而,最受欢迎的 CL 测试平台是图像分类。
基于梯度下降的神经网络非常容易受到灾难性遗忘的影响。为了防止这种情况,CL 文献提出了两种主要的解决方案:蒸馏基础方法和网络扩展基础方法。蒸馏方法将模型从旧任务(称为旧模型)学习到的知识蒸馏到其对新任务(此时称为新模型)的学习中,以便新模型不会忘记旧任务。为此,iCaRL[1] 首先提出了最小化旧模型和新模型之间 logits 的 KL 散度。基于这一理念,LUCIR[4] 和 PODNet[2] 提出了在特征向量上而不是 logits 上进行蒸馏。EWC[5]、GEM[21] 和 NSCL[6] 则建议限制模型的梯度和参数,以便保持接近旧模型的状态。虽然蒸馏方法可以在一定程度上传递知识,但这种传递最终会被从新任务中学到的信息所压倒。网络扩展或参数隔离方法被提出以确保旧任务的知识不会被遗忘。为此,RPSNet[22] 和 DER[16] 提出了每个任务训练一个子模型,该子模型是该任务的专家,并在随后的学习步骤中冻结。然后通过平均或连接整合所有子模型的输出特征。这些方法的一个限制是模型大小的快速增长,因为每个任务都添加了一个新的网络。为了缓解这个问题,ProgressiveNet[23] 和 DNE[24] 提出了从旧到新的子模型添加跨任务连接,以提高前向知识传递的效率,允许每个任务添加更小的网络。然而,尽管网络扩展方法可以表现得非常好,但它们的模型大小和推理时间随着任务数量的增加而增加,这可能是有问题的。一些策略,如网络剪枝 [16] 或参数共享 [25, 24],已被提出以实现更好的准确性 - 复杂度权衡。
2.2. 基础模型和提示调整
在这项工作中,我们考虑了一个不同的方向,基于基础模型,如 CLIP[26]。基于变换器的基础模型
它们与位置编码
这可以写成
基础模型很大,并且是在大量数据上训练的,使得特征表示
提示调整是一种在适应数据集
其中
并定义模型输出为
其中
2.3 基础特征连接
通过提示调整适应基于变换器的基础模型到新任务的简单性表明了解决 CL 问题的自然解决方案。这是通过为每个任务
然后使用 (10) 来学习
其中
但其他操作也是可能的。将各个任务表示
2.4 提示的提示
虽然强大,但上述连接策略忽略了 CL 的一个重要要求,即从旧任务向新任务传递知识。由于表示
这鼓励提示集合
然而,如何组合不同任务学习到的表示还不清楚。注意,尽管提示
这将再次将表示与之前任务的表示混合。为了避免这种情况,我们进一步提出使用基础模型本身整合跨任务的信息。我们提出学习一个额外的提示组,这些提示覆盖所有任务的提示,被称为提示的提示集合,并表示为 POP。这是通过替换 (12) 实现的
虽然每个提示集合
和特定于任务的表示
2.5 训练目标
类似于流行 DER[16] 方法对 CIL 的处理,我们考虑结合 CIL 损失,鼓励
其中 CE 是交叉熵损失,
结果提示集合
其中
其中
图 1 总结了 POP 方法对 CIL 的处理。嵌入
3. 提示的提示
3.1 连续学习
在 CL 中,模型
鉴于以前任务的数据稀缺,对于通过梯度下降训练的模型来说,维持这些任务的良好特征表示是具有挑战性的。实际上,先前学习的特征表示的遗忘是 CL 的核心问题。一个最受欢迎和有效的解决方案是网络扩展。在步骤
其中
值得注意的是,虽然
3.2 基础模型和提示调整
在这项工作中,我们考虑了一个不同的方向,基于基础模型,例如 CLIP[26]。基于变换器的基础模型
它们与位置编码
这可以写成
基础模型很大,并且是在大量数据上训练的,使得特征表示
提示调整是一种在适应数据集
其中
并定义模型输出为
其中
3.3 基础特征连接
通过提示调整适应基于变换器的基础模型到新任务的简单性表明了解决 CL 问题的自然解决方案。这是通过为每个任务
然后使用 (10) 来学习
其中
但其他操作也是可能的。将各个任务表示
3.4 提示的提示
虽然强大,但上述连接策略忽略了 CL 的一个重要要求,即从旧任务向新任务传递知识。由于表示
这鼓励提示集合
然而,如何组合不同任务学习到的表示还不清楚。注意,尽管提示
这将再次将表示与之前任务的表示混合。为了避免这种情况,我们进一步提出使用基础模型本身整合跨任务的信息。我们提出学习一个额外的提示组,这些提示覆盖所有任务的提示,被称为提示的提示集合,并表示为 POP。这是通过替换 (12) 实现的
虽然每个提示集合
和特定于任务的表示
3.5 训练目标
类似于流行 DER[16] 方法对 CIL 的处理,我们考虑结合 CIL 损失,鼓励
其中 CE 是交叉熵损失,
结果提示集合
其中
其中
4. 实验
在本节中,我们在 CIL 基准测试上评估 POP 模型,并与现有方法进行比较。
4.1 实验设置
基准测试 与 L2P [30] 和 DualPrompt [31] 类似,我们在 Split CIFAR-100 和 Split ImageNet-R 基准测试上评估 CIL 方法。Split CIFAR-100 将 CIFAR100 [34] 分成 10 个任务,每个任务包含 10 个类别。虽然 Split CIFAR-100 是最常见的 CL 测试平台之一,但由于这些基础模型是在大规模数据集上预训练的,很可能涵盖了 CIFAR-100 的类别和类型的图像,因此可能会对基础模型方法产生过于乐观的结果。为了缓解这个问题,我们进一步在 Split ImageNet-R 基准测试上进行评估。Split ImageNet-R 是从 ImageNet-R [35] 构建的,其中包含 ImageNet 类别在领域偏移下的图像(例如卡通、涂鸦、折纸)。因此,ImageNet-R 数据不太典型于用于训练基础模型的图像,因此更适合评估基于基础模型的 CL 方法的 CL 能力。ImageNet-R 被分成 10 个任务,每个任务包含 20 个类别。
基线 POP 模型与几种经典的 CIL 方法进行比较,包括 ER [36]、BiC [37]、GDumb [38]、Dark [3]、CO2L [39] 和 DER [16],以及两种最近提出的基于提示的基础模型方法,L2P [30] 和 DualPrompt [31]。
基础模型 虽然 [30, 31] 使用了在 ImageNet-21K [40] 上预训练的 ViT 模型,我们认为这可能会扭曲基础模型方法对 CIL 的好处。这是因为 ImageNet-21K 是一个仅包含图像的数据集,其中包含了 CIFAR-100 和 ImageNet-R 中的大多数类别。此外,该模型被训练用来区分这些类别。因此,尽管可能存在一些领域不匹配,但对于 CIL 所需的大部分内容已经在预训练模型中可用。我们认为 CLIP 是评估 CIL 性能的更好基础模型,原因有二。首先,它没有在 CIFAR-100 和 ImageNet-R 的类别的超集上显式训练。虽然它是在非常大的数据集上训练的,很可能包含了来自 ImageNet 类别的图像,但这些图像被分散到一个更大且更多样化的数据池中。这可能会使 CLIP 对“ImageNet 过度拟合”的程度降低。其次,最重要的是,该模型不是训练用于图像分类,而是使用对比损失进行图像 - 文本对齐。这进一步减少了对类似 ImageNet 的分类任务的过度拟合,并提供了一个更通用的特征空间,这是一个更现实的 CIL 基础。令人惊讶的是,它实际上可以作为零样本分类的特征空间,这是基础模型在文献中引起相当关注的主要原因之一。基于这些原因,我们使用 CLIP [26] 中的 ViT 模型作为基础模型。
实现细节 除非另有说明,否则结果对于每个任务的提示调整使用单个提示标记,以及单个 POP 标记。超参数设置为
性能指标 设
4.2 结果
我们首先将 POP 与经典 CIL 方法(ER、BiC、GDumb、Dark、CO2L、DER)进行比较。表 3 显示 POP 明显优于这些方法。对于缓冲区大小为 1,000,SOTA 经典方法在 Split CIFAR-100/ImageNet-R 上实现了 72.15%/55.47% 的 AA。POP 通过 9.82%/18.75% 的幅度超越了这些比率。虽然差距在更大的缓冲区大小 5,000 时减少到 1.81%/13.01%,但仍然是相当大的。
接下来,我们将 POP 与也是基于提示的方法 L2P 和 DualPrompt 进行比较。在 Split CIFAR-100 上,POP 的表现不如这些方法。我们认为,由于 CIFAR-100 的类别包含在 ImageNet-21K 中,因此在 ImageNet-21K 上训练的 ViT 可以自然地表示 CIFAR-100 的类别。这一点通过各种方法随着缓冲区大小变化的准确性变化得到了支持。对于传统方法,将缓冲区大小从 1,000 增加到 5,000 可以将性能提高 10%-20%。对于基于 CLIP 的 POP,性能提高了近 4%。然而,对于 L2P 的 ImageNet-21K 训练的 ViT,这种改进仅为 2.1%。
在 ImageNet-R 上,情况则完全不同,L2P 和 DualPrompt 的性能与经典方法相当或仅略好。例如,缓冲区大小为 5,000 的 CO2L 实现了 65.9%,优于 L2P 报告的结果,接近 DualPrompt 的 68.13%。在这个数据集上,我们提出的 POP 实现,使用 CLIP ViT 模型,对于缓冲区大小 1,000 实现了显著更高的 74.22%,对于缓冲区大小 5,000 实现了更高的 79.74%。这比经典 SOTA 高出近 15%。这些结果支持了 CLIP ViT 的特征更加通用,因此在领域偏移的情况下更适合 CIL 的说法,但也更难适应 CIFAR-100。为了消除所有疑虑,我们使用在 ImageNet-21K 上预训练的 ViT 实现了 POP,并在 Split CIFAR-100 上获得了 84.64/89.00 的准确率,缓冲区大小为 1,000/5,000。这些结果优于所有方法,明显优于使用 CLIP ViT 的 POP。这进一步证实了 ImageNet-21K 模型的“ImageNet 过度拟合”问题。
4.3 低样本连续学习
接下来,我们考虑 k-shot CIL 问题,其中在用于训练任务
传统上,CIL 的主要困难是以前任务的数据稀缺。尽管传统方法保持了一个记忆缓冲区,但其小尺寸阻止了仅从该缓冲区学习解决 CIL 问题的可能性。这对于基础模型方法,如 POP,是不同的,它可以有效学习少量样本设置。因此,仅使用记忆缓冲区中的有限示例进行学习应该是可能的。图 3 报告了 POP 模型仅使用缓冲区中可用的有限示例学习联合分类器的所有类别的结果。结果作为缓冲区大小
4.4 消融研究
每个任务的提示数量 我们评估每个任务学习到的提示数量如何影响 CIL 性能。我们使用 POP 模型,与 CLIP 中的 ViT 一起,在缓冲区大小为 1000 的 Split CIFAR-100 上进行实验。图 4 显示,每个任务学习一个提示可以获得最佳性能,使用更多提示时性能略有下降。无论如何,1 到 4 个提示之间的性能变化不大。
特征融合方法 提出的 POP 模型在 (15) 中平均 POP 输出特征,并在 (16) 中将它们连接起来。这表示为均值和连接方法。表 3 列出了其他 POP 特征融合方法的可能性。FF 连接指的是基础特征连接方法,结合了 (2)、(9) 和 (11)。还可以直接计算所有特征的平均值或最大值,如 (13),或者仅使用来自 POP 标记的表示,即 (15) 而不是 (16)。更详细的描述包含在补充材料中。在所有这些特征融合方法中,均值和连接方法具有最高性能。
5. 结论
在这项工作中,我们提出利用基础模型的强大表示能力来解决 CL 问题。利用提示调整的有效性,我们提出了 Prompt Of Prompts(POP)模型,该模型通过一组特定于任务的提示适应基础模型到不同任务,并使用一组全局 POP 提示整合所有任务之间的知识。POP 模型被证明以较大的优势超越了传统 CL 方法。与其他基于基础模型的方法相比,POP 使用了更通用的基础模型,这使得对 ImageNet 风格的图像的过度拟合更少,在领域偏移的情况下具有更好的 CL 性能。此外,我们已经展示了 POP 可以成功执行低样本 CL。每个类别仅有 50 个样本(缓冲区大小 3000),它超越了在完整数据集上训练的以前的方法。
局限性 虽然像 POP 这样的基础模型被证明对 CL 非常有效,但目前很难找到没有在它们训练中使用过的图像数据集。这可能会导致对 CL 性能的乐观估计。另一方面,随着基础模型在越来越大的数据集上训练,它们可能最终会涵盖整个自然图像分布。然后 CIL 结果的实际意义取决于我们上述考虑的因素,即使用像 CLIP 这样的模型进行通用表示学习。需要更多的研究来完全理解这些问题。
社会影响 POP 基础的 CL 没有任何特定的社会问题,但它继承了与深度学习系统通常相关的所有问题,如对攻击的脆弱性、数据集偏见等,这些问题可能会被 CL 设置放大。
附录
A 实现细节
在这部分中,我们提供了 POP 模型的更多实现细节。
A.1 POP 模型的训练设置
为了训练 POP 模型,我们使用 Adam 优化器,初始学习率设置为
A.2 低样本连续学习的细节
在连续学习中,一系列任务
A.3 仅使用缓冲区学习
联合训练,即从所有任务的数据集(
A.4 特征融合方法的细节
在主要论文的表 4 中,我们比较了几种特征融合方法与 POP 中的均值和连接方法。以下是这些方法的数学描述。
FF-cat:基础特征连接方法首先为每个任务学习一组提示,使用主要论文中的 (9) 和 (11)。这些特定于任务的特征通过 (2) 连接以生成最终的特征向量
。 Mean-of-all:我们首先提取与任务提示相对应的特征
,以及与 POP 提示相对应的特征 ,使用主要论文中的 (14)。最终特征计算为
- Max-pooling:首先使用 (13) 和 (15) 计算特定于任务的特征
和跨任务特征 。然后取每个特征向量的每个位置的最大值。最终特征向量是
其中
- POP-token-only:这种方法仅使用与 POP 标记相对应的输出来生成最终的特征向量,即
B 额外实验
为了进一步验证 POP 模型的有效性,我们提供了与基于提示的 L2P[30] 模型在额外数据集上的比较。我们从视觉领域十项全能挑战 [45] 中选择了 SVHN[41]、GTSRB[42]、Aircraft[43] 和 UCF101[44] 数据集。注意,在视觉领域十项全能中,Aircraft 和 UCF101 任务已经是低样本的,Aircraft 平均每类有 33 个样本,UCF101 平均每类有 76 个样本。对于 GTSRB、Aircraft 和 UCF101,我们将类别分成 10 个任务,对于 SVHN 分成 5 个任务。POP 和 L2P 的记忆缓冲区大小都设置为 1,000。由于 L2P 论文没有提供这些数据集上的结果,我们自己进行了实验,使用 L2P 的官方实现。
表 3 总结了这个实验的结果。POP 在所有数据集上都超越了 L2P。在中等大小的数据集上,提升分别是 SVHN 上的 4.61% 和 GTSRB 上的 10.03%。在更具挑战性的低样本数据集上,提升更大:POP 在 Aircraft 上超越 L2P 16.38%,在 UCF101 上超越 20.31%。这进一步验证了我们主要论文中的结论:POP 模型的特征更加通用,更适合低样本学习。