Learning to Prompt for Continual Learning

持续学习背后的主流范式是使模型参数适应非平稳数据分布,其中灾难性遗忘是核心挑战。

典型的方法依赖于测试时的预演缓冲区或已知的任务身份来检索学到的知识并解决遗忘问题,而这项工作提出了一种新的持续学习范式,旨在训练一个更简洁的记忆系统,而无需在测试时访问任务身份 .

我们的方法学习动态 prompt (L2P) 预训练模型以在不同的任务转换下按顺序学习任务。 在我们提出的框架中,prompt 是小的可学习参数,它们保存在内存空间中。 目标是优化 prompts 以指导模型预测并明确管理任务不变和任务特定的知识,同时保持模型的可塑性。

我们在具有不同挑战性的持续学习设置的流行图像分类基准下进行了综合实验,其中 L2P 始终优于先前的最先进方法。 令人惊讶的是,即使没有排练缓冲,L2P 也能与基于排练的方法取得有竞争力的结果,并且直接适用于具有挑战性的与任务无关的持续学习。

Introduction

与在独立和同分布 (i.i.d.) 数据上训练的普通监督学习相反,持续学习解决了在顺序呈现不同分类任务的非平稳数据分布上训练单个模型的问题。然而,由于该模型只能在学习周期的单个阶段访问当前数据,因此容易对当前可用数据进行过度拟合,并且由于灾难性遗忘导致先前训练的数据性能下降。

持续学习的主要工作主体遵循学习范式,随着数据分布的变化不断调整整个或部分模型权重,重点是保留过去的知识 [9,34]。尽管许多类型的方法都取得了良好的效果,但仍然存在需要解决的关键限制。 首先,根据互补学习系统 (CLS) 理论 [23, 36],受海马中情景记忆的启发,许多最先进的方法 [3, 4, 8] 依赖于排练缓冲区来重新 训练一部分过去的例子。然而,它们会因缓冲区大小 [4] 的减少而导致性能大幅下降,并且在不允许使用预演缓冲区时变得无效——例如,在数据隐私很重要的现实世界场景中 [54]。 这表明简单地缓冲过去的数据并重新训练模型可能不是检索过去知识的最佳方法。

在不访问排练缓冲区的情况下,另一个工作分支 [19,26,45] 通过在测试时假设已知的任务身份绕过遗忘问题,以便他们能够将独立于任务的模块附加到共享模型以进行推理但是,在测试时知道任务标识会限制实际使用。

先前工作的局限性在持续学习中提出了关键问题[13, 16]:

  • (1)情景记忆的形式是否可以超越缓冲过去的数据,成为更智能、更简洁的情景记忆系统?
  • (2)如何在不知道其任务身份的情况下为任意样本自动选择相关知识分量?

为了回答第一个问题,prompting 的最新进展中汲取灵感,这是自然语言处理(NLP)领域的一种新的迁移学习技术。 prompt 技术使用包含额外任务特定信息的模板化或可学习 prompt token 设计文本输入模型,以便预训练的语言模型可以处理参数化输入以执行特定于 prompt 的预测 [25,27,53]。直观地说,基于 prompt 的学习将学习下游任务从直接调整模型权重到设计 “ instruct ” 模型有条件地执行任务的提示。 prompt 编码特定于任务的知识,并且能够比普通微调更有效地利用预训练的冻结模型 [25, 47]。 因此,在持续学习的环境中利用 prompt 来学习知识并进一步存储所学知识是有希望的。

然而,如何在持续学习中直接应用 prompting 来解决上述第二个问题还不清楚:一方面,如果我们在持续学习的背景下为不同的任务训练不同的 prompt,仍然需要测试时间任务同一性来使用适当的任务特定提示进行预测。另一方面,作为一种迁移学习技术,prompting 的目标是使冻结的预训练模型单独地获得良好的下行性能,而不是顺序地。因此,如果我们为所有任务保持单一的共享 prompt,灾难性遗忘的问题可能仍然存在(参见第5.4节)。

为此,我们提出了一种新的持续学习方法,称为 Learning to Prompt for Continual Learning(L2P),它与流行的基于排练的方法正交,适用于没有已知任务标识或边界的实际持续学习场景。