GA
0. 摘要
持续学习的目标是顺序学习新任务而不遗忘先前任务的知识(灾难性遗忘)。导致遗忘的一个因素可能是不同任务损失梯度之间的干扰。当当前任务损失的梯度与先前任务损失的梯度方向相反时,更新模型可能会导致先前任务的性能下降。在本文中,我们首先识别了上述干扰的原因,并假设数据表示之间的相关性是干扰的关键因素。然后,我们提出了一种在个体任务学习中促进任意任务数据表示之间适当相关性(即全局对齐)的方法。具体来说,我们将数据表示学习为跨任务共享的预训练标记表示的任务特定组合。然后,不同任务数据表示之间的相关性通过预训练标记表示之间的相关性来锚定。我们探索了学习这种组合的不同方式。在没有经验回放的情况下,我们的模型在持续学习任务中实现了最先进的性能。它还通过任务增量训练实现了先进的类增量性能。代码可在以下地址获取:https://github.com/StonyBrookNLP/global-alignment。
1. 引言
持续学习(Continual Learning, CL)旨在开发能够从数据流和任务中顺序学习的模型,这是许多实际应用的重要需求 [35,18]。开发CL模型的一个主要挑战在于减少灾难性遗忘,即模型在学习新任务后遗忘先前任务的知识 [38, 44, 15]。
灾难性遗忘可能发生在任务学习过程中存在干扰时,尤其是在使用共享参数的模型中 [46]。具体来说,当学习新任务时,如果模型在新任务损失上的梯度与先前任务损失的梯度相矛盾(例如方向相反),模型将朝着增加先前任务损失的方向更新,从而导致遗忘。在本文中,我们首先通过分析模型在两个任务损失上的(展平)梯度的点积来识别可能导致干扰的因素。然后,我们针对每个因素设计方法来应对干扰。
我们在第3节中的分析表明,干扰主要取决于两个因素:不同任务数据隐藏表示之间的相关性;以及将数据表示映射到相应类别的分类器列(我们称为类向量)之间的相关性。
为了解决由第一个因素引起的干扰,我们希望模型学习对齐的数据表示,这些表示在切换任务和任务学习过程中不会产生破坏性相关性(即导致干扰)。具体来说,这要求模型在学习当前任务时能够适应未来任务的表示。这促使我们基于一些(良好相关的)全局表示来学习数据表示,为此我们使用语言数据的预训练标记表示 [11]。具体来说,我们将数据表示组合为预训练标记表示的任务特定插值。这使得不同任务数据表示之间的相关性通过预训练表示之间的相关性来锚定。我们设计了三种基于Transformer的模型来实现这种全局对齐:(1)通过注意力机制插值预训练标记表示来学习数据表示;(2)上述模型增加了邻域信息以扩展任务信息的搜索空间;(3)一种控制LoRA [20] 模型,通过小比例因子调整预训练标记表示。
为了解决由第二个因素引起的干扰,我们首先在切换任务时仅训练分类器,然后微调整个模型。这种“先探测后微调”策略最初在 [27] 中提出,用于减少单任务学习中的表示失真。在这里,我们使用它来减少干扰,尤其是在表示之间存在破坏性相关性时(例如由于重叠表示 [5])。探测使不同类向量在切换任务时能够关注数据表示中的不同特征,这在不同任务的表示意外重叠时非常有用。
图1展示了我们方法的整体视图。评估结果表明,对齐表示和先探测后微调策略在多种设置下都提高了CL性能。具体来说,全局对齐模型在任务增量训练后表现出色,在类增量评估中也表现良好。

总之,我们在本文中做出了以下关键贡献:
- 我们识别了导致CL中干扰的因素,并提出了通过学习对齐表示和应用先探测后微调策略来解决干扰问题。
- 我们设计了三种模型来学习对齐表示,这些模型以不同级别的适应度学习任务特定的注意力。
- 我们在多种CL设置上进行了广泛的实验。结果表明,即使不使用经验回放,我们的模型也能显著减少遗忘。
2. 相关工作
持续学习 CL模型可以分为三大类:基于正则化的模型 [25,62,1,29],它们限制新参数与旧参数的偏差;基于回放的模型 [35,7],它们通过回放先前任务的真实或伪样本来减少遗忘;以及基于架构的模型 [48, 60],它们为顺序任务学习演化的架构,并仔细分配每个任务的容量。
NLP中的CL是一个新兴领域 [32,3]。MBPA++ [10] 使用经验回放和局部适应来减轻遗忘;LAMOL [53] 生成伪样本用于回放;IDBR [21] 分离任务无关和任务特定的信息;CTR [23] 使用胶囊网络进行知识转移。所有这些模型都基于预训练语言模型(LM) [11,4,43]。最近的研究表明,预训练可以缓解灾难性遗忘 [59, 39, 28]。我们的工作也基于预训练LM,但我们将其用于对齐目的,而不使用经验回放。
CL中的对齐 最近的CL工作研究了不同任务学习之间对齐的重要性。Riemer等 [46] 对齐任务之间的梯度以减少破坏性干扰;Guo等 [16] 为未来任务保留整体信息。如果先前学习的知识与未来任务不对齐,模型可能会突然改变先前学习的知识并导致遗忘 [5,36,22]。然而,先前的工作专注于已观察任务之间的对齐,缺乏全局视角,可能导致未来的遗忘 [26]。相反,我们的工作通过预训练语义特征实现对齐,这些特征即使对未见过的未来任务也具有普适性。
适应模型 在有限的训练参数下,我们的对齐模型与适应模型有联系,适应模型最初旨在提高参数效率。不同的适应模型在冻结的Transformer层上添加有限的训练参数 [19,40,17,20];或选择性地更新现有参数 [42,61]。最近的工作通过提示调优进行适应 [31,30,34],为目标任务学习提示嵌入。
适应模型也被用于CL [57,13,56,45,50]。然而,大多数工作利用模型的参数效率构建渐进式记忆。不同的适应结构是否影响CL,以及如何帮助CL仍未被探索。我们的模型在推导后与适应模型具有相似的形式,但我们的设计侧重于表示对齐而不是计算效率,且没有渐进式记忆。
3. 问题陈述
在本文中,我们关注由跨任务干扰引起的灾难性遗忘 [46,47]。我们在第3节中进行了一个案例研究以识别干扰的因素,这激发了我们在第4节中的全局对齐方法。
3.1 持续学习设置
任务和数据:我们考虑模型持续学习一系列任务的设置,条件是学习新任务时先前任务的数据变得不可访问。我们将每个任务
场景:我们考虑两种CL场景:任务增量学习和类增量学习。它们的主要区别在于,在任务
模型:我们的模型由一个将输入
3.2 跨任务干扰
根据Riemer等 [46],当模型学习新任务时,如果其在新任务损失上的梯度与先前任务损失的梯度相矛盾(例如方向相反),则可能发生灾难性遗忘。换句话说,新任务的梯度下降可能会将模型更新为增加先前任务损失的方向,从而导致遗忘。
在本节中,我们分析了可能导致梯度干扰的因素。具体来说,我们基于一个代表性的玩具模型进行研究。该模型的编码器包含两个线性层,其权重矩阵分别表示为
假设我们在学习任务
当
我们在下面扩展
其中
基于公式(1),
隐藏表示之间的相关性:我们考虑在两个时间点上不同隐藏表示之间的相关性(图2):(1)模型已经学习了任务

一些先前的工作通过强制模型在正交子空间中学习不同任务来解决干扰问题 [9,14,55]。然而,它们可能会限制模型的知识转移能力,因为
我们的工作解决了两个时间点上隐藏表示的相关性。当跨任务学习时,模型应在任何时候生成当前和先前任务数据的对齐隐藏表示。对齐表示应具有适当的相关性,不会导致破坏性干扰,同时保留模型的知识转移能力。为了实现这一点,我们鼓励模型将每个任务的数据表示学习为预训练标记表示的不同(任务特定)插值。这使得数据表示之间的相关性通过预训练标记表示之间的相关性来锚定(详见第4节)。
类向量之间的相关性:干扰还取决于类向量之间的相关性。假设任务
其中
在公式(2)中,类向量的相关性取决于类向量
4. 方法论
在本节中,我们介绍了用于对齐数据表示和初始化类向量的模型。首先,我们介绍了全局对齐模型,这些模型将任务数据表示学习为预训练标记表示的插值。然后,我们讨论了探测后微调策略以及初始化类向量对CL的影响。
4.1 数据表示作为预训练标记表示的插值
预训练标记表示:在本文中,我们专注于语言模型,这些模型通常以自监督的方式进行预训练 [11,41]。例如,一些模型通过掩码语言建模目标进行预训练,首先在输入文本中掩码标记,然后学习模型以预测被掩码的标记。通过预训练,模型学习标记之间的语义关系。
我们考虑基于Transformer [54] 的语言模型。通常,对于任意任务 [1],模型的输入是由
其中
通过预训练,我们使用预训练矩阵
数据表示:为了解决下游任务,模型学习一个数据表示,以总结整个输入中的任务特定信息。通常,这些数据表示通过微调预训练模型中的所有参数来学习。这种全微调已被证明会扭曲预训练标记表示 [27],并且可能不考虑跨任务数据表示之间的相关性。这与第3.2节中所述的对齐目标不符。
为了跨任务对齐数据表示,我们建议通过插值预训练标记表示来构建数据表示。我们的建议基于以下假设:数据的任务特定信息可以从数据中标记的通用语义组成。例如,给定来自情感分析任务“积极”类别的输入文本“Some actors have so much charisma that you’d be happy to listen to them reading the phone book”,标记{charisma, happy}的组合可以传达“积极”的信息。
基于这一假设以及预训练标记表示包含通用标记语义信息的事实,适当插值预训练标记表示可以表示数据中的任务特定信息。由于预训练标记表示之间的相关性在不同任务中是通用的,这种类型的组合可以对齐不同任务的数据表示。
对齐效果:对于任意任务,预训练标记表示
其中
在任何时间步,数据表示之间的相关性通过预训练标记表示之间的相关性锚定:公式(4)涉及预训练标记表示之间的相关性
4.2 全局对齐模型
我们开发了全局对齐模型,将数据表示学习为预训练标记表示的插值。模型中的参数通过每个任务的交叉熵损失进行训练。按照传统模型的常见做法,我们将一个[CLS]标记附加到输入文本中,并使用[CLS]的表示作为数据表示,表示为
固定插值:将插值权重
基于此,我们开发了一种固定插值模型,该模型仅学习[CLS]的任务特定注意力,同时使用预训练参数计算其他标记的隐藏表示作为预训练表示
其中
通过将非[CLS]标记的隐藏表示限制为接近预训练标记表示,固定插值模型可能具有有限的学习能力。为了避免这一点,我们设计了另外两种方法,以提高模型的能力,我们将在下面描述。
带有邻域注意力的插值:有时,任务信息可能不容易从输入标记的预训练表示中提取。例如,在文本蕴含任务中,给定句子对“The boy is crying; He’s happy about the view.”,标签为“矛盾”。与任务相关的标记“crying”和“happy”的预训练表示可能不具有负相关性,这使得模型难以学习它们的矛盾。然而,“crying”通常有一个邻居标记“sad”,而“sad”和“happy”的预训练表示更有可能具有负相关性。因此,使用“sad”的信息可能使模型更容易学习任务。
因此,为了在保留对齐能力的同时提高模型的能力,我们在保留预训练标记表示指导的同时探索标记的邻域,以更好地搜索任务特定信息。数据表示可以写为:
其中
由于每个标记都有其自己的邻居,为了获得公式(6)中的数据表示
其中
其中
控制LoRA:另一种提高模型能力的方法是通过学习添加到预训练查询和值矩阵的低秩矩阵(LoRA [20])来调整所有标记(包括[CLS]和文本中的其他标记)的表示。该模型的能力接近于微调,同时保持对预训练参数的参考。
将所有标记在第
当
4.3 类向量的初始化
尽管数据表示通过预训练标记表示锚定,但在学习任务
为了在切换任务时初始化新的类向量,我们采用了Kumar等 [27] 首次提出的“先探测后微调”(PF)策略:在学习新任务时,首先冻结编码器并仅训练该任务的分类器(探测);然后微调编码器和分类器(微调)。这在以下情况下是有益的,例如,当两个任务具有相似的输入分布但目标不同的类别时(例如,新闻情感分析与新闻分类)。在这种情况下,切换任务时两个任务的数据表示可能会重叠。然而,探测后类向量可以关注数据表示中的不同特征。因此,类向量之间的相关性可能较小(或为0),从而减少干扰。
5. 实验
5.1 数据集和指标
我们评估了四个CL任务序列:(1)Yahoo:用于新闻问答分类的Yahoo数据集拆分 [63],包含5个不相交任务,每个任务2个类别;(2)DB:用于维基百科文章分类的DBPedia数据拆分 [63],包含7个不相交任务,每个任务2个类别;(3)News Series:新闻相关数据的任务序列,包括AG_news(新闻分类,4个类别)、MRPC(释义检测,2个类别) [12]、RTE(文本蕴含,2个类别) [58] 和SST(情感分析,2个类别) [51];(4)All:上述所有任务。对于每个任务,我们随机抽样每个类别1245个样本,这是我们数据集中类别样本的最小数量。
我们在任务增量(Task-IL)设置中训练对齐和适应模型,其中在训练时指定任务内类别。然后,我们在任务增量和类增量推理设置下评估模型,其中在类增量推理中不指定任务内类别 [37]。我们通过五次随机种子测量模型的平均准确率和遗忘(附录B)。
5.2 模型
我们在预训练的BERT-base模型上比较了不同的模型,包括:
对齐模型(我们的模型):(1)Wire-Fixed:该模型冻结预训练标记表示,并学习数据表示(即[CLS]标记)的任务特定注意力。(2)Wire-Neigh:带有邻域注意力的插值模型。我们设置Model+PF
。
适应模型:(1)微调(FT):顺序微调所有参数。(2)前缀调优(Prefix)[33]:冻结预训练参数并在注意力层添加可学习嵌入。(3)适配器(Adapter)[19]:冻结预训练参数并在自注意力后注入可学习线性投影。(4)LoRA [20]:LoRA模型,单任务学习建议的比例因子
CL模型:(1)ER:FT模型,存储所有见过的样本并执行稀疏(1%)经验回放。(2)A-GEM [7]:FT模型,约束梯度以防止先前任务的性能下降。(3)MBPA++ [10]:FT模型,在推理时存储和检索样本以局部调整模型。(4)IDBR [21]:FT模型,基于信息解纠缠的正则化和回放。我们还比较了没有回放的IDBR,记为IDBR(-R)
。(5)CTR [23]:基于适配器的模型,使用胶囊和任务转移路由。(6)L2P [57]:基于提示的模型,动态地为不同数据和任务生成提示。(7)CODA [50]:基于提示的模型,学习广泛提示组件上的注意力。(8)ERACE [5]:用于类增量的模型,在回放缓冲区中计算当前任务的损失,同时在所有见过的类别上计算回放损失。我们还展示了MTL的性能,这是在所有任务上联合训练的FT模型(非CL)。模型的详细设置见附录A。
5.3 结果
对齐模型在无回放的任务增量和类增量学习中表现优异。任务增量的结果如表1所示。我们的对齐模型比使用经验回放的CL模型遗忘更少。它们还优于适配器、未控制的LoRA和前缀调优等适应模型。这表明对齐模型中减少遗忘的原因不仅仅是由于与适应模型共享的调优较少参数的特性。特别是,C-LoRA的表现优于原始LoRA模型,后者未控制对齐的比例因子。类增量的结果如图4所示。在DB数据集上,对齐模型实现了接近ERACE的先进类增量性能,即使在任务增量训练中模型未在任务外类别上进行训练。在Yahoo数据集上,对齐模型也比FT和LoRA遗忘更少。
插值模型遗忘更少。在不使用PF策略的情况下,插值模型在所有任务增量实验中以及在DB数据集的类增量中表现最佳(图4)。我们假设插值模型的出色表现是由于通过参考预训练标记表示实现了强对齐效果。通过邻域信息提高能力后,Wire-Neigh在困难任务(如News Series中的任务)上优于Wire-Fixed。然而,与具有更多适应能力的模型相比,插值模型的能力可能有限,这可能限制其在类增量中的分类(分离)能力(例如,在Yahoo数据集上的类增量)。
PF减少遗忘。图4显示,应用PF策略提高了所有模型的CL性能。尽管C-LoRA本身在任务增量中表现不如插值模型,但在结合PF后,它在3/4的任务序列上优于插值模型。它还在Yahoo数据集的类增量中表现最佳。我们假设这是因为在数据表示存在破坏性相关性时,PF可以减少干扰,如第3.2节所讨论的。通常,PF和表示对齐在减少干扰方面相互补充。当对齐效果很强时(例如,插值模型),PF带来的改进并不显著。然而,当对齐效果不那么强时(例如,C-LoRA、LoRA、FT),PF可以显著提高模型的CL性能。
5.4 额外分析和消融实验
表3展示了对齐量化结果。我们报告了三个随机种子上的Recall@20。C-LoRA在SNLI和News Series上的Recall@20分别为14.53±0.63和23.13±2.75,而Wire-Fixed分别为37.01±1.54和27.80±1.48,Wire-Neigh分别为36.24±1.83和32.32±2.58。结果表明,插值模型在对齐能力上优于C-LoRA,无论是在任务内(SNLI)还是CL评估中的类似NLI任务(News Series)。
这种可解释性可能解释了对齐模型在类增量中的有效性:即使使用局部类别进行训练,每个任务中的数据表示也与预训练标记表示相关,这些表示与所有任务的类别相关。这可能有助于分离来自不同任务的表示。
6. 讨论:提示池的可扩展性
有人可能会认为,通过简单地增加提示池的大小和批次中选择的提示数量,L2P和DualPrompt可以更稳健地应对较大的领域差距。这在某种程度上是正确的,但不足以获得令人满意的性能。为了给出具体答案,我们测试了它们在与ImageNet(自然)具有较大领域差距的Split ISIC(医学)上增加池相关参数(即池大小和选择大小)的可扩展性。图5显示了可扩展性结果。在池和选择大小达到某个特定值之前(即分别为100和5),准确率有所提高,但无论它们的尺寸如何进一步增加,准确率几乎保持不变。这可能归因于L2P和DualPrompt的基于键值的查询策略。随着池和选择大小的增加,从池中找到合适提示的难度可能会急剧增加。然而,DAP将补丁标记作为输入并生成适合每个实例的提示,因此即使在Split ISIC中,它仅使用单个提示也能实现更高的性能(即绿色方框)。
7. 结论
基于提示的CL在不使用回放缓冲区的情况下表现出色,已在CL领域中崭露头角。L2P和DualPrompt通过改进提示来适应CL问题。然而,这一趋势引发了一个不同的问题,即基于提示的CL方法在与ImageNet具有不同领域相似度的基准测试中的可扩展性。据我们所知,这是首次梳理这一疑问并展示现有基于提示的CL方法在各种领域CL基准测试中的局限性的工作。为了克服这一问题,我们提出了DAP,这是一个无池的框架,由提示生成器组成,使预训练的ViT支持的CL不再依赖领域可靠性,同时保持显著的性能。