类别增量学习(Class-Incremental Learning)的前世今生、开源工具包

类别增量学习(Class-Incremental Learning)的前世今生、开源工具包

一、什么是终身学习(Life-Long Machine Learning)?

终身机器学习(或称终身学习)是一种高级的机器学习范式, 它通过不断学习,从过去的任务当中积累知识,并用这些知识帮助未来的学习。 在这样的过程中,学习者的知识越来越丰富,学习效率也越来越高。 这种学习能力的特质是人类智力的重要标志。

然而, 当前主流的机器学习范式是孤立学习的:给定训练数据集, 算法直接通过该训练集来生成模型(从假设空间中搜索最优或近似最优的假设)。 它不会试图保留所学的知识,来提高未来的学习效率。 虽然这种孤立学习范式已经取得了很大的成功, 但它需要大量的训练实例,并且只适用于定义明确而且范围狭窄的极其有限任务。 相比之下, 我们人类则可以通过几个例子有效地学习, 这是因为我们在过去积累了如此多的知识。这种积累的先验知识使我们能够通过很少的数据或者付出较小的努力来高效地学习新的事物。 终身学习旨在使机器学习模型具备这种能力。

随着统计机器学习的逐渐成熟, 现在已经是时候打破孤立学习地传统模式,转而研究终身学习, 将机器学习推向崭新的高度。 智能助手、聊天机器人和物理机器人等应用也都在迫切地需要这种终身学习能力。 果没有积累所学知识并使用它来逐步学习更多知识的能力, 一个系统可能永远不会是真正的智能系统。[1]

Life Long Learning

近年来, 终身学习(LLL)在深度学习界引起了极大的关注, 它通常被称为持续学习(Continual Learning)。 虽然度神经网络(DNNs)在许多机器学习任务中取得了最好的性能, 但基于联结主义的深度学习算法存在着灾难性的遗忘的问题, 这使得实现持续学习的目标变得非常困难。当使用神经网络学习序列任务时, 模型在学习新的任务后可能因为灾难性遗忘的问题而导致模型在旧任务的表现变得很差。 然而,我们的人脑却有这种非凡的能力, 能够学习大量不同的任务, 而不会出现任何负面的相互干扰。 持续学习(Continual Learning)算法试图为神经网络实现同样的能力, 并解决灾难性的遗忘问题。 因此, 从本质上讲, 持续学习执行的是对新任务的增量学习(Incremental Learning)。

然而与许多其他Life Long Learning技术不同, 当前持续学习算法的重点并不是如何利用在以前任务中学到的知识来帮助更好地学习新任务。 而是重点在于解决灾难性遗忘的问题。

二、什么是灾难性的遗忘[2]

灾难性的遗忘指的是,模型学习了新的知识之后,几乎彻底遗忘掉之前训练的内容。

这样一个问题简言之,关注的是在Sequential Learning过程中,模型在每个学习阶段,都会接触到新的不同的数据或任务,而对于旧类数据失去或者仅有有限的访问权限。在这样的一个场景下,以神经网络为代表的联结主义模型在旧的任务上的性能会大大降低。

例如在传统的图像分类模型的训练过程中,我们同时在所有数据上进行训练 (尽管目前流行的优化方法都是以Batch的形式分批优化,但是每个epoch我们仍然会在所有数据上进行训练,相当于每个epoch都会对所有的数据进行温习)。但是在continual learning的情况下,学习的任务是分task依次训练的,当我们在新的task上进行训练时,旧的task中的训练数

参考

  1. ^Zhiyuan Chen; Bing Liu; Ronald Brachman; Peter Stone; Francesca Rossi, Lifelong Machine Learning: Second Edition , Morgan & Claypool, 2018. https://ieeexplore.ieee.org/document/8438617
  2. ^Catastrophic forgetting in connectionist networks https://www.sciencedirect.com/science/article/pii/S1364661399012942
编辑于 2023-05-14 00:38・IP 属地未知