Incremental learning

1. what is incremental learning?

incremental learning is a method of machine learning in which input data is continuously used to extend the existing model's knowledge i.e. to further train the model. It represents a dynamic technique of supervised learning and unsupervised learning that can be applied when training data becomes available gradually over time or its size is out of system memory limits. 

2. Why use incremental learning?

Catastrophic interference is an important issue to consider when creating connectionist models of memory.

Catastrophic interference, also known as catastrophic forgetting, is the tendency of an artificial neural network to completely and abruptly forget previously learned information upon learning new information.[1][2] 

Catastrophic forgetting refers to the tendency that a neural network “forgets” the previous learned knowledge upon learning new tasks.

造成灾难性遗忘的一个主要原因是「传统模型假设数据分布是固定或平稳的,训练样本是独立同分布的」,所以模型可以一遍又一遍地看到所有任务相同的数据,但当数据变为连续的数据流时,训练数据的分布就是非平稳的,模型从非平稳的数据分布中持续不断地获取知识时,新知识会干扰旧知识,从而导致模型性能的快速下降,甚至完全覆盖或遗忘以前学习到的旧知识。

为了克服灾难性遗忘,我们希望模型一方面必须表现出从新数据中整合新知识和提炼已有知识的能力(可塑性),另一方面又必须防止新输入对已有知识的显著干扰(稳定性)。这两个互相冲突的需求构成了所谓的「稳定性-可塑性困境(stability-plasticity dilemma)」

解决灾难性遗忘最简单粗暴的方案就是使用所有已知的数据重新训练网络参数,以适应数据分布随时间的变化。尽管从头训练模型的确完全解决了灾难性遗忘问题,但这种方法效率非常低,极大地阻碍了模型实时地学习新数据。而增量学习的主要目标就是在计算和存储资源有限的条件下,在稳定性-可塑性困境中寻找效用最大的平衡点。

3. How to achieve incremental learning?

waiting....

4. Applications

Mainly in computer image processing, object detection, and MLP. 

References:

  1. 增量学习(Incremental Learning)小综述

原文地址:https://www.cnblogs.com/dulun/p/14498245.html