Comments (5)
Also, are the backbone (feature extractor) parameters frozen when training the above classifier?
Thanks!
from cassle.
Hello!
- yes but iirc for forgetting we train a single classifier with 10 classes after each task (the same as for linear evaluation accuracy) and then calculate the accuracy only on the test samples for each task (without masking the classifier, i.e. class-incremental, not task-incremental). You can use the accuracy logged by our code on wandb for each task.
- yes, this is done with the sole purpose of evaluating the quality of the representations.
- no, it is the normal fine-tuning use in the whole continual learning literature and it goes more or less as follows: (i) take some data (task1), (ii) train a model on task1 using an SSL method, (iii) discard the data for the current taks and take the data for a new task (task2), (iv) keep training (fine-tune) the model on task2 with the same SSL method, (v) repeat.
- yes, the backbone is frozen
from cassle.
Thanks for your reply!
Regarding question 1, with respect to forgetting, you mentioned that for each task, the classifier has 10 classes. for each task, may I ask whether you train the classifier using all 10classes labeled data or just using the 5classes labeled data form the current task to train a 10-class classifier?
Regarding question 3, self-supervised learning has been added to the continual learning paradigm, which differs somewhat from the conventional steps. If I understand correctly, is the fine-tuning process like this:
[(use task1 unlabeled data to SSL) -> (use task2 unlabeled data to SSL) -> (use 10classes labeled to finetune)]?
For the forget calculation of fine-tuning, is it also the same as 1? (Each task train a 10classes classifier individually after all SSL step finish)
from cassle.
- the linear evaluation is exactly the same as the one performed at the end, therefore, yes, we use all the data for all classes to learn the linear classifier, and then test the classifier on each task.
- mmh if you want to see it like that, but generally, the self-supervised part does not include the final linear evaluation. Therefore it is more like: CSSL = [(use task1 unlabeled data to SSL) -> (use task2 unlabeled data to SSL)]; and then in order to evaluate the representations we train a linear classifier with all the data (the backbone is frozen, not fine-tuned). And yes, the forgetting calculation is the same for all methods.
from cassle.
all clear, thanks! ^-^
from cassle.
Related Issues (17)
- How did you train the classifier? HOT 3
- problem with reproducibility HOT 3
- About the Forward Transfer HOT 2
- Difficulty In Reproducing The Paper Results (e.g., Table 4., BYOL reported 66%, measured <<60%) HOT 13
- Forward Transfer Issue HOT 10
- Some question about lower and upper bounds HOT 2
- train data on DomainNet HOT 1
- Question about contrastive distillation loss
- Why did you load the checkpoint of task 0 before training cassle? HOT 5
- DomainNet dataset version HOT 1
- ¿Bug in online KNN eval? HOT 3
- Need of checkpoints : BT and VicReg HOT 4
- KNN Classifier Issue HOT 8
- Task_id set to zero as first task SSL HOT 2
- The data for Linear Evaluation Accuracy. HOT 1
- The classifier for Linear Evaluation Accuracy HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cassle.