kuc2477 / pytorch-ewc

Unofficial PyTorch implementation of DeepMind's PNAS 2017 paper "Overcoming Catastrophic Forgetting"
MIT License
259 stars 44 forks source link

labels are shared for every task #4

Open Yijunmaverick opened 4 years ago

Yijunmaverick commented 4 years ago

Great implementations, many thanks.

I'm new to the continuous learning and a little bit confused about its problem setting. I see that you generated different permuted MNIST data for every task (or session), but it looks labels of all 8 tasks are shared (0~10). My understanding is that continuous learning is about learning new task without forgetting old tasks. Should we give new labels (e.g., 11) as a new task? I appreciate your help.

For example, check Figure 2(e) of this paper: https://arxiv.org/pdf/1606.09282.pdf

chenneng commented 4 years ago

I have the same confusion

deepshwang commented 2 years ago

You may refer to this NIPS workshop paper: Three scenarios for continual learning (https://arxiv.org/abs/1904.07734)

My interpretation is that this paper was written long before strict definitions of continual learning scenarios are shared among researchers, which is why there is no specific discussion on the EWC paper as well.

In perspective of the aforementioned paper, which is cited by many cl papers when defining certain cl scenarios, this repo sets CL2 scenario, where the network is not obligated to infer the task number but still needs to find an appropriate class (and every task happens to have 10 classes in our example). Your interpretation of scenario is more close to CL3, where the network is obligated to make inference on both task and class (e.g inferencing label 11 is equivalent to inferencing label 1 AND the fact that the label belongs to the second task).