赞
踩
说明:本系列文章若无特别说明,则在技术上将 Continual Learning(连续学习)等同于 Incremental Learning(增量学习)、Lifelong Learning(终身学习),关于 Continual Learning、Incremental Learning 和 Lifelong Learning 更细节的区别参见 VALSE Seminar【20211215 - 深度连续学习】
本文内容:
- 连续学习的问题背景,研究意义
- 连续学习研究中的关键技术挑战
关于连续学习的英文名称,有以下比较常见的叫法(从搜集的相关论文题目来看,前两种出现的频率最高):
机器学习 / 深度学习:机器学习/深度学习虽然在很多单项任务上取得了相当或超过人类水平的成绩,但这些模型都是为固定的任务所设计,无法动态地根据环境而更新。它们需要有一个预先准备好的数据集,在模型训练之前,先随机打乱数据,使训练数据的数据分布近似为独立同分布(IID.),然后在有限的时间内一次性完成模型的训练。机器学习/深度学习这种学习方式属于 batch learning mode。
人类学习方式:相反,人类的学习是一个逐渐的过程,并且人几乎终生都在接受新的信息并学习。新知识的学习通常能从已有经验中获益,同时也能补充已有的知识(比如大学学习的线性代数能够帮助我们学习机器学习,学习机器学习也能加深对线性代数本质的理解)。人类大脑这种学习方式属于 continual learning mode。但是在真实世界里,要学什么任务,任务中会有哪些数据是无法一次性得到的,我们也无法预测未来会有怎样的任务和数据,因此无法用常规手段将训练数据变成独立同分布的。也就是说,在时间轴上,每个任务的数据都是非独立同分布的(Non-IID.)。
Batch learning mode 最大的劣势就是无法在动态环境中学习,但 Continual learning mode 则是智能系统普遍具备的特性。因此,研究连续学习就是为了让深度学习模型能够像人一样进行学习,即模型在连续序列任务上学习的能力,该序列中的新任务通常与旧任务相关联。连续学习是一个模型适应快速变化的现实情景的关键,对于实现真正的人工智能十分重要。
Q:传统深度学习模型要实现连续学习的难点在哪?
- 深度学习模型需要根据训练数据一次性完成训练的特性,就意味着每当有来自新的分布的数据时,模型都需要在整个历史数据加新的数据这个混合数据集上重新训练。显然,在持续变化的现实情境中,不论从资源成本还是从数据可见性角度考虑,都是不现实的。从资源成本看,每到来一个新任务,就要把之前所有任务的数据加进来从头训练,浪费时间和计算成本;从数据可见性角度看,很多数据有隐私保护或者在访问时间上有限制,而且存储资源限制,我们无法要求所有数据对我们都一直保持可见。
- 如果不考虑历史数据,只在新数据上进行训练,的确能节约时间和资源成本,但这样就会发生连续学习的最大问题:“灾难性遗忘”(Catastrophic Forgetting),灾难性遗忘的意思是说,模型学习了新任务以后,对旧任务的表现严重下降。
Q:为什么要模型学习多种任务,按照传统的深度学习方式:一个模型做一个特定的任务,有什么问题?
- 对于一类任务,随着源源不断的新数据的到来,模型应能够不断提高自己的“能力”。举个例子:任意品种的猫和狗的分类,假如模型在一个已有的猫狗分类数据集上完成了学习,但这个数据集里没有虹猫蓝兔七侠传里的虹猫!未来我们获得了一些虹猫的数据,我们希望模型能直接学习辨认虹猫是猫,而不是要将他再次加入猫狗数据集中进行重新训练。
- 对于多类但相关的任务,模型应能够进行知识的“融会贯通”,即旧能力能帮助新知识的学习,新知识也能提高旧能力。举个例子:线性代数和机器学习,如果用两个模型分别进行学习,虽然没有了灾难性遗忘问题,但也无法实现 knowledge 的 transfer,即两个模型无法进行知识互通。实际情况是,线性代数能够帮助对机器学习的学习,机器学习也能提升对线性代数的理解。
对比传统深度学习和连续学习,连续学习具有以下优势:
连续学习的研究意义:
连续学习相关研究领域:
研究连续学习所面临的重要挑战(参考 life long learning-终身学习):
Catastrophic Forgetting 1 2:灾难性遗忘问题是指模型学习新任务后忘记旧任务。解决灾难性遗忘问题就是要模型在学习新知识的同时,还要保持在旧任务上的表现。
摘论文中对灾难性遗忘的描述:This means the performance of the model on previously learned categories often decreases sharply after the model parameters are updated from the data of the new category.
这里必须提一下深度学习模型所面临的一个基本问题:stability-plasticity dilemma
- plasticity 意为“可塑性”,指模型融合新知识的能力
- stability 意为“稳定性”,指模型在学习新知识的同时保持旧知识的能力
连续学习相关工作基本上都在解决同一个问题:stability-plasticity dilemma(requires the neural networks to prevent forgetting previously learned knowledge, while maintaining the capability of learning new knowledge)
Catastrophic Forgetting 的原因主要有两点:
- 基于 Gradient Descent fine-tune 的网络模型会朝着当前训练数据最优解的方向更新,因此在面临动态的增量式任务时,会导致模型对旧任务性能的迅速下降
- 出于标注成本,新数据集中往往仅有对 new classes 的标注,而将 old classes 作为背景类,因此直接根据新数据集更新模型会导致对 old classes 的性能下降
再啰嗦一下,batch learning mode 学习方式会打乱训练数据,使得数据分布近似为独立同分布(IID.),而现实环境中未来的任务和数据是无法预测的,在时间轴上每个任务的数据其实是非独立同分布(Non-IID.)的。连续学习本质上属于 Sequential Learning。在 Sequential Learning 中,没有多余的内存存储旧数据,且未来的数据是未知的,因此难以用类似的策略将数据集转化为 IID.。若仍采取原有的训练策略,新数据就会对模型造成干扰,便会发生灾难性遗忘问题。
Q:为什么说连续学习环境下,模型的遗忘是“灾难性”的?
- 关于模型的遗忘问题,我们可以有两种假设(先说结论,是第二种情况):
- 假设一:模型能力有限,只能学习这么多,不可避免地出现了遗忘
- 假设二:模型能学多种任务,但不知什么原因把旧任务都忘记了
- 有相关论文做了实验,假设有 5 个任务,相同结构的模型
- 实验一:直接把 5 个任务的数据混合起来,让模型进行 multi-task learning
- 实验二:让模型在 5 个任务上进行连续学习
- 实验结果是,进行 multi-task learning 的模型在 5 个任务上的表现虽然参差,但都学到了一些东西;而进行连续学习的模型只能在当前学习的任务上表现良好,对旧任务的表现极差。这个实验说明模型的 capacity 是够的,但却遗忘了旧知识,这种遗忘方式和人类不同,属于 “是不为也,非不能也”,因此说这种不正常的遗忘是 “灾难性的”。
P.S. Multi-task Learning 实际上是 Continual Learning 算法性能的上限(upperbound),这也是为什么很多论文都用 Multi-task Learning 的结果和连续学习模型结果进行比较的原因。
Knowledge Retention but NOT Intransigence:Knowledge Retention 意思是 “保留知识”,Intransigence 意思是 “固执的”,Knowledge Retention but NOT Intransigence 的意思就是让模型学过的知识保留下来(解决灾难性遗忘问题),但不能因此就拒绝接受新的知识,也就保留旧知识的同时有效学习新的知识。
P.S. 这个问题和 Catastrophic Forgetting 实际上属于一个问题,只是阐述的角度不同罢了。
Knowledge Transfer:不同任务间 knowledge 的 transfer,就是上面提到过的 “融会贯通”。新任务的学习不仅能从旧知识中获益,同时还能提高模型对旧任务的表现。
Knowledge Transfer 包含了两个要求:
- 知识的正向迁移:模型能够利用旧知识帮助新任务的学习,提高新任务的学习效率和质量
- 知识的反向迁移:模型学习新任务后,对旧任务的表现也能有所提升
Knowledge Transfer 和 Transfer Learning(迁移学习)的区别:
- Transfer Learning 不是连续的,它仅使用源域来帮助完成目标域的学习
- Transfer Learning 仅关注单向迁移能力,也就是我们仅关注对目标域的迁移效果,至于目标域的学习是否会提高在源域的效果我们并不care,而连续学习中的 Knowledge Transfer 则关注双向迁移能力
- Transfer Learning 假设源域和目标域非常相似,而 Continual Learning 没有这样的限制性假设
解决 Catastrophic Forgetting 的前提是模型有能力学但没有学,属于 “是不为也,非不能也”。现在假设任务真的非常多,模型的 capacity 确实不够了,我们就要考虑扩大模型。
Model Expansion but Parameter Efficiency:模型的可伸缩性或扩展能力,指的是模型能够动态地伸缩实现小规模或大规模任务的学习。特别是模型的扩展,需要在参数高效的情况下进行扩展,即找到一种最优的扩展方案。
McCloskey, Michael, and Neal J. Cohen. “Catastrophic interference in connectionist networks: The sequential learning problem.” Psychology of learning and motivation. Vol. 24. Academic Press, 1989. 109-165. ↩︎
French, Robert M. “Catastrophic forgetting in connectionist networks.” Trends in cognitive sciences 3.4 (1999): 128-135. ↩︎
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。