HiDe-Prompt
0. 摘要
基于提示的持续学习利用预训练知识进行下游持续学习,在监督预训练下几乎达到了性能的顶峰。然而,我们的实证研究表明,当前策略在更现实的自监督预训练下未能充分发挥其潜力,而自监督预训练对于处理实践中大量未标记数据至关重要。这主要是由于任务特定知识难以通过提示参数融入到指导表示中,并且在测试时由未指导表示进行预测。为了克服这种次优性,我们对预训练背景下的持续学习目标进行了理论分析,并将其分解为层次化组件:任务内预测、任务身份推断和任务自适应预测。基于这些实证和理论见解,我们提出了层次化分解(HiDe-)提示,这是一种创新方法,通过任务特定提示的集成以及未指导和指导表示的统计信息,显式优化层次化组件,并通过对比正则化策略进行协调。我们的大量实验证明了 HiDe- 提示的卓越性能及其在持续学习中对预训练范式的鲁棒性(例如,在 Split CIFAR-100 和 Split ImageNet-R 上分别领先 15.01% 和 9.61%)。我们的代码可在 https://github.com/thu-ml/HiDe-Prompt 获取。
1. 引言
在人工智能领域,持续学习已成为一个备受关注的领域。预训练是极大地促进这一领域的关键技术之一,它不仅提供了正向的知识迁移,还增强了对灾难性遗忘的抵抗力 [27, 23, 37, 26, 43]。最近的一项创新是基于提示的方法,该方法冻结了预训练的 Transformer 骨干,并使用少量提示参数来引导表示学习。这类方法通常涉及为每个任务构建自适应提示,并在测试阶段推断适当的提示。通过探索提示架构以容纳任务共享和任务特定知识,这一新兴方向展示了明显的优势,几乎达到了在监督预训练下持续学习性能的上限。
然而,鉴于强大的预训练模型通常需要以自监督方式学习大量未标记数据,预训练范式对基于提示的持续学习有效性的影响是一个重要且未解决的问题。为了回答这个问题,我们首先进行了广泛的实证研究,结果表明在更现实的自监督预训练下,最近的基于提示的方法表现不佳。由于自监督表示往往更为通用,任务特定知识难以通过提示参数融入到指导表示中,并且在测试时由未指导表示进行预测。因此,许多最近的方法,如 L2P [41]、DualPrompt [40]、S-Prompt [39] 和 CODA-Prompt [30],表现严重受损。我们进一步揭示了为所有任务进行自适应预测的重要性,这可以在一定程度上缓解上述缺点。
基于这些观察,我们对预训练背景下的持续学习目标进行了深入的理论分析,可以将其分解为层次化组件,如任务内预测、任务身份推断和任务自适应预测。由于充分的预训练导致表示分布良好,可以通过构建任务特定提示的集成并利用未指导和指导表示的统计信息来显式优化这些层次化组件。进一步设计了一种新颖的对比正则化来协调这些层次化组件。我们将这种方法称为层次化分解(HiDe-)提示,并通过广泛的持续学习实验证明了其优越性,尤其是在更现实的自监督预训练下。
我们的贡献包括:(1) 我们在自监督预训练下进行了广泛的实证研究,证明了当前基于提示的持续学习进展的次优性;(2) 为了克服这种次优性,我们从理论上分析了预训练背景下的持续学习目标,并将其分解为层次化组件以进行模型设计;(3) 通过任务特定提示和表示统计信息,我们提出了一种创新方法来显式优化层次化组件;(4) 在各种持续学习基准和预训练范式中,我们的方法在无排练的情况下明显达到了最先进的性能。
2. 相关工作
持续学习:持续学习的能力对于人工神经网络适应现实世界的变化至关重要 [37, 35]。在这一方向上,许多努力致力于克服灾难性遗忘 [22, 34, 33]。根据最近的调查 [37],代表性策略包括选择性稳定网络参数、重放少量旧训练样本、显式操作优化程序、利用分布良好的表示、构建任务特定参数等。这些策略的性能因持续学习的特定设置而异。作为最具挑战性和代表性的设置之一,类增量学习(CIL)[31, 37] 要求持续学习模型在没有任务身份的情况下执行所有旧任务(或类)。强大的 CIL 方法通常依赖于旧训练样本的存储和重放 [28, 8, 38],这导致了效率和隐私问题。
自监督学习与预训练:利用分布良好的表示,特别是大规模预训练的成功,为下游持续学习带来了显著的好处 [37, 27, 23]。由于在许多实际应用中显式标记的稀缺性和昂贵性,自监督学习通常涉及预训练阶段以应对大量未标记数据。特别是,实例判别 [4, 7] 与对比学习 [25] 已成为主导策略,旨在最大化同一实例的表示相似性并最小化不同实例的表示相似性。此外,自监督范式在上游持续学习中对灾难性遗忘的敏感性较低 [9],提供了一种从野外数据中丰富预训练知识的实用方法。
基于提示的方法:受 NLP 中参数高效微调技术的启发 [11, 10],最近的基于提示的方法 [3, 41, 40, 39, 30] 被开发出来,以自适应地利用预训练知识进行下游持续学习。基本思想包括为每个任务构建和推断自适应提示,以指导冻结的 Transformer 骨干。前者主要探索提示架构以指导表示,涉及任务共享和任务特定知识,与持续学习中模型架构的讨论密切相关 [37, 36],而后者尝试使用未指导表示预测适当的(组合)提示。尽管这些方法在监督预训练下取得了显著强大的性能,但这些优势在更现实的自监督预训练下是否一致仍有待探索。一项并行研究 [43] 观察到,自监督预训练对于需要微调骨干的持续学习方法更具挑战性,暗示了预训练范式对下游持续学习的非平凡影响。
3. 初步分析
在本节中,我们首先介绍基于提示的持续学习的问题公式,然后通过广泛的实证研究评估预训练范式的影响。
3.1 基于提示的持续学习的公式化
持续学习旨在学习一系列任务在其各自的训练集
基于提示的方法进一步将骨干
其中
其中
其中输出维度与输入
L2P[41] 构建了一个提示池
DualPrompt[40] 构建任务共享提示
S-Prompt[39] 仅为每个任务构建任务特定提示
CODA-Prompt[30] 通过其加权求和利用提示池
3.2 预训练范式的实证研究
无论是显式还是隐式,上述基于提示的方法都将每个任务的知识融入到提示参数中,并从未指导表示中预测其身份。为了评估预训练范式的影响,我们使用广泛使用的 CIL 基准(如 Split CIFAR-100 和 Split ImageNet-R [41, 40])进行了实证研究。除了 ImageNet-21K [29] 的监督预训练(记为 Sup-21K)外,我们还考虑了几个强大的自监督模型,这些模型发布了 ViT 检查点 2,如 IBOT [44]、DINO [2] 和 MoCo v3 [5]。
我们仔细评估了所有基线的官方实现,以确保公平比较。我们基本上遵循了 L2P [41] 和 DualPrompt [40] 的训练方案,这些方案基本一致。由于 S-Prompt [39] 最初是为 DIL 设计的,我们略微修改了其实现,将任务特定提示插入到与 DualPrompt 相同的层中(即第 1-5 层),以 Pref 方式评估提示架构的影响。输出层保留了与任务身份关联的多个头(仍记为 S-Prompt),或与其他基线一样使用单个头(记为 S-Prompt++)。CODA-Prompt [30] 在 DualPrompt 类似的架构中正式实现,但严重依赖于使用较小的学习率与余弦衰减。这里我们展示了其在使用默认和降低学习率下的性能。使用与 [41, 39] 相同的学习率,我们网格搜索适当的 epoch 数(详见附录 D),并报告所有基线的最佳性能。

如图 2 所示,上述基于提示的方法在 Sup-21K 下表现出色,其中使用任务特定提示明显优于任务共享提示(即 S-Prompt++
我们进行了两个额外的实验来证明隐藏的次优性。首先,我们通过学习任务特定提示评估未指导和指导表示的 CKA 相似性(图 2,c)。自监督预训练的 CKA 相似性显著更高,表明提示参数融入任务特定知识的难度更大。其次,我们评估了从未指导表示和任务特定键预测任务身份的能力,其中自监督预训练的准确性要低得多(图 2,d)。有趣的是,尽管只有不到 40% 的任务身份被正确预测,S-Prompt++ 仍然可以取得相当(尽管次优)的性能,这归功于使用单头输出层的补偿效果(图 2,e)。结合图 2,c,d 中的结果,可以想象使用“错误”提示不会严重影响指导表示,这些表示仍然可以在平衡良好的单头输出层中正确预测。相比之下,S-Prompt 的表现比 S-Prompt++ 差得多,因为其多头输出层承担了任务身份推断的所有错误。
4. 理论基础与我们的方法
在本节中,我们首先提出了在预训练背景下改进持续学习的充分和必要条件的理论分析,然后提出了一种创新的基于提示的持续学习方法来实现这一目标。
4.1 持续学习目标的层次化分解
对于顺序到达的
设
其中
定理 1:对于预训练背景下的持续学习,如果
定理 2:对于预训练背景下的持续学习,如果损失误差
4.2 基于提示的持续学习的

HiDe-Prompt 基于上述实证和理论见解,我们提出显式优化层次化组件(即 WTP、TII 和 TAP)用于基于提示的持续学习,如图 3 所示。我们的提议源于预训练的一个特殊优势,即未指导和指导表示的分布可以通过其统计信息有效保留。在分类的情况下,例如,由于每个类往往具有单峰表示(参见附录 D,图 5 和图 6),我们可以自然地用高斯分布近似它们。为了通用性,这里我们将未指导和指导(uninstructed and instructed)表示的近似分布分别表示为每个类

其中
因此,新类的指导表示可以很好地区分 WTP,同时避免与先前类的重叠。
其中
其中

5. 实验
在本节中,我们首先描述了实验设置,然后展示了实验结果。
5.1 实验设置
基准:我们考虑了多个广泛用于基于提示的持续学习的 CIL 基准 [41, 40, 30]。具体来说,Split CIFAR-100 [14] 包括 100 类小规模图像,随机分为 10 个不相交类的增量任务。Split ImageNet-R [14] 包括 200 类大规模图像,这些图像是 ImageNet [29] 的难例或不同风格的新收集示例,随机分为 10 个不相交类的增量任务。5-Datasets [6] 包括 CIFAR-10 [14]、MNIST [15]、Fashion-MNIST [42]、SVHN [24] 和 notMNIST [1] 数据集,每个数据集被视为一个增量任务,以评估大任务间差异的影响。Split CUB-200 [32] 包括 200 类细粒度鸟类图像,随机分为 10 个不相交类的增量任务。
基线:我们比较了四种代表性的基于提示的方法,如第 3.1 节中讨论的 L2P [41]、DualPrompt [40]、S-Prompt++ [39] 和 CODA-Prompt [30]。为了评估持续学习的性能,我们记录了学习每个任务后所有见过类的平均准确率,将最后一个任务的平均准确率(FAA)作为最终平均准确率,并将其历史平均准确率(CAA)[37] 作为累积平均准确率。我们还展示了所有任务的最终遗忘度量(FFM)[37]。我们考虑了 ImageNet-21K 和 ImageNet-1K 的多种预训练范式,包括 Sup-21K、iBOT-21K、iBOT-1K、DINO-1K 和 MoCo-1K,如第 3.2 节所述。
实现:我们遵循了先前工作 [41, 40, 30] 的类似实现。具体来说,我们采用了预训练的 ViT-B/16 骨干,并使用 Adam 优化器(
整体性能:表 1 展示了所有方法的主要结果。与第 3.2 节中的观察结果一致,代表性的基于提示的方法在监督预训练(即 Sup-21K)下表现出色,而在更现实的自监督预训练下表现显著较差。特别是,最近的 CODA-Prompt [30] 总体上优于其他基线(这里我们以 FAA 为主要指标),但对学习率敏感(见图 2,a,b 和附录表 6)。相比之下,我们的 HiDe-Prompt 在总体上取得了最高的 FAA、CAA 和最低的 FFM,因此明显优于所有竞争对手。这一优势在自监督预训练下更为显著,例如在 Split CIFAR-100 和 Split ImageNet-R 上分别领先15.01%和9.61%。当考虑大任务间差异和细粒度分类时(见表 2),我们的方法在自监督预训练下的性能优势变得更加显著,例如在 5-Datasets 和 Split CUB-200 上分别领先12.63%和30.44%。我们进一步评估了与下游任务不相交的预训练知识的影响,遵循了最近工作 [12] 的设置。具体来说,我们在 ImageNet 的一个子集上进行了 Split CIFAR-100 的预训练,其中移除了 389 个相似类。5-Prompt++、CODA-Prompt 和 HiDe-Prompt 的 FAA 分别为 69.00%、65.07% 和 88.05%。所有上述结果证明了我们方法的优势,这归功于显式优化层次化组件,克服了潜在的次优性。


这里我们更深入地探讨了 HiDe-Prompt 的特性。首先,HiDe-Prompt 需要比 CODA-Prompt 小得多的 GPU 内存(例如,在 Split CIFAR-100 上为 16141MB vs 25325MB),因为我们将适当提示的构建和推断作为层次化组件分别优化,而不是以端到端的方式联合优化。与其他基线相比(除了 L2P 需要更小的 epoch 数),我们方法的计算成本在数量级上是可比的。例如,使用相同的单卡 A100 GPU,L2P、DualPrompt、S-Prompt++、CODA-Prompt 和 HiDe-Prompt 在 Split CIFAR-100 上的训练时间分别为 0.55h、2.00h、2.01h、2.08h 和 2.80h。至于统计建模的影响,为每个类保留约 5 个质心的性能与单个高斯分布相当(见附录表 7),这确保了存储效率,并可能推广到其他任务类型。

消融研究:我们在表 3 中进行了广泛的消融研究,以验证 HiDe-Prompt 中层次化组件的有效性。我们首先构建了一个任务特定提示的朴素架构作为基线,然后逐步纳入第 4.2 节中的个别设计。总体而言,每个组件的优化,如任务内预测(WTP)、任务身份推断(TII)和任务自适应预测(TAP),都带来了明显的收益,并共同促成了 HiDe-Prompt 的强大性能。有趣的是,TII 的改进仅在 WTP+TAP 时变得明显,而不是仅在 WTP 时,表明这些层次化组件是高度协同的,而不是孤立运行的。所提出的对比正则化(CR)有助于各个任务的指导表示相互兼容并避免任务间重叠,从而进一步促进了 WTP+TII+TAP 的性能。此外,我们观察到 WTP、TII、TAP 和 CR 的改进在自监督预训练下通常更为显著,这归功于有效解决了隐藏的次优性。

详细分析:现在我们进一步分析了三个组件对持续学习的贡献。首先,我们在图 4,a 中评估了学习每个新任务的平均性能,其中 WTP 明显优于朴素架构,表明解决每个任务的知识更好地融入了任务特定提示中。其次,我们在图 4,b 中展示了从未指导表示预测任务身份的准确性,通过显式优化 TII 显著提高了(高达 67.74%)。第三,我们在表 4 中评估了 CR 对仅 WTP 和完整 HiDe-Prompt 模型(即 WTP+TII+TAP)的影响。增加 CR 的强度会降低 WTP 的性能,因为任务特定提示包含了更多关于其他任务的知识,但提高了 HiDe-Prompt 的性能,因为任务间表示变得更加兼容。这些结果表明了 WTP 和 TAP 知识之间的潜在权衡,可以通过 CR 显式调节。

6. 讨论与结论
在这项工作中,我们从实证和理论角度广泛分析了先进的基于提示的持续学习。一个重要发现是,持续学习目标(在预训练背景下可以分解为 WTP、TII 和 TAP)未能充分实现,这种次优性在更现实的自监督预训练下明显暴露。通过利用未指导和指导表示的统计信息,我们提出了一种强大的方法来显式优化层次化组件,在各种预训练范式中取得了卓越的性能。特别是,我们的理论分析和提出的方法可以作为在持续学习中实现参数高效微调技术(例如提示、适配器、LoRA、FiLM 等)的通用框架,这些技术仅在任务特定参数的形式上有所不同。有趣的是,我们的提议与神经科学的最新进展一致 [17, 16],其中非记忆细胞和记忆细胞(及其特定群体)的激活是内部切换的。基于这些结果,我们期望后续工作进一步探索持续学习的架构和优化,有效利用预训练知识。
这项研究仍存在一些潜在的局限性。首先,我们假设充分的预训练提供了有意义的表示,这在某些应用中可能不可用。其次,基于提示的策略主要适用于 Transformer 骨干,而不是其他骨干架构。第三,Transformer 骨干被冻结并通过提示参数适应下游任务,这阻止了预训练知识的丰富和更新。作为机器学习的基础研究,潜在的负面社会影响在现阶段并不明显。