Coder Social home page Coder Social logo

Comments (4)

yaoyao-liu avatar yaoyao-liu commented on May 29, 2024

Hi Michaelyq,

Thanks for your interest in our work.

I think you're using an old version of our released code with some bugs. The initialization of mnemonics will assign wrong labels to the exemplars. Please check if this bug will affect you.

We have already fixed the bugs that may affect you. You may download our new code using this link: Google Drive. This is also a preliminary version. You may use the code in train_v2.0 to run the ablation experiments for the feature fusion operation and the code in train_v1.0 to run the experiments without the feature fusion operation. we'll merge this version to GitHub when we finish cleaning up and checking.

For the feature fusion operation, we have the ablation results as follows,

Setting Acc. for the last phase Mean Acc.
Ours 58.21% 66.51%
2x free 54.18% 62.26%
Baseline 54.30% 63.17%

The improvements are not from the additional model capacity. The ablation results are shown in the table for the setting --nb_cl_fg=50 --nb_cl=10 --nb_protos 20 --imprint_weights. We can observe that using 2x free directly will not improve the results. The implementation for the ablation experiment 2x free is already included train_v2.0, you may use python main.py --nb_cl 10 --imprint_weights --fusion_mode free to run it. Please note that the feature fusion operation is a newly added technique. It achieves further improvements and it is not related to the original paper.

For the weight transfer operation, please please kindly refer to the Supplementary materials, Section B for details: arXiv link. Our mnemonics exemplars work with the weight transfer operation together to achieve the best accuracy.

Please don't hesitate to contact us or add further comments on this issue.

from class-incremental-learning.

Michaelyq avatar Michaelyq commented on May 29, 2024

Thanks for your constructive suggestions. The improper initialization of self.mnemonics in the old version may affect the performance of experiments I did. I will try your updated training code later.

According to your experimental results, it seems that the performance gain is achieved by the composition of weight transfer operation (WTO) and feature fusion together (not along with either side). I think it is sensible since self.network_mtl and self.network are two different networks and heterogeneous architectures should be better than the homogeneous architectures(tg_model = self.network() and free_model = self.network()).

However, I think the most important contribution (by going through your paper) should be the self-learnt exemplars (self.mnemonics in your code). So I did the 3rd ablation experiment (excluding WTO and feature fusion) first by replacing the herding exemplars in LUCIR with self.mnemonics, in order to see the contribution of self.mnemonics to the performance gain. I think it is very necessary to verify this point fist to see if dataset distillation-like techniques can be applied to the incremental learning field.

It will be much appreciated if you have the ablation experiment for my 3rd experimental setting. Hopefully I explain it clearly.

By the way, in your train_v2.0 version, is the variable X_train_cumuls accumulated from phase 0 to i using updated self.mnemonics for each phase? Or using original images from phase 0 to i-1 and updated self.mnemonicsin the current phase?

Thanks in advance!

Michael

from class-incremental-learning.

yaoyao-liu avatar yaoyao-liu commented on May 29, 2024

Hi Michael,

The feature fusion operation is only applied in train_v2.0. If you hope to run the experiments without the feature fusion operation, you may use train_v1.0 directly.

In Table 2 of the main paper, we provide ablation results for different exemplar methods based on the network with weight transfer operation. I think these ablation results can partially answer your question. As we have claimed, our mnemonics exemplars work with the weight transfer operation together to achieve the best accuracy. The ablation experiment you mentioned is reasonable. Thanks for the suggestion. We'll do that in our future work.

In train_v2.0, X_train_cumuls accumulated from phase 0 to i using updated self.mnemonics for each phase. After updating, the new exemplars will be assigned to the original dataset and we'll get these updated samples for the next phase.

Best,
Yaoyao

from class-incremental-learning.

Michaelyq avatar Michaelyq commented on May 29, 2024

Thanks for your kind reply.

from class-incremental-learning.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.