Continual Learning with Pre-Trained Models A Survey
0. 摘要
在当今世界的应用中,经常面临流数据,这要求学习系统随着数据的演变而吸收新知识。持续学习(Continual Learning, CL)旨在实现这一目标,并同时克服在学习新知识时对以前知识的巨大遗忘。典型的CL方法从零开始构建模型以适应新数据。然而,随着预训练模型(Pre-Trained Models, PTM)时代的来临,在利用PTMs的强大表示能力进行CL方面激发了巨大的研究兴趣。本文综述了基于PTM的CL的最新进展。我们将现有方法分为三个不同的组,并提供了它们之间的相似性、差异性以及各自的优势和劣势的比较分析。此外,我们提供了一个实证研究,比较了各种最先进方法,突出了比较中的公平性问题。可以在 https://github.com/sun-hailong/LAMDA-PILOT 找到重现这些评估的源代码。
1. 引言
随着深度神经网络的快速发展,深度学习模型在各种应用中展现出了有希望的结果 [He et al., 2016]。然而,现实世界情景通常以流格式呈现数据。隐私问题和存储限制等挑战阻碍了流数据的永久保留,需要一个能够适应和进化的持续学习系统,这个过程被称为持续学习 [van de Ven et al., 2022; De Lange et al., 2021; Masana et al., 2023]。CL中的一个关键问题是灾难性遗忘现象,即获取新知识会导致在以前学习的任务上的性能显著下降 [McCloskey and Cohen, 1989]。为了解决CL中的这一问题,已有许多研究投入其中 [Gunasekara et al., 2023; Fortin and Chaib-draa, 2022; Shibata et al., 2021; Sun et al., 2023; Wiwatcharakoses and Berrar, 2019; Li et al., 2022]。传统上,CL方法从“从头开始训练”的模型开始,即从随机初始化的权重开始。然而,预训练技术的繁荣开辟了新的途径。利用从大量数据集和复杂技术中开发的PTMs,已经显示出对CL的巨大希望。这些PTMs天生就具有对各种下游任务的强大泛化能力,使得基于PTM的CL成为日益流行的研究领域。图1展示了PTM基于和传统持续学习方法的差异。两种方法都在数据流中使用CL模型来适应一系列不断到来的任务。目标是使模型在学习新任务的同时保留以前获得的知识。这就需要在每个新任务学习后,对所有见过的任务进行模型评估。PTM基于和传统CL之间的主要区别在于CL模型的初始设置。PTM基于策略从大规模预训练模型开始,而传统方法则是从零开始训练的模型。这种差异可以类比于人类学习:传统方法类似于训练一个婴儿成长并学习新知识,而PTM基于方法则像利用成年人的专业知识来进行同样的学习任务。随着这个领域的快速发展,现有的关于CL的综述主要集中在不包含预训练模型的典型算法上 [van de Ven et al., 2022; De Lange et al., 2021; Masana et al., 2023]。然而,在当前的PTM时代,PTM基于CL正成为一个日益受到关注的中心领域。观察结果表明,基于PTM的CL的性能正在接近持续学习潜力的上限 [Zhou et al., 2023a],这表明了一个有希望的实用应用途径。因此,迫切需要一个全面、当前的综述来推动CL领域的发展。我们的综述的具体贡献如下:
我们首次全面综述了基于预训练模型的持续学习的最新进展,包括问题定义、基准数据集和评估协议。我们根据这些方法的定义特征将它们系统地分类为三个子类别,提供了一个全面和结构化的概述。
我们的评估扩展到了每个子类别中的代表性方法,跨越七个基准数据集。此外,我们确定了可能影响PTM持续学习比较公平性的关键因素,为方法评估提供了见解。
我们强调了基于PTM的持续学习当前的挑战和潜在的未来方向。我们旨在揭示研究不足的方面,以激发进一步的调查,探索该领域内的各种可能路径及其相互关系。
2. 预备知识
2.1 持续学习
持续学习(Continual Learning, CL)专注于涉及一系列任务
在公式 (1) 中,
2.2 预训练模型
在 PTM 的繁荣之前,持续学习方法主要依赖于残差网络(例如,ResNet [He et al., 2016])作为骨干网络。然而,近年来,基于 Transformer 的骨干网络发展迅速,并且大多数基于 PTM 的 CL 方法使用在 ImageNet21K [Deng et al., 2009] 上预训练的 Vision Transformer (ViT) [Dosovitskiy et al., 2020] 作为嵌入函数。因此,本文也将重点关注 ViT 作为代表性的 PTM,因为它具有强大的表示能力。具体来说,在 ViT 中,输入图像首先被划分为不重叠的小块。然后将这些小块附加上类别标记 [CLS],并输入到嵌入层,随后通过视觉 Transformer 块。我们表示嵌入的小块特征为
2.3 预训练模型带来的持续学习新见解
与从头开始训练嵌入函数相比,使用预训练模型带来了两个主要特点。首先,与随机初始化的模型相比,PTMs 具有“泛化能力”。从表示学习的角度来看,持续学习的最终目标是学习一个合适的嵌入来捕获所有见过的任务,而 PTMs 在开始时就提供了一个强大且通用的特征提取器。因此,可以在冻结的骨干网络上以非持续的方式设计算法 [Zhou et al., 2023b]。另一方面,ViTs 的结构使得在保持泛化能力的同时可以进行轻量级调整。像视觉提示调整 [Jia et al., 2022] 和适配器学习 [Chen et al., 2022] 这样的技术使得 PTMs 能够快速适应下游任务。因此,与从头开始训练相比,使用 PTMs 的持续学习在抵抗遗忘方面展现出更强的性能 [Cao et al., 2023]。
3. 使用预训练模型的持续学习
我们将当前基于 PTM 的 CL 研究分为三类,基于它们解决学习问题的不同思想,即提示法(prompt-based methods)、表示法(representation-based methods)和模型混合法(model mixture-based methods)。这些类别利用预训练模型的不同方面来促进持续学习。例如,鉴于 PTMs 的强大泛化能力,提示法方法通过提示调整(prompt tuning)来进行轻量级更新的 PTM。由于预训练权重保持不变,因此可以保留 PTMs 的泛化能力,从而减轻了遗忘。类似地,表示法方法直接利用 PTMs 的泛化能力来构建分类器。最后,模型混合法方法在学习能力过程中设计一组模型,并在推理过程中使用模型合并、模型集成和其他混合技术来得出最终预测。我们在图 2 中展示了基于 PTM 的 CL 的分类法,并列出了一些代表性的工作。在接下来的部分中,我们将介绍每个类别,并深入讨论它们的优缺点。
3.1 提示法方法
观察到 PTMs 的强大泛化能力,如何调整 PTM 导致了一个权衡——完全微调权重以捕获下游任务将抹去泛化特征,而固定主干则无法将下游信息编码到主干中。为此,视觉提示调整(Visual Prompt Tuning, VPT)[Jia et al., 2022] 揭示了一个有希望的方式,即使用轻量级可训练模块,例如提示,来调整 PTM。具体来说,它在小块特征
其中
其中
因此,优化公式 (4) 也强制键与编码特征相似。上述查询 - 键匹配过程是一个期望最大化(EM)过程 [Moon, 1996; Yadav et al., 2023]。具体来说,在 E 步骤中,基于它们与查询特征的相似性,选择前 N 个键。在 M 步骤中,然后使键更接近查询。受 L2P 启发,许多工作被提出来改进选择过程。DualPrompt [Wang et al., 2022b] 探讨了提示深度的重要性,通过在不同层附加提示。它还将提示解耦为通用和专家提示。其中,通用提示旨在编码任务通用信息,在所有任务中共享。相比之下,专家提示是任务特定的,其数量等于任务数。它在推理期间使用与公式 (3) 相同的检索策略。PP-TF [Yadav et al., 2023] 在代码生成模型中应用了类似的策略。S-Prompt [Wang et al., 2022a] 也考虑了任务特定提示策略,在学习新任务时通过进行 K-means 聚类扩展提示池,并使用 KNN 搜索找到最相似的任务以获取提示。MoP-CLIP [Nicolas et al., 2024] 通过在推理期间组合多个提示来扩展 S-Prompt。提示组合:虽然从提示池中选择提示听起来合理,但公式 (3) 中的匹配过程仍然是硬匹配,可以重现的选择有限。相应地,CODA-Prompt[Smith et al., 2023] 建议从提示池中构建基于注意力的提示。
其中
提示生成:虽然 CODA-Prompt 解决了基于注意力的提示组合问题,但组合过程仍受限于提示池。因此,许多工作进一步设计了元网络,可以生成特定于实例的提示。相应地,DAP [Jung et al., 2023] 通过将提示生成编码到 MLP 网络中来实现这一目标。它通过以下方式生成特定于实例的提示:
其中 LN 表示层归一化,
提示法方法的总结: 我们总结了图 3 中的提示选择方式,包括 L2P 中的键 - 值匹配、DualPrompt 中的任务特定和通用检索、CODA-Prompt 中的基于注意力的组合以及 DAP 中的提示生成。而不是选择提示,一些工作 [Liu et al., 2022; Razdaibiedina et al., 2023] 还考虑将所有提示附加到查询实例或学习视觉提示(即像素级参数)[Liu et al., 2023; Gan et al., 2023]。除了单一视觉模态,模型还可以利用文本信息 [Radford et al., 2021] 在预训练的视觉 - 语言模型 [Khan et al., 2023; Villa et al., 2023; Wang et al., 2023b; Khattak et al., 2023] 中进行学习和选择适当的提示。
优点与缺点: 提示法方法通过轻量级提示在预训练知识与下游任务之间取得平衡,带来许多优点。首先,提示有助于弥合领域差距并有效编码任务特定知识。其次,由于这些轻量级模块与特征具有相同的维度,保存提示是参数高效的,这自然适合于一些边缘场景,如联邦学习 [Guo et al., 2024]。最后,学习提示池作为 PTM 的外部记忆,实现自适应知识检索和特定实例预测。然而,也有一些缺点。首先,一些工作 [Moon et al., 2023] 发现在公式 (3) 中的提示选择过程会收敛到一个点,使得提示选择只关注特定子集。此外,由于键和提示值在训练过程中不断变化,这些参数的更新将抹去以前任务的更新。这进一步导致匹配级别和提示级别的遗忘,使得提示选择过程成为持续学习中的瓶颈。此外,如果我们使用固定大小的提示池,其表示能力将受到限制。相比之下,如果提示池随着数据的演变而增长,将导致训练和测试之间的不匹配,因为新提示可能被检索用于旧任务。最后,尽管提示法方法为基于 PTM 的 CL 揭示了一个有希望的解决方案,但一些工作 [Zhou et al., 2023b] 发现它们的表现低于简单的原型基线(在第 3.2 节中讨论)。虽然一些基于提示的方法 [Jung et al., 2023] 显示出惊人的结果,但由于批量提示部分(在第 4 节中讨论),存在比较公平性方面的一些担忧。