Continual Lifelong Learning in Natural Language Processing: A Survey

与计算机视觉或机器人技术相反,NLP领域中的CL仍处于初级阶段

持续学习 (CL) 旨在使信息系统能够跨时间从连续数据流中学习。然而,现有的深度学习体系结构很难在不遗忘以前获得的知识的情况下学习新任务。此外,由于自然语言是模棱两可的,CL对语言学习尤其具有挑战性:它是离散的,组合的,意思是上下文相关的。

Introduction

catastrophic forgetting (CF) or catastrophic interference

由于数据分布的变化,模型会随着时间的推移而变得不那么精确—这一现象称为概念漂移。现有的方法不能有效地保留以前学到的知识并同时适应新的信息。

最简单的,从头开始重新训练模型以适应新的任务(或新的数据分布),是昂贵和耗时的,容量饱和和模型扩展问题也扩大了这个问题。

具体地说,参数模型在学习具有不同分布的数据样本或通过一系列任务进行处理时,最终到达不能存储更多知识的点-即其表示能力接近极限。在这一点上,要么扩展了模型的容量,要么应用了选择性遗忘(可能会导致性能下降)。后一种选择可能导致对新任务(或数据分布)的预测精度恶化或忘记以前获得的知识。

这一约束是由CL的一个定义特性支撑的,即所谓的稳定性-可塑性困境。具体地说,该现象考虑了模型试图在其稳定性(保留先前知识的能力)和可塑性(适应新知识的能力)之间取得平衡。

Learning Paradigms

目标是从大量任务 $T$ 中顺序学习模型 $f:X\times T\to Y$。

该模型在实例 $(xi,y_i)$ 上训练,$x_i \in X{ti}$ 是输入特征向量,$y_i \in y{ti}$ 是目标向量,$t_i \in T$表示任务描述符(在最简单的情况下 $t_i=i$),其中 $i\in Z$。目标是最大化任务 $T_i$ 处的函数 $f$ (由 $θ\in R$ 参数化),同时最小化任务 $T_1,…,T{i-1}$ 的CF。

CL所需的性质 :

  • Knowledge retention : 模型不容易发生灾难性的遗忘。
  • Forward transfer : 模型在重用从先前任务中获得的知识的同时学习新的任务。
  • Backward transfer : 模型在学习一项新任务后,在以前的任务上取得了更好的性能。
  • On-line learning : 模型从连续数据流中学习。
  • No task boundaries : 模型无需明确的任务或数据边界即可学习。
  • Fixed model capacity : 无论任务的数量和数据流的长度如何,内存大小都是恒定的。

许多模型仅以有监督的方式使用大的标签数据集进行训练,因此它们不会暴露在涉及很few-shot、无监督或自监督学习的更具挑战性的情况下。

Paradigm Definition Properties
Transfer learning 将知识从源任务/域转移到目标任务/域
以提高目标任务的性能。
+ forward transfer
– no backward transfer
– no knowledge retention
– task boundaries
– off-line learning
Multi-task learning 联合学习多个相关任务,利用参数共享,
提高所有任务的泛化能力。
+ positive transfer
– negative transfer
– task boundaries
– off-line learning
Meta-learning Learning to learn学习一般知识,
给出一小串训练样本和许多任务,并快速适应一项新任务。
+ forward transfer
– no backward transfer
– no knowledge retention
– off-line learning
Curriculum learning 从训练样本中学习按有意义的顺序排列-
任务或数据难度逐渐增加。
+ forward transfer
+ backward transfer
+ knowledge retention
– task boundaries
– off-line learning
On-line learning 通过按顺序提供的训练示例的连续流进行学习。
体验由于非I.I.D.的数据造成的概念漂移。
+ on-line learning
+ forward transfer
– no backward transfer
– no knowledge retention
– single task/domain
On-the-job learning 发现新任务,学习并适应。
On-the-job learning 是在一个开放的环境中进行的,
它涉及到与人和环境的互动。这要归功于CL方法家族。
+ on-line learning
+ forward transfer
+ backward transfer
+ knowledge retention
+ no task boundaries
+ open-world learning
– interactive learning

Approaches to Continual Learning

Rehearsal 、regularization、architectural methods

纯来自NLP领域的模型数量相当有限。

Rehearsal

依靠保留以前任务中的一些训练样本,以便稍后可以将它们显示给手头的任务。

iCaRL 由于每个任务都保留训练样本,并在学习模型时定期重放,因此模型的计算和内存需求随着任务数量的增加而成比例增加。为了减少存储,建议使用 latent replay(Pellegrini等人,2019年)或 pseudo-rehearsal(Robins,1995)方法。

Pseudo-rehearsal methods 不使用memory中的训练样本,而是通过知道先前任务样本的概率分布来生成样本。方法包括生成性自动编码器和基于生成性对抗网络的模型。

regularization

是依赖于固定模型容量和附加损失项的单模型方法,这有助于在学习后续任务或数据分布的同时巩固知识。例如,Elastic Weight Consolidation(EWC)通过损失正则化来减少遗忘;换句话说,它减缓了对之前任务重要的参数的学习。

Memory method 是正则化方法的特例,可分为两组:synaptic regularization 和 episodic memory (A-GEM、MER、MbPA++) 前一种方法集中于通过以防止改变先前学习的模型参数的方式调整学习率来减少对巩固知识的干扰。而后者存储来自先前看到的数据的训练样本,这些样本稍后被排练以允许学习新的类别。重要的是,梯度情节记忆(GEM)允许正向后转移,并防止过去任务的损失增加。

MBPA++进行稀疏经验回放和局部适应。学者们声称,MBPA++的训练速度比A-GEM快,训练它的时间并不比编解码器模型长。虽然这是可能的,因为稀疏的体验回放,但MBPA++需要额外的内存。

Knowledge distillation methods 与情景记忆方法非常相似,但与GEM不同的是,它们使过去任务中的预测保持不变。具体地说,它是一类通过依赖从大型网络模型(教师)到新的、较小的网络(学生)的知识转移来缓解CF的方法。其基本思想是,学生模型学习生成对教师模型的预测。

architectural

通过将模块化更改应用于网络架构并引入特定于任务的参数来防止遗忘。通常,以前的任务参数保持固定或屏蔽。此外,新的层通常是动态注入的,以使用附加模块来扩充模型,以适应新的任务。

Progressive Networks (PNN)以及它们的改进版本 Dynamically Expandable Network (DEN)Reinforced Continual Learning (RCL)这些都是突出的例子。这些策略的主要缺点是参数数量大幅增加。

与PNN类似,BatchEnsemble(2020)也不受CF的影响,此外,由于只训练快速权重,它支持任务的并行排列,并且比PNN消耗更少的内存。

同样,适配器模块旨在克服大量参数的问题。 它们充当具有少量参数的附加网络层,可即时重新配置原始网络 对于目标任务,同时保持原始网络的参数不变并在不同任务之间共享。

Continual Learning in NLP Tasks

Word and Sentence Representations

分布式词向量表示是许多NLP应用程序的基础。

通常,词嵌入是在大型通用语料库上训练的,因为领域内语料库的大小在大多数情况下是不够的。这是有代价的,因为在通用语料库上训练的嵌入通常不适合特定于领域的下游任务,因此,整体性能会受到影响。

在CL设置中,这也意味着词汇可以相对于两个维度改变:时间和领域。一个公认的共识是,由于复杂的语言和社会过程,单词的意义会随着时间的推移而变化。因此,重要的是检测和适应意义和数据分布的变化,同时防止先前从 CF 中学习到的表示。

为了解决这个问题 , Lifelong domain word embedding via meta-learning提出了一种元学习方法,该方法利用过去多领域语料库中的知识生成改进的新领域嵌入。

Continual Learning for Sentence Representations Using Conceptors 引入了一种随时间更新的句子编码器,使用矩阵概念不断学习依赖于语料库的特征。

重要的是,王等人。(2019b)认为,当一个神经网络模型被训练到一个新的任务上时,嵌入的向量空间会发生不希望的变化,从而导致嵌入对于以前的任务是不可行的。为了缓解嵌入空间失真的问题,他们建议使用锚定对齐句子嵌入。最近出现了一个词嵌入和语言建模交叉点的研究线,称为上下文嵌入,并展示了许多NLP任务的最新成果。

Research Gaps and Future Directions

在现实世界中,我们经常处理部分信息数据。此外,数据来自非 i.i.d。分布,并受代理的干预或环境变化的影响。尽管存在一些尝试,模型从一系列示例中学习而不知道它们来自哪个数据集和分布(例如 d’Autume 等,2019),但这种方法很少见。此外,学习很少的例子(例如通过少样本转移学习)(Liu,2020)是当前模型的主要挑战,尤其是执行分布外泛化(Bengio,2019)。特别是,广泛用于 NLP 的序列到序列模型仍然难以系统泛化(Lake 和 Baroni,2018 年;Bahdanau 等人,2019 年),无法学习高级语言概念的一般规则和推理。例如,Feder 等人最近在反事实语言表示方面的工作。 (2020) 是朝着这个方向迈出的有希望的一步。非平稳学习问题可以通过从数据中理解和推断因果关系来缓解(例如 Osawa 等人,2019 年)——这是一个突出的挑战(Pearl,2009 年)——并提出不太可能的组合存在于训练分布中(Bengio,2019)。也就是说,语言是组合的;因此,该模型可以动态操纵语义概念,这些语义概念可以在新情况下重新组合(Lake 等人,2015 年),后来得到基于语言的溯因推理(例如 Bhagavatula 等人,2020 年)的支持。

在模型级别,CL 与贝叶斯原理的结合应该可以更好地识别神经网络每个参数的重要性,并有助于参数修剪和量化(例如 Ebrahimi 等人,2020 年;Golkar 等人,2019 年)。我们认为,不仅参数信息量应该是不确定性引导的,而且先前记忆的周期性重放也应该通过因果关系来告知。此外,重点关注降低模型容量和计算要求也很重要。尽管神经网络的过度参数化很普遍(Neyshabur 等人,2018 年),但许多当前的 CL 方法促进了参数空间的扩展。我们设想进一步的研究工作集中在压缩方法上,例如知识蒸馏、低秩分解和模型修剪。