第47卷第5期
2021年5月
北京工业大学学报
JOURNAL OF BEIJING UNIVERSITY OF TECHNOLOGY
Vol.47No.5
May 2021
神经网络模型中灾难性遗忘研究的综述
韩纪东1,李玉鑑1,2
(1.北京工业大学信息学部,北京 100124;2.桂林电子科技大学人工智能学院,广西桂林 541004)摘 要:近年来,神经网络模型在图像分割㊁目标识别㊁自然语言处理等诸多领域都取得了巨大的成功.但是,神经网络模型仍有很多关键性的问题尚未得到解决,其中就包括灾难性遗忘问题.人类在学习新知识后不会对旧知识发生灾难性遗忘,神经网络模型则与之相反.神经网络模型在适应新任务之后,几乎完全忘记之前
学习过的任务.为了解决这一问题,很多相应的减缓神经网络模型灾难性遗忘的方法被提出.对这些方法进行了归纳总结,以促进对该问题的进一步研究.主要贡献包括3个方面:对现有的减缓神经网络模型灾难性遗忘的方法进行了详细的介绍,并将不同方法分为4类,即基于样本的方法㊁基于模型参数的方法㊁基于知识蒸馏的方法和其他方法.介绍了不同的评估方案,以评估不同方法对减缓神经网络模型灾难性遗忘的效果.对神经网络模型中的灾难性遗忘问题进行了开放性的讨论,并给出了一些研究建议.
关键词:神经网络模型;灾难性遗忘;样例;模型参数;知识蒸馏;增量学习中图分类号:TP 389.1
文献标志码:A
文章编号:0254-0037(2021)05-0551-14
doi :10.11936/bjutxb2020120014
收稿日期:2020⁃12⁃21
基金项目:国家自然科学基金资助项目(61876010)
作者简介:韩纪东(1992 ),男,博士研究生,主要从事深度学习和计算机视觉方面的研究,E⁃mail:hanjd@emails.bjut.edu
通信作者:李玉鑑(1968 ),男,教授,博士生导师,主要从事模式识别与图像处理㊁机器学习与数据挖掘㊁人工智能与自然
语言处理方面的研究,E⁃mail:liyujian@guet.edu Survey of Catastrophic Forgetting Research in Neural Network Models
HAN Jidong 1,LI Yujian 1,2
(1.Faculty of Information Technology,Beijing University of Technology,Beijing 100124,China;
2.School of Artificial Intelligence,Guilin University of Electronic Technology,Guilin 541004,Guangxi,China)
Abstract :In recent years,neural network models have achieved great success in some fields,such as image segmentation,object detection,natural language processing (NLP),and so on.However,many key problems of neural network models have not been solved,for example,catastrophic forgetting.
Human beings have the ability of continuous learning without catastrophic forgetting,but neural network models do not.Neural network models almost completely forget the previously learned tasks when it adapts to the new task.To solve this problem,many methods have been proposed.This paper s
ummarized these methods to promote further research on this issue.The existing methods of mitigating
catastrophic forgetting of neural network models were introduced in detail,and all methods were divided into four categories,namely exemplar⁃based methods,parameter⁃based methods,distillation⁃based methods and other methods.Different evaluation schemes were introduced to evaluate the effect of
different methods on alleviating catastrophic forgetting of neural network models.An open discussion on the catastrophic forgetting problem in neural network models was carried out,and some research suggestions were given.
北 京 工 业 大 学 学 报2021年Key words:neural network models;catastrophic forgetting;exemplar;model parameters;knowledge distillation;incremental learning
  近年来,神经网络模型在很多方面已经远远超过人类大脑,如在围棋领域AlphaGo战胜人类顶尖高手[1⁃2],在大规模视觉比赛ImageNet中表现出更强的图像识别能力[3⁃4],在电子游戏中战胜专业顶级游戏玩家[5⁃6].注意,本文中的神经网络泛指所有的神经网络.这不仅使得神经网络模型受到广泛的关注,还极大地促进了神经网络模型的进一步发展,使得神经网络模型在更多领域取得了更加不凡的成就,如图
像分割[7⁃10]㊁目标检测[11⁃13]㊁自然语言处理[14⁃17]㊁姿态估计[18⁃21]等.神经网络模型的快速发展,并没有使其克服所有缺陷.神经网络模型依然有很多不足,如灾难性遗忘㊁广受争议的黑箱子操作等,但是瑕不掩瑜,神经网络在很多方面的惊艳表现使它依然备受学者们的青睐.
一个显而易见的事实是,人类在学习新知识后不会对旧知识发生灾难性遗忘,而这既是神经网络模型的一个重大缺陷,也是它的一个遗憾.该问题在很久之前就已经引起了学者们的注意.20世纪八九十年代,连接网络时期,Carpenter等[22]已经提到了神经网络模型中的灾难性遗忘问题,并且用了一个形象的比喻来说明,一个出生在波士顿的人搬到洛杉矶,他再回到波士顿时,仍然不会忘记他在波士顿的一切;也即他在洛杉矶学会新知识后,仍然会记得之前在波士顿的旧知识,而不会发生灾难性遗忘;McCloskey等[23]描述了神经网络在序列学习中遇到的灾难性遗忘问题,在文中称该问题为灾难性干扰(catastrophic interference).注意:当时,神经网络常被称为连接网络.当时,有很多学者提出了相关的方案试图解决该问题,如有学者认为灾难性遗忘是由于存储在神经网络内部表征重叠造成的,因此使用稀疏向量㊁输入正交编码等方法来避免神经网络模型中的灾难性遗忘[24⁃25];有学者使用双网络来解决神经网络模型中的灾难性遗忘[26⁃27];也有学者使用伪训练数据预演的方法来减少神经网络模型中的灾难性遗忘[28].
现在,神经网络模型的参数量已经达到十几亿[16]㊁几百亿[29],甚至一千多亿[17,30];但是神经网络模型中的灾难性遗忘问题依然广泛存在,如卷积神经网络(convolutional neural networks,CNN)[31⁃32]㊁长短期记忆网络(long short⁃term memory,LSTM)[33]㊁生成对抗网络(generative adversarial network,GAN)
[34⁃35]等.这是由于同20世纪相比,神经网络模型的思想
变化并不大,变化最大的是训练神经网络模型所使用
的硬件设备及所使用的数据量.目前,神经网络模型
依然使用反向传播算法进行反复迭代优化,直到损失
函数的值收敛,具体的优化策略可能更丰富了,如自
适应梯度法(adaptive gradient,AdaGrad)[36]㊁AdaDelta[37]㊁RMSprop[38]㊁自适应矩估计(adaptive moment estimation,Adam)[39]等.为了克服神经网络模型中的灾难性遗忘问题,最近,很多学者提出了他
们的解决方案.如Rebuffi等[40]提出iCaRL方法,该方法选择性地存储之前任务的样本;Sarwar等[41]提出基于部分网络共享的方法,该方法使用 克隆-分支”技术;Li等[42]提出LwF方法,该方法主要以知识蒸馏的方式保留之前任务的知识;Zeng等[43]提出使用正交权重修改结合情景模块依赖的方法;von Oswald等[44]提出任务条件超网络,该网络表现出了保留之前任务记忆的能力;Li等[45]结合神经结构优化和参数微调提出一种高效简单的架构.也有学者研究了神经网络中的训练方法㊁激活函数及序列学习任务之间的关系怎样影响神经网络中的灾难性遗忘的问题,如Goodfellow等[46]就发现dropout方法在适应新任务和记
住旧任务中表现最好,激活函数的选择受两任务之间关系的影响比较大.
目前对神经网络模型中灾难性遗忘的研究主要
是增量学习(incremental learning),在很多情况下,
也被称为持续学习(continous learning)或终身学习(lifelong learning)等.这里如没有特别说明统一称为增量学习,但是有时为与原论文保持一致也可能使用持续学习或终身学习.还有一些其他神经网络模型方法对灾难性遗忘问题的研究非常有意义且与增量学习有一定的交叉,如多任务学习(multi⁃task learning)㊁迁移学习(transfer learning).多任务学习是同时学习多个任务,利用不同任务的互补,相互促进对方的学习[47];迁移学习主要是将之前学习的知识迁移到新任务上[48],但是这种学习方式不关心学习到新知识后是否发生灾难性遗忘,也即该方法主要的关注点是怎样将之前任务上的知识迁移到新任务上.多任务学习㊁迁移学习和增量学习如图1所示.图1(a)表示多任务学习的一个实例,model a和
255
 第5期韩纪东,等:神经网络模型中灾难性遗忘研究的综述
model b分别针对task A㊁task B,涵盖2个模型的蓝背景代表model a和model b在同时训练2个任务时的某种联系,如共享神经网络的前几层等;图1(b)表示迁移学习,model1表示已经使用任务task A的数据
训练好的模型,model2表示针对任务task B的模型且尚未被训练,迁移学习就是将model1的知识迁移到model2;图1(c)表示增量学习,在t时刻, model I学习任务task A,在t+1时刻model I学习任
务task B,增量学习要求model I在学习过task B后不能忘记task A .
图1 多任务学习㊁迁移学习和增量学习Fig.1 Multi⁃task learning,transfer learning and incremental learning
  显然,神经网络模型中的灾难性遗忘问题已经成为阻碍人工智能发展的绊脚石,该问题的解决无疑将是人工智能发展史上的一个重要里程碑.为促进该问题的早日解决,本文对神经网络模型中灾难性遗忘问题的相关研究做了一个综述.该综述的主要目的是为了总结之前在这方面的研究和对该问题提出一些研究建议.
1摇相关工作
之前的连接网络模型中,French[49]对连接网络的灾难性遗忘的问题做了一个综述.该文献不仅详细地分析了造成连接神经网络灾难性遗忘的原因,而且介绍了多种解决连接神经网络灾难性遗忘问题的方案.该作者最后指出解决神经网络的灾难性遗忘问题需要2个单独的相互作用的单元,一个用于处理新信息,另一个用于存储先前学习的信息.但是该文献作者分析的是早期的神经网络模型,随着神经网络技术的快速
发展,现在的神经网络模型与连接神经网络模型在神经网络的结构㊁深度以及优化策略,甚至是训练神经网络模型的数据量等方面都有很大不同.
最近,为了总结对神经网络模型中灾难性遗忘的研究,也有部分学者做了一些综述性研究.de Lange等[50]对持续学习中的图像分类任务做了一个对比性研究,首先对持续学习的方法进行了综合的介绍,如介绍很多持续学习的方法,将各种持续学习的方法进行了总结并归为基于回放的方法㊁基于正则化的方法和基于参数隔离的方法;其次,为了公正地对比不同持续学习方法的效果,还提出了一种对比性研究持续学习性能的框架.Lesort等[51]综合性地研究了机器人中的增量学习.Parisi等[52]对基于神经网络的持续性终身学习做了一个综述,首先对生物的终身学习做了详细的介绍,如人类怎样解决弹性-稳定性困境㊁赫布弹性稳定性㊁大脑互补的学习系统,这是该综述与其他类似综述最大的不同;然后,分析了神经网络模型中的终身学习方法,并将其分为:正则化方法㊁动态架构方法和互补学习系统及记忆回放.Belouadah等[53]对视觉任务的类增量学习做了一个综合性研究,提出了增量学习的6个通用属性,即复杂度㊁内存㊁准确率㊁及时性㊁弹性和伸缩性,并将增量学习的方法分为基于微调的方法和基于固定表征的增量学习方法.Masana等[54]提出了类增量学习所面临的挑战,即权重偏移㊁激活值偏移㊁任务间混淆和新旧任务失衡,并将类增量学习分为3类,基于正则化的方法㊁基于预演的方法和基于偏置-校正的方法.文献[50⁃54]虽然都对神经网络中的克服灾难性遗忘的方法做了综述性研究,但是它们均有一定的局限性,如文献
[50]仅介绍了持续学习中关于图像分类的方法,且用来对比不同持续学习方法性能的框架也是针对图像分类任务的,文献[51]仅研究了针对机器人的增量学习.另外,文献[50⁃54]都没有涉及生成对抗模型或强化学习克服灾难性遗忘方法的介绍.
355
北 京 工 业 大 学 学 报2021年
2 减缓灾难性遗忘问题的方法
针对神经网络模型中的灾难性遗忘问题,相关学者提出了很多解决方法.尽管相关文献大都声称提出的方法可以克服灾难性遗忘的问题,但实际上仅是不同程度地减缓神经网络模型中的灾难性遗忘问题,为了表述的严谨,本章的标题为减缓灾难性遗忘问题的方法.由第1节的内容可以看出,不同的综述文献依据不同的规则,对减缓灾难性遗忘问题方法的分类并不相同,本节将减缓灾难性遗忘问题的方法分为4类,即基于样本的方法㊁基于模型参数的方法㊁基于知识蒸馏的方法和其他方法.
为方便下文的叙述,这里对下文中的符号进行统一,符号及其含义具体如表1所示.
表1 符号及其含义
Table1 Symbols and definition
符号含义
Task pre已经被神经网络模型学习过的任务的集合,等价于{T1pre,T2pre, ,T n pre} Tdata pre Task pre相对应的各任务样本的集合,等价于{T d1pre,T d2pre, ,T d n pre} Tdata select由Tdata pre中抽取的部分样本的集合,等价于{T d1select,T d2select, ,T d n select} Task new将要被神经网络模型学习的新任务的集合,等价于{T1new,T2new, ,T p new} Tdata new Task new相对应的各新任务样本的集合,等价于{T d1new,T d2new, ,T d p new} Class pre已经被神经网络模型学习过的类的集合,等价于{C1pre,C2pre, ,C n pre} Cdata pre Class pre相对应的各类的样本的集合,等价于{C d1pre,C d2pre, ,C d n pre} Cdata select由Cdata pre中抽取的部分样本,等价于{C d1select,C d2select, ,C d n select} Class new将要被神经网络模型学习的新类的集合,等价于{C1new,C2new, ,C p new} Cdata new Class new相对应的各新类的样本的集合,等价于{C d1new,C d2new, ,C d p new}Θs神经网络模型的共享参数
ΘT
i
神经网络模型针对任务T i的特定参数
Θ神经网络模型的全部参数
Model pre添加新任务或新类之前的神经网络模型
Model target添加新任务或新类之后的神经网络模型
  考虑到很多被提出的减缓灾难性遗忘的方法将
共享参数Θs模块与特定任务参数ΘT
i
模块分开,这里有必要进行提前说明.以卷积神经网络的图像分类任务为例,如图2所示,淡红方框的参数共享模块是指卷积神经网络中的前几层,这几层被认为提取图像的通用特征;浅绿方框的特定任务模块是网络的分支,每个网络分支分别对应一个固定的任务T i pre,且仅用于任务T i pre的图像分类;浅蓝方框的特定任务模块是为新任务添加的新网络分支,该模块用于新任务的图像分类.这样划分是由于文献[55]已经指出卷积神经网络的前面几层学习的是不同任务所共享的通用知识,而之后的几层学习每个任务所专有的知识.
注意,由于增加新任务与增加新类非常相似,在下文中不做特别区分,均使用增加新任务表示
;
图2 参数共享模块和特定任务模块
Fig.2 Parameter sharing module and task⁃specific
module
有些时候为与原论文表述一致,也会使用增加新类表示.
455
 第5期韩纪东,等:神经网络模型中灾难性遗忘研究的综述
2.1 基于样本的方法
本文将直接或间接地用到Tdata pre样本集中数据的方法称为基于样本的方法.直接使用即为使用额外的内存存储Tdata pre样本集中的部分数据
Tdata select,在学习新任务时,将Tdata select与Tdata new混合,最后使用混合后的数据训练Model target.间接使用主要指生成伪数据或保存Tdata pre的特征,然后使用它们与Tdata new或Tdata new的特征混合训练Model target.在文献[50,52]中也将该方法称为回放.注意:有些方法中虽然用到了Tdata pre中的部分样本数据,考虑到论文作者在克服灾难性遗忘中的主要思想是使用其他方法,因此这部分方法并没有被认为是基于样本的方法.
2.1.1 直接使用样本的方法
Guo等[56]为解决增量学习中的灾难性遗忘问题,提出了支持样本表征的增量学习(exemplar⁃supported representation for incremental learning, ESRIL)方法.ESRIL包括3个部分:1)记忆感知突触(memory aware synapses,MAS)模块,该模块使用ImageNet数据集预训练的深度卷积神经网络(deep convolutional neural network,DCNN),是为了维持用之前任务Task pre数据集训练的特征;2)基于样例的字空间聚类(exemplar⁃based subspace clustering, ESC)模块,该模块是为了提取每个任务中的样本;
3)多质心最近类(the nearest class multiple centroids,NCMC)模块,该模块作为一个辅助分类器,当增加的新类数据与ImageNet数据很相似时,使用该分类器替代MAS中全连接层,减少训练时间.ESRIL的关键是每类数据中代表样本的选择, Guo等采用文献[57]中的方法进行样本的选择,通过迭代的方式不断优化
fη(z j,Z k new)=min h j∈R(N‖h j‖1+η2z j-∑z j∈Z k new h ij z i)22
(1)式中:z j表示样本x j∈Cd k new被DCNN提取的特征; Z k new是X k new样本集的特征集合;η为一个超参数;N 为C d k new样本的数量;h j=[h1j,h2j, ,h Nj]T,为子空间保持的稀疏形式[57].
Belouadah等[58]提出了一种基于双内存的增量学习方法,称为IL2M.与普通基于样本的方法不同,该方
法使用2个记忆模块:1)第1个记忆模块存储之前任务Task pre的部分样本Tdata select;2)记忆模块存储之前任务Task pre每类样本初次学习时的统计量.存储之前任务Task pre部分样本Tdata select的目的非常简单,是为了与新任务Task new的数据混合,然后作为更新网络的训练数据;存储每类样本初次
神经网络中正则化是为了干什么
学习时的统计量,是由于初次训练时,该类样本的数据最全,相应地统计量也最准确;该统计量的作用是为了矫正更新网络时由于数据失衡(新任务Task new 的数据多,而之前任务Task pre的数据少)所造成的偏差.
Isele等[59]提出了一种选择性存储所有任务样本的方法,避免强化学习的灾难性遗忘.该方法包括长时存储模块和短时存储模块.长时存储模块称为情景记忆,存储的样本基于样本的等级(使用排序函数对样本排序).短时记忆模块是一个先进先出(first⁃in⁃first⁃out,FIFO)区,该部分不断刷新,以确保网络能接触到所有的输入数据.
2.1.2 间接使用样本的方法
Hayes等[60]提出了一种别样的基于样本的模型,该模型称为使用记忆索引的回放(replay using memory indexing,REMIND).REMIND模型并不存储之前任务Task pre的原始样本,而是存储样本的特征.REMIND模型将样本的特征经过量化后给予索引号并存储,增加新任务Task new时,将随机抽取r个存储的特征进行回放.
Atkinson等[61]提出了RePR(reinforcement⁃Pseudo⁃Rehearsal)模型.RePR模型使用伪数据-预演的方式避免神经网络中的灾难性遗忘.RePR包括短时记忆(short⁃term memory,STM)和长时记忆模块(long⁃term memory,LTM).STM模块使用当前任务Task new的数据Tdata new训练针对当前任务的深度强化网络(deep Q⁃networks,DQNs);LTM模块包括拥有之前所有任务Task pre的知识和能生成之前所有任务伪数据的GAN.结合迁移学习,将DQNs的知识迁移到Model pre中;在知识迁移的过程中,真实的数据使得Model target学习到新知识,GAN生成的伪数据维持Model pre中之前任务的知识. Atkinson等[62]和Shin等[63]均使用中GAN生成相应的伪数据.Atkinson等[62]使用GAN生成伪图像代替随机生成的伪图像,因为随机生成的伪图像明显不同于自然的图像,这将导致网络能学习到很少的之前任务的知识.当训练第T1任务时,GAN 被训练T1的数据集D T1,增加了T2任务后,GAN被训练使用T2的数据集D T2;增加了T3任务后,该方法显然就出现了问题,前一步中,GAN仅使用数据
集D T
2,意味着GAN生成的伪数据也是T2的伪数
555

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。