As a beginner on class incremental learning and trying to understand the general concept. In class incremental learning, we have a model that can make a classification between classes A, B, and C. By using data from another class D, we want to apply class incremental learning to obtain a model which can predict classes among A, B, C and D without training all data with all classes from scratch.

My question is, since our softmax (that we use to calculate loss (cross-entropy loss)) has a fixed size (3 in case of A, B, and C classes), how this can be possible? Do we change the loss in class incremental learning? How to deal with that?

Note 1: The video I watched to get an idea about class incremental learning is iCaRL- incremental Classifier and Representation Learning.

Note 2: I saw the catastrophic forgetting issue, but my question does not cover this. It is (I suppose) more straightforward.


1 Answer 1


In class incremental learning, we do change the softmax function and associated loss in each stage of learning.

Class incremental learning is a fairly new field of research, and one of the earliest and among the most influential papers in this field is iCaRL: Incremental Classifier and Representation Learning by Rebuffi et al. (2017). There, this change of loss function is detailed in section 2.3 and Algorithm 3. The augmented loss function includes the classification loss corresponding to new data and also the distillation loss, which preserves previously learned discriminative information. Incorporating the distillation loss in the augmented loss function mitigates the chance of catastrophic forgetting as well.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.