Press "Enter" to skip to content

介绍几篇incremental/continual/lifelong learning的综述论文

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

这两年incremental/continual/lifelong learning成为一个热点,下面介绍3篇该领域的综述论文。

 

第一篇是“ Continual Lifelong Learning with Neural Networks: A Review “,2019年2月(也发表于Neural Networks):

人和高级动物在整个生命中不断获取、微调和转让知识和技能。这种能力,称为lifelong learning,是由一系列神经认知机制协调的,这些机制共同促进了sensorimotor技能的发展以及长期记忆的巩固和检索。因此,lifelong learning能力,对于计算系统和自动化智体而言,是否在现实世界进行交互并处理连续信息,至关重要。

 

但是,长期来看 lifelong/continual learning 仍然是机器学习和神经网络模型的挑战,因为从非平稳数据分布中不断递增获取的可用信息通常会导致 catastrophic forgetting/interference ,即用新信息训练模型的时候会干扰先前学习的知识。 这种现象通常会导致性能突然下降,或者最坏的情况下会导致旧知识被新知识完全overwrite。对于从固定训练数据学习的深度神经网络模型而言,无法考虑随时间信息递增可用这一点,会成为一个主要缺陷。

 

在这篇综述中,总结了与人工学习系统的continual/lifelong learning相关挑战,并比较了现有的那些在不同程度上减轻catastrophic forgetting的NN方法。尽管NN在特定领域学习方面已取得了重大进展,但要在自动化智体和机器人上开发强大的lifelong learning,还需要进行大量研究。为此作者讨论了由生物系统中的lifelong learning因素,例如structural plasticity、memory replay、curriculum and transfer learning、intrinsic motivation和multisensory integration等激发的研究。

 

当前深度神经网络学习模型依赖于标注训练样本。但这种学习方案是假定训练阶段所有样本可用,因此需要在整个数据集对网络参数进行重训练以适应数据分布的变化。常规神经网络模型训练串行任务时候,学习新任务会使先前学习的任务性能大大降低。尽管 重新training from scratch 从实用上解决了catastrophic forgetting,但效率极低,还阻碍了实时地学习新数据。

 

为克服catastrophic forgetting,学习系统一方面必须能连续获取新知识和完善现有知识,另一方面,还应防止新数据输入明显干扰现有的知识。 为了整合新输入信息,系统必须具有怎样的可塑性,以及为了不灾难性地干扰合并的知识而必须具有怎样的稳定性,这个问题称作 稳定性-可塑性(stability-plasticity)难题 ,在生物系统和计算模型中也进行了广泛研究。 由于lifelong learning的挑战性,许多从哺乳动物大脑学习汲取灵感的计算方法被提出并研究。

 

人类擅长终生来学习,并根据学习的sensorimotor偶然性做出适当的决定。终身学习的生物学方面及其基于生物学的神经网络体系结构建模,本文对此做了介绍。 neurosynaptic可塑性 在多个大脑区域调节稳定性-可塑性的平衡性。可塑性是大脑在细胞和电路水平的神经延展性的基本特征。一个稳定、连续、终生的过程需要两种类型的可塑性:(i)正反馈不稳定性的 Hebbian可塑性 ,以及(ii)稳定神经活动的补偿性 homeostatic可塑性 。从实验上已经观察到,通过降低synaptic(突触)可塑性速率,特别的机制可保护先前学习任务的知识,避免学习新任务中遇到的干扰。 Hebbian学习和homeostatic可塑性共同促使神经电路稳定,形成经验驱动的连接性、集成性和功能性的最佳模式。

 

如图是neurosynaptic adaptation的两种形式:a)带homeostatic可塑性的Hebbian learning 和b)CLS理论。

重要的是,大脑做两项互补的任务:跨经验泛化和保留类似事件的特定记忆。所以本文介绍 互补学习系统(CLS,complementary learning systems ) 理论,即有效提取感知事件的统计结构(泛化),同时保留情节记忆,即在特定时间和地点收集的经验。 CLS理论定义了 hippocampus 和 neocortex 在学习和记忆方面的互补作用,它告诉人类认知系统中存在专门的机制来保护巩固的知识。hippocampal系统表现出短期适应性,并允许快速学习新信息;neocortex系统将新信息转移并整合以做长期存储,其特点在于学习速度慢并负责学习一般性。但在某些情况下,灾难性遗忘仍然可能发生。

 

终身学习的神经生理学研究刺激了机器学习和神经网络领域。作者介绍并比较了解决灾难性遗忘的计算方法。最新的学习模型包括:i)调节synaptic可塑性的内在水平,以保护巩固的知识; ii)分配额外的神经资源来学习新信息,并且 iii)使用CLS进行记忆整合和体验重放。一方面,这些方法绝大多数旨在解决在有限标注数据集上的终身监督学习问题,并不扩展到更复杂的场景,如部分未标记序列。另一方面,无监督终身学习主要是采用自组织神经网络。

 

从概念上讲,这些方法可以分为:1)重新训练整个网络同时进行正则化防止以前学过的任务造成灾难性遗忘,2)选择性训练网络并在必要时扩展以代表新网络,3) 为记忆整合建模互补学习系统,例如 用内存重放来合并内部表示。如图是终生学习的一些神经网络方法: a) 带正则化的retraining, b) network extension 和 c) 可能扩展的selective retraining。

尽管在采用结构化正则或动态体系结构更新的学习方法的设计方面大家已取得了重大进展,但在终身/递增学习(incremental learning)任务中这些算法的严格评估却很少。为此作者讨论了使用和设计量化指标去测量大规模数据集的灾难性遗忘。 如图是一些做终生学习的benchmark数据集:a) MNIST dataset, b) Caltech-UCSD Birds-200 (CUB-200) dataset 和 c) CORe50。

如下是一些方法的结果:数据集有MNIST (a), CUB-200 (b), 和 AudioSet (c), 方法有FEL (红色), MLP (黄色), GeppNet (绿色), GeppNet+STM (蓝色), EWC (粉色), 和 offline model (虚点线)。

神经网络方法通常设计为,递增地适应在受控环境收集(通常为合成的)的数据样本,这与人类生命中遭受的生态条件截然不同。 在现实世界中,智体必须处理感官不确定性,有效地处理多感官信息的连续数据,并有效地学习多个任务,不会灾难性地干扰先前学习的知识。 直观地看,上述神经网络模型与更复杂的终身学习智体之间存在着巨大的差距,后者希望从连续的sensorimotor体验中递增学习。

 

人类可以轻松获得新技能并跨领域和跨任务迁移知识,而人工学习系统仍处于这样能力的起步阶段,即所谓的迁移学习。此外,与使用单传感器(例如视觉或听觉)信息训练神经网络方法的趋势相反,人类大脑从多传感器信息整合中受益,也在感知不确定情况下提供有效交互的手段。大脑早期发展的多传感器和sensorimotor的专长激发了关于自主智体的大量研究。本文回顾了生物学学习动机所激发的计算方法,其中包括critical developmental stages和curriculum learning,为学习新任务做知识重用的transfer learning,还有由内在动机和自我监督驱动为环境自主探索的reinforcement learning,以及用于跨模式终身学习的多传感器系统。

 

如图是开发自主智体在复杂环境长时间学习的主要部件图:Developmental and curriculum learning, transfer learning, curiosity and intrinsic motivation, and crossmodal learning。

第二篇“ A continual learning survey: Defying forgetting in classification tasks “,2020年5月(注:也发表在IEEE T-PAMI,作者来自KU Leuven和华为公司)。

人工神经网络在解决特定刚性任务的分类问题上很厉害,通过来自不同训练阶段的泛化学习行为获取知识。最终的网络类似于静态的知识体,努力在不针对原始任务的情况下扩展知识,从而导致catastrophic forgetting。continual learning将这种形式转移到可以不断积累不同任务上知识的网络,无需retrain from scratch。这个综述专注于task incremental classification,即任务按顺序到达并由清晰的边界划定。本文主要工作包括

1)最新技术的分类和总结,
2)使一个continual learner连续地确定stability-plasticity 折衷的新框架,
3)对11种最先进的continual learning方法和4个baseline进行全面的实验比较。

考虑到Tiny Imagenet和大规模unbalanced数据集iNaturalist以及一系列识别任务的数据集,作者在三个基准对方法的优缺点进行了经验检查,在模型容量、权重衰减和dropout正则化的影响、任务的顺序、所需的内存、计算时间和存储方面定性地进行比较。

 

主要的标准是学习过程的 串行性质 ,一个/多个任务仅有一小部分输入数据可用。 主要的挑战是学习时要避免 catastrophic forgettin g:随着新任务或领域的加入,先前学习的任务或领域其性能不应随时间显着下降。 这是神经网络一个普遍问题造成的直接结果,即 稳定性-可塑性难题(stability-plasticity dilemma) ,可塑性指整合新知识的能力,而稳定性是指在编码时会保留先前的知识。

 

作者考虑的Task Incremental Learning问题,需要设置一系列任务,一次仅接收一个任务的训练数据,然后执行训练直到收敛。Task Incremental Learning的焦点就是在如下函数最优化情况下找到最优参数:其中数据(X,Y),分布D,任务t<T,损失函数ℓ, 参数 θ,f网络函数。

其中任务T的统计risk近似为经验risk,即

当序列地学习不同输入模式的示例时,早期的一些工作观察到catastrophic interference问题。 大家已经探索了几个方向,例如减少表示的重叠、重播过去的样本或虚拟样本、或引入dual architectures。 由于资源限制,这些工作主要考虑很少的示例(数十的数量级),并且是基于特定的浅层架构。 随着神经网络的兴起,continual learning 和 catastrophic forgetting也受到了更多关注。 两个连续任务已经研究dropout和不同激活函数对forgetting的影响,并且有几篇论文从理论的角度研究了incremental task learning。

 

最近工作已经关注更长的任务序列和大量的示例下的continual learning问题。 作者根据序列学习过程中如何存储和使用任务特定信息分成三个类:

重播方法
基于正则化的方法
参数孤立方法

如图给出的是三类方法的概述:

解决continual learning问题通常涉及额外的hyperparameters以平衡stability-plasticity权衡。 许多情况下,这些hyperparameters是利用所有任务的保留validation data再通过grid search找到。 但是这违反了continual learning的主要假设,即无法访问先前任务的数据。 它可能会导致在真正的continual learning中无法重现的过度乐观结果。 作者在不违反continual learning设置的情况下建立一个原则性的框架来设置hyperparameters。 除了与现有方法比较,该通用策略还动态地确定了stability-plasticity的折衷,因此扩展至现实中的continual learners。

 

该框架包括两个主要模态(Maximal Plasticity Search和Stability Decay),其算法伪代码如图所示。

image classification实验 的数据集特性如下表所示:

采用的模型如下表:

方法的比较采用多个Baseline:

 

1)微调先前的任务模型,开始优化当前任务参数。 该baseline贪婪地训练每个任务,而不考虑先前的任务性能,因此带来catastrophic forgetting,是代表最低的性能。

 

2)联合训练,其中同时考虑任务序列中的所有数据,这违反了continual learning的设置(在报告的结果中附加“ *”表示)。 该baseline提供了参考性能。

 

对于replay方法,另外增加两个微调baseline,即:

 

3)带有全内存(R-FM)的基本rehearsal:充分利用了整个可用的示例内存R,将等容量递增地分配给所有先前的任务。 这是一个定义内存管理策略以利用所有内存资源(例如iCaRL)的重播方法基准。

 

4)使用部分内存(R-PM)的基本rehearsal:为所有任务预先分配固定的示例内存R / T,前提是事先知道任务量T。 这是一个缺少内存管理策略的重播方法(例如GEM)所采用的基准。

 

重播缓存

 

重播方法(GEM,iCaRL)和相应的baselines(R-PM,R-FM)可以使用任意重播缓存大小进行配置。太大的缓冲区将导致与正则化方法和参数孤立方法的比较不公平,甚至可能保存了先前任务的所有数据,如joint learning那样,这不符合continual learning设置。因此,作者用存储基准模型所需的内存作为示例量的基本参考;这对应于prior-focused方法(EWC,SI,MAS)中重要性权重传播所需的附加内存。对于Tiny Imagenet数据集,它已经是4500个示例的总重播缓存量。作者还用9000个示例的缓存量进行实验,以次检查增加缓存量的影响。

 

学习细节

 

在训练期间,模型优化采用momentum为0.9的STG。训练70个epoch,除非early stopping。标准的AlexNet针对iNaturalist数据和RecogSeq配置dropout。对Tiny Imagenet数据,默认情况下不使用任何形式的正则化。仅在forgetting-related的hyperparameters情况下才用那个continual hyperparameters framework。

 

如图给出在Tiny Imagenet数据集各种continual learning方法的结果比较:

关于网络容量的影响,见下表:

关于正则化的影响,见下表:

真实环境设置在数据集RecogSeq的影响见下图:

任务的次序在数据集iNaturalist的影响见下图:

质量比较如下:

实验总结如下:

一般continual learning的设置应该包括:

1. Constant memory.
2. No task boundaries.
3. Online learning.
4. Forward transfer.
5. Backward transfer.
6. Problem agnostic.
7. Adaptive.
8. No test time oracle.
9. Task revisiting.
10. Graceful forgetting.

和continual learning相关的机器学习领域如图所示:包括 Multi Task Learning,Transfer Learning,Domain Adaptation,Learning to Learn (Meta Learning),Online Learning 和 Open World Learning 。

第三篇是“Class-incremental learning: survey and performance evaluation“,2020年10月28日。

incremental learning,即 递增学习, 是可取的,它避免新数据来时retrain from scratch的需要,是有效地利用资源;它防止或限制需要存储的数据量来减少内存用量,这一点在隐私限制时也很重要;它更接近人类的学习。

 

递增学习,通常也称为continual learning或lifelong learning,其主要挑战是 catastrophic forgetting ,即灾难遗忘,指学习新任务后先前学习任务的性能急剧下降。近年来,对深度神经网络的递增学习取得了爆炸性的增长。最初的工作集中于 task incremental learning ,推断时需要提供task-ID。最近,我们看到了向 class-incremental learning 的转变,learner在推理时必须对先前任务中看到的所有类进行分类,而不求助于task-ID。

 

该文对现有的递增学习方法进行了全面调查,尤其是对12种 类递增 方法进行了广泛的实验评估。作者考虑了几种实验方案,包括对多个大型数据集的类递增方法进行比较、对小型和大型domain shifts进行调查以及比较各种网络体系的结构等。

 

在大多数递增学习(IL)场景中,任务是按照一系列划定的训练课程(training sessions)呈现给学习者,在此期间只有单任务数据可用于学习。 在每次训练课程之后,学习者应该能够对未见的数据执行所有见过的任务。 这种学习模型的生物启发是因为它反映了人类如何获取和整合新知识:当面临要学习的新任务时,我们会利用以前的知识并将新学习的知识整合到以前的任务中。

 

与此形成鲜明对比的 有监督学习 ,所有任务的标记数据在深层网络的一次训练中可以一起使用。 递增学习者一次只能访问单个任务的数据,只能对所有到目前已经学习的任务进行评估。 递增学习的主要挑战是,从当前任务的数据中学习,同时防止忘记先前学习的任务。 微调方法有效地应用于domain transfer问题,但却因为以前任务缺少数据导致分类器无法完成分类,即灾难性遗忘问题。 递增学习旨在防止灾难性遗忘,同时避免 不妥协(intransigence) 问题,因为它会阻碍新任务的适应并忘记先前学习的任务。

 

另外,递增学习器比监督学习更好地优化计算资源。 在监督学习方法中,当新任务出现,最好的(通常是唯一的)选择是联合训练所有先前任务和这个新任务。 但是由于隐私考虑,在许多情况下先前任务的数据可能不可用。

 

在递增学习中,训练分为一系列任务,并且任何训练的学习者只能访问当前任务的数据(可选地,某些方法可以考虑少量来自先前任务的存储数据)。大多数早期的递增学习方法都考虑了任务递增学习(task-IL),算法可以在推理时访问task-ID。这样的方法不必区分来自不同任务的类。最近已经开始考虑类递增学习(class-IL),即学习者在推理时无法访问task-ID,因此必须能够区分所有任务的所有类。

 

该综述把这些方法分成三类:1) 基于正则化的解决方案 ,旨在最大程度地减少学习新任务对先前任务重要权重的影响;2) 基于示例的解决方案 ,存储有限的示例集以防止对先前任务的遗忘;3) 直接解决task-recency bias的解决方案 ,在类递增学习方法中,这是指对最近学习的任务偏差。

 

普通class-incremental learning的设置:incremental learning问题包括一系列任务,即

其中类C,数据D,任务t。而incremental learner是深度网络,参数 θ,输出o(x) = h(x; θ)是输出。根据下面输出,将一个神经网络分离成特征提取器f和分离器g:

网络预测

直到当前任务的所有类cross-entropy损失定义为

而属于当前任务的类cross-entropy损失定义为

在概念上,有效类递增学习的基本阻碍不复杂,但在实践中却很难克服。 挑战来自任务的串行训练,还有就是,在任何时候学习者必须对所有先前学习任务中的所有类别进行分类。 递增学习方法,必须在保留先前任务的知识与学习当前任务的新知识之间取得平衡,即着名的稳定性-可塑性难题(stability-plasticity dilemma)。 为防止灾难性遗忘,导致类递增学习的第二个重要问题,即前面提到的不妥协(intransigence)。

 

类递增学习者发生灾难性遗忘的原因有以下几种:

权重漂移(Weight drift) :在学习新任务时,将更新与旧任务相关的网络权重,以最大程度地减少新任务的损失。但是先前任务的性能会受到损害,通常会非常严重。
激励漂移(Activation drift) :与权重漂移密切相关,改变权重会导致激活变化,进而导致网络输出变化。
任务间混淆(Inter-task confusion) :在类递增学习,目标是将所有类与所有任务区分开。但是,由于永远不会共同训练类,网络权重无法最优区分所有类。
任务出现偏差(Task-recency bias) :单独学习的任务可能具有无可比拟的分类器输出。通常最主要的任务偏差是针对较新的任务类,confusion matrices可以清楚地观察到这种效果。

下面是考虑的类递增学习方法分类:

1) 增量式方法 :从非平稳分布中提取的数据流进行训练。
2) 任务可转移方法 :类递增学习者能够利用先前类的知识来改进新类的学习(前向迁移),并利用新数据来提高先前任务的性能(后向迁移)。
3) 任务不可知(Task-agnostic)方法 :递增学习者能够以任务不可知的方式从所有先前学习的任务中预测类。
4) 离线方法 :在训练课程中呈现满足i.i.d数据,可以在下一个任务之前进行多次处理。
5) 固定网络体系结构方法 :对所有任务使用固定体系结构,无需为新任务体系结构增加大量参数。
6) Tabula rasa方法 :递增学习者从头开始训练,不需在大标注数据集做预训练。
7) Mature方法 :适用于复杂图像分类问题。
8) 无范例方法 :不需要存储先前任务的图像数据,保护隐私(可选)。

解决前面灾难性遗忘这种挑战的方法分为三种:

 

 

    1. regularization based methods

 

    1. rehearsal-based methods

 

    1. bias-correction methods

 

 

正则化方法分为:权重正则化如Elastic Weight Consolidation(EWC)、Path Integral approach (PathInt)、Riemanian Walk (RWalk)和Memory Aware Synapses (MAS)、数据正则化如Learning without Forgetting (LwF)、还有Learning without Memorizing (LwM)和Domain Model Consolidation (DMC)等。

 

排练方法分为:Incremental Classifier and Representation Learning (iCaRL)、内存、采样、任务平衡、排练和正则化组合。

 

偏差矫正方法分为:Bias Correction (BiC)、End-to-End Incremental Learning (EEIL),Learning a Unified Classifier Incrementally via Rebalancing (LUCIR),Class-IL with dual memory (IL2M)。

 

如图是各种方法的关系:

实验的数据集如下表:

Baselines的精度如下表:

正则化方法比较如下表:

采样策略的比较:

网络架构的比较:

目前类递增学习新兴的趋势:

 

 

    1. Exemplar learning

 

    1. Feature rehearsal

 

    1. Explicit task classification

 

    1. Self- and unsupervised incremental learning

 

    1. Meta-learning

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注