This is the code for Cost-Free-Incremental-Learning which is accepted on ICLR 2022 Spotlight paper.
Looking Back on Learned Experiences For Class/task Incremental Learning
Existing methods in IL tackle catastrophic forgetting by either storing old data samples or only updating a parameter set of deep neural networks, which, however, demands a large memory budget or spoils the flexibility of models to learn the incremented task distribution. In this paper, we shed light on an on-call transfer set to provide past experiences whenever a new task arises in the data stream. In particular, we propose a CostFree Incremental Learning (CF-IL) not only to replay past experiences the model has learned but also to perform this in a cost free manner. Towards this end, we introduced a memory recovery paradigm in which we query the network to synthesize past exemplars whenever a new task emerges. Thus, our method needs no extra memory for data buffering or network growing, besides calls the proposed memory recovery paradigm to provide past exemplars, named a transfer set in order to mitigate catastrophically forgetting the former tasks in the Incremental Learning (IL) setup. Moreover, in contrast with recently proposed methods, the suggested paradigm does not desire a parallel architecture since it only relies on the learner network. Compared to the state-of-the-art data techniques without buffering past data samples, CF-IL demonstrates significantly better performance on the well-known datasets whether a task oracle is available in test time (Task-IL) or not (Class-IL).
To better understanding the MRP, we provide This Notebook
to visualize the process of recovering data from an arbitrary learner network. For the simplisity, we use one-hot vector instead of modeling the network output space using Dirichlet distribution. You can set target_class
to an arbitrary class id to see the recovered sample.
To generate recovered samples :
python run_MRP.py --dataset=[mnist, cifar10] --t_train=False --num_sample=4000 --batch_size=200
Recovered data for CIFAR-10 dataset and pretrained models are available here.
@inproceedings{pourkeshavarzi2021looking,
title={Looking Back on Learned Experiences For Class/task Incremental Learning},
author={PourKeshavarzi, Mozhgan and Zhao, Guoying and Sabokrou, Mohammad},
booktitle={International Conference on Learning Representations},
year={2021}
}
Our implementation references the codes in the following repositories: