本文转载自公众号“夕小瑶的卖萌屋”,专业带逛互联网算法圈的神操作
-----》我是传送门
关注后,回复以下口令:
回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读)
回复【入群】:加入卖萌屋深度学习/NLP/CV/搜广推等方向的技术交流与内推社群(大V、顶会审稿人云集)
回复【0511】:领取算法岗面试手册(刷offer神器)
回复【0424】:领取刷论文神器(挖掘每日、每月必刷重磅论文)
文 | 黄浴
源 | 知乎
这两年incremental/continual/lifelong learning已成为一个热点,下面介绍3篇该领域的综述论文。
小伙伴们可以在 【夕小瑶的卖萌屋】 订阅号后台回复关键词【1218】获取下述3篇综述论文PDF~
One
第一篇是“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 & 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(complementary learning systems)理论。
重要的是,大脑会做两项互补的任务:跨经验泛化和保留类似事件的特定记忆。所以本文介绍互补学习系统(CLS)理论,即有效提取感知事件的统计结构(泛化)同时保留情节记忆,即在特定时间和地点收集的经验。CLS理论定义了hippocampus和neocortex在学习和记忆方面的互补作用,它告诉人类认知系统中存在专门的机制来保护巩固的知识。hippocampal系统表现出短期适应性,并允许快速学习新信息;neocortex系统将新信息转移并整合做长期存储,其特点在于学习速度慢,做一般性学习。尽管如此,在某些情况下,灾难性遗忘仍然可能发生。
终身学习的神经生理学研究,刺激了机器学习和神经网络领域的研究。作者介绍并比较了解决灾难性遗忘的计算方法。最新的学习模型包括:i)调节synaptic可塑性的内在水平,以保护巩固的知识;ii)分配额外的神经资源来学习新信息,并且 iii)使用CLS进行记忆整合和体验重放。一方面,这些方法绝大多数旨在解决在有限标注数据集上的终身监督学习问题,并不扩展到更复杂的场景,如部分未标记序列。另一方面,无监督终身学习主要是采用自组织神经网络。
终身学习系统被定义为一种能够从连续信息流学习的自适应算法,随着时间的流逝这些信息逐渐变得可用,并且未定义要学习的任务量(例如,分类任务的会员资格类别) 。在连接主义(connectionist)模型,当要学习的新实例与先前观察的实例出现明显不同时,会发生灾难性遗忘。脱机学习时,由于智体反复看到相同的伪随机重排样本,可以弥补这种知识的损失,但是当数据是连续流而且无法重排时,这是不可能做到的。灾难性遗忘已被研究了二十多年,尤其是在反向传播(BP)学习的网络和Hopfield网络。
减轻灾难性遗忘的早期尝试,包括存储以前数据的存储系统,其定期重放那些与新数据抽取样本做交错的旧样本。而这些方法,至今仍在使用。但是,基于内存系统的一般缺点是它们需要显式地存储旧信息,从而增加大量的工作内存需求。此外,在固定神经资源的情况下,应设计专门的机制来保护合并的知识不被新信息的学习所覆盖。直觉上,可以通过分配额外的神经资源来极大地减轻灾难性的遗忘。但是,这样可能会导致规模化(scalability)问题,因为非常庞大的神经体系结构会使计算工作量大大增加。相反,由于终生学习无法事先知道任务量和每个任务的样本,预定义足够量的神经资源将变得很重要,因为这样的话,不知道输入分布就可以防止灾难性遗忘。在这种情况下,避免连接主义模型的灾难性遗忘有三个关键点:(i)为新知识分配额外的神经资源;(ii)如果资源固定,则使用非重叠的表示形式;(iii)把新信息和旧知识交织一起在表示中。
人类大量利用时空关系和感知输入的高阶关联来学习和触发行为反应。相反,人工学习系统通常是分批训练的,按(伪)随机顺序将相同训练样本送给学习算法做多次迭代。做固定量的训练epoch之后,学习算法可以调整其内部表示,并且可以预测和训练数据集有相似分布的新样本。显然,这种方法是有效的,但并未反映出终身学习任务的特点。从概念上讲,这些方法可以分为:1)重新训练整个网络同时进行正则化防止以前学过的任务造成灾难性遗忘,2)选择性训练网络并在必要时扩展以代表新网络,3) 为记忆整合建模互补学习系统,例如用内存重放来合并内部表示。
如图所示即终生学习的一些神经网络方法:a) 带正则化的retraining, b) network extension 和 c) 可能扩展的selective retraining。
正则化方法通过对神经权重的更新施加约束来减轻灾难性的遗忘。这些方法通常受到理论神经科学模型的启发,其模型表明,通过一个产生不同程度可塑性级联状态的突触(synapses),可以保护巩固的知识以免遗忘。从计算角度来看,实际是附加正则项建模,惩罚神经网络映射函数的变化。文章分析了learning without forgetting (LwF)、elastic weight consolidation (EWC) model、Ensemble方法的fixed expansion layer (FEL)。
Dynamic Architectures方法对新信息的响应是通过动态适应新的神经资源改变体系结构属性,例如增加神经元或网络层进行重新训练。
在CLS方法和内存重放方面,文中提到两个递增学习方法:(i)修改的自组织图(SOM)和(ii)扩展了短期记忆(STM)的SOM,记作GeppNet和GeppNet + STM。还有一个Gradient Episodic Memory(GEM)模型,该模型将知识积极转移到先前的任务中。GEM最小化灾难性遗忘的特点是一种情景记忆(episodic memory),存储给定任务中观察到的示例子集。一个evolvable Neural Turing Machine(ENTM),能够通过逐步分配附加外部存储组件来存储长期记忆。ENTM的配置可以执行新关联的one shot学习,减轻递增学习任务期间的灾难性遗忘。
尽管在采用结构化正则化或动态体系结构更新等学习方法的设计方面大家已取得了重大进展,但在终身/递增学习(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 & curriculum learning, transfer learning, curiosity & intrinsic motivation, crossmodal learning。
发展性学习(Developmental learning) 实时调节智体与环境的具体交互。与提供大量信息的计算模型相反,发展性智体基于其sensorimotor经验以自主方式获得越来越复杂的技能。因此,**分阶段发展(staged development),**对于以较少的辅导经验来提升认知能力,至关重要。主动推理模型旨在了解如何通过动作和感知的双边使用来选择在动态和不确定环境下最能暴露原因的数据。
有意义的方式组织示例,例如使学习任务难度逐渐变大,人和动物的学习性能会更好,即课程学习(curriculum learning)。这激发了机器人技术中的类似方法和关于课程学习影响学习绩效的新机器学习方法。一些数据集(例如MNIST)进行的实验表明,课程学习可作为无监督的预训练,提高泛化能力,并加快训练收敛速度。但是,课程学习的有效性对于任务进展方式非常敏感。课程策略可以看作是迁移学习的特例,在初始任务收集的知识用来指导复杂的学习过程。
迁移学习方法(见上图),前向迁移是指学习任务TA对未来任务TB性能的影响,而后向迁移是指当前任务TB对先前任务TA的影响。因此,假设同时学习多个学习任务以提高一项特定任务的性能,迁移学习代表了一种人工系统的重要功能,即从有限量的特定样本推断一般规律。迁移学习一直是机器学习和自主智体的一个开放的挑战。尽管说,通过编码个体、目标或场景元素不变关系信息的概念表示,抽象知识的迁移得以实现,但人们对大脑的特定神经机制调节高级迁移学习的了解却很少。零样本学习和单样本学习在新任务上表现出色,但不能防止灾难性遗忘。
Intrinsic Motivation的计算模型从人类婴幼儿选择目标并逐步掌握技能的方式中获得启发,以此定义终身学习框架的发展结构。内在动机的计算模型可以通过学习课程的在线(自)生成来收集数据并逐步获得技能。这允许通过主动控制复杂度的增长来有效和随机地选择学习任务。增强学习(reinforcement learning)的最新工作包括curiosity和Intrinsic Motivation,以解决奖励稀少或具有欺骗性的情况。在外部奖励非常稀疏的情况下,curiosity-driven exploration会提供内在的奖励信号,使智体能够自主地、逐步地学习日益复杂的任务。
整合多种感官信息的能力是大脑的关键特征,它与环境产生连贯、健壮和有效的交互作用。来自不同感官(例如视觉、音频和本体感知)的信息可以集成到多感官表示中,或用于增强单感官表示。
多感官处理(Multisensory Learning) 是交叉模式激励的物理特性、先验知识、期望(例如,学习的相关性)、协同(scaffolding)感知、认知和行为之间相互作用的结果。Multisensory Learning的过程在整个生命是动态的,会受到短期和长期变化的影响。它由外在和内在(exogenous & endogenous)因素的动态加权组成,这些因素决定了多模态如何相互影响。
形成采用越来越复杂高级特征(例如语义一致性)学习的感知表示之前,低级激励特征(例如,空间相近度和时间匹配度)是可用的。在开发过程中,带多感官整合的复杂感知机制,从基本的处理能力开始,基于sensorimotor经验逐渐向更复杂的认知功能发展。
Two
第二篇“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,即任务按顺序出现并由清晰的边界划定。本文主要工作包括
-
最新技术的分类和总结,
-
使一个continual learner连续地确定stability-plasticity 折衷的新框架,
-
对11种最先进的continual learning方法和4个baseline进行全面的实验比较。
考虑到Tiny Imagenet和大规模unbalanced数据集iNaturalist以及一系列识别任务的数据集,作者在三个基准上对各种方法的优缺点进行了经验检查,在模型容量、权重衰减和dropout正则化的影响、任务的顺序、所需的内存、计算时间和存储方面定性地进行比较。
主要的标准是学习过程的串行性质,一个/多个任务仅有一小部分输入数据可用。主要的挑战是学习时要避免catastrophic forgetting:随着新任务或领域的加入,先前学习的任务或领域其性能不应随时间显著下降。这是神经网络一个普遍问题造成的直接结果,即稳定性-可塑性难题(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 hyperparameters framework
解决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),其算法伪代码如图所示。
重放方法:
-
iCaRL是第一个重放方法,聚焦于类递增方式的学习。
-
GEM利用示例来解决约束优化问题,由先前的任务梯度概述将当前任务梯度投影在可行的区域中。
正则化方法:
-
Learning without Forgetting (LwF)通过知识蒸馏保留以前任务的知识。
-
Encoder Based Lifelong Learning (EBLL)推广LwF,保持以前任务的低维重要特征表示。
-
Elastic Weight Consolidation (EWC)在贝叶斯框架引入不确定性。
-
Synaptic Intelligence (SI) 打破了训练后在一个单独阶段确定新任务重要性权重的EWC方式。
-
Memory Aware Synapses (MAS)重新定义参数重要性测度为无监督设置。
-
Incremental Moment Matching (IMM)估计任务参数的高斯后验,与EWC相同,不同的是模型合并的使用上。
参数孤立方法:
-
PackNet通过构造二进制掩码,将参数子集迭代地分配给连续任务。为此,新任务建立了两个训练阶段。允许显式分配每个任务的网络容量,固有地限制了任务总数。
-
HAT仅需要一个训练阶段,为attention masking采用任务特定嵌入方式。
关于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的设置应该包括:
-
Constant memory.
-
No task boundaries.
-
Online learning.
-
Forward transfer.
-
Backward transfer.
-
Problem agnostic.
-
Adaptive.
-
No test time oracle.
-
Task revisiting.
-
Graceful forgetting.
和continual learning相关的机器学习领域如图所示:包括
-
Multi Task Learning
-
Transfer Learning
-
Domain Adaptation(part of Transfer Learning)
-
Learning to Learn (Meta Learning)
-
Online Learning(i.i.d data)
-
Open World Learning(subset of continual learning)。
Three
第三篇是“Class-incremental learning: survey and performance evaluation“,2020年10月28日发表:
incremental learning,即递增学习, 是可取的,1)它避免新数据来时retrain from scratch的需要,是有效地利用资源;2)它防止或限制需要存储的数据量来减少内存用量,这一点在隐私限制时也很重要;3)它更接近人类的学习。
递增学习,通常也称为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)无范例方法:不需要存储先前任务的图像数据,保护隐私(可选)。
解决前面灾难性遗忘这种挑战的方法分为三种:
-
regularization based methods
-
rehearsal-based methods
-
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的精度如下表:
正则化方法比较如下表:
采样策略的比较:
网络架构的比较:
目前类递增学习新兴的趋势:
-
Exemplar learning 对样本进行参数设置并优化以防止遗忘。
-
Feature rehearsal 执行特征重放而不是图像重放,其中训练一个生成器在网络某个隐藏层生成特征。这样,不想pseudo rehearsal那样,排练方法也可以应用于复杂的数据集。
-
Explicit task classification 在每个任务上学习一个classifier head,其只能区分任务内的类,而另一个分类器则预测task label。尚不清楚,为什么以及什么时候,显式任务分类优于一个联合分类器的学习。
-
Self- and unsupervised incremental learning 有一种方法,可以执行明确的任务分类并采用高斯混合模型拟合学习的表示。
-
Meta-learning 在解决相关任务时积累的信息用来学习新任务。这种方法可以学习那些能减少未来梯度干扰并基于此改善传递的参数。
作者最后得到的一些结论:
-
比较无样本方法,LwF获得最佳结果。其他正则化方法,与权重正则化(EWC和MAS)相比,数据正则化(LwM)获得了更好的结果。无样本方法目前无法与样本排练方法竞争,并且由于操作环境原因将它们分开进行比较。
-
LwF与样本组合时,结果表明增加的正则化不能改善结果,示例微调的baseline方法效果更好。但是,使用LwM数据正则化确实比baseline性能更好。
-
在几种情况下,权重正则化明显优于baseline的FT-E,这表明应该重新考虑使用LwF进行数据正则化,而不是权重正则化。
-
对于较大的任务序列,Herding是一种比随机抽样更鲁棒的样本采样方法,但对于短序列它并不优于其他方法。
-
明确解决task-recency bias的方法可以获得更好的性能。
-
当前方法主要在具有小domain shifts的数据集给出结果。对大domain shifts,没有一种方法会明显优于baselineFT-E。对于任务递增学习,已经考虑了大domain shifts,但结果表明,仍然需要新的技术才能在类递增学习设置中获得令人满意的结果。
-
大多数类递增学习方法对体系结构敏感,并且排名根据所使用的网络而变化。
本文转载自公众号“夕小瑶的卖萌屋”,专业带逛互联网算法圈的神操作
-----》我是传送门
关注后,回复以下口令:
回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读)
回复【入群】:加入卖萌屋深度学习/NLP/CV/搜广推等方向的技术交流与内推社群(大V、顶会审稿人云集)
回复【0511】:领取算法岗面试手册(刷offer神器)
回复【0424】:领取刷论文神器(挖掘每日、每月必刷重磅论文)
后台回复关键词【入群】
加入卖萌屋NLP/IR/Rec与求职讨论群
后台回复关键词【顶会】
获取ACL、CIKM等各大顶会论文集!