TOM-tym / Learn-to-Imagine

Official PyTorch implementation of CVPR2022 paper “Learning to Imagine: Diversify Memory for Incremental Learning using Unlabeled Data”
MIT License
13 stars 2 forks source link

Some questions about the selection of unlabeled samples #4

Open Simple-meimei opened 1 year ago

Simple-meimei commented 1 year ago

Dear authors,

Thank you for your great work!

I read the functions named "get_pseudo_memory" in icarl.py, but I didn't see the specific strategy for selecting unlabeled samples in the original paper.Do you use the method of another article from the annotation? I don't quite understand this. I don't know if I can ask for advice.

Simple-meimei commented 1 year ago

In fact, I want to replace the classifier with softmax classifier.I changed the classifier with the config "type: fc" and changed eval_type to softmax.Then I encountered an error, that is, the "get_pseudo_memory" method. Because the "threshold" setting is unreasonable, there are no unlabeled samples, but I don't know how to adjust this parameter "threshold".

TOM-tym commented 1 year ago

Hi, thanks for your attention.

  1. Yes, we use the data-mining method from the paper "Seed the Views: Hierarchical Semantic Alignment for Contrastive Representation Learning". And since this is not our contribution and I think it is a technique that can be easily understood, it is not mentioned in the paper. The main idea of the data-mining method is to filter out some samples that can NOT activate the current network greatly because this may mean that they are not relevant to the knowledge in the network and these samples may be not beneficial to future learning.
  2. I am sorry for the messy code and the error. I think you can count the information entropy distribution of the entire unsupervised data set under your settings and then set a reasonable threshold so that a desired proportion of samples can be selected.
Simple-meimei commented 1 year ago

Ok, I'll try it. Thank you very much for your patience!

Simple-meimei commented 1 year ago

I also want to confirm, as I mentioned above, if I want to change the classifier to softmax classifier, whether I change the classifier config and eval_type config in the "CIFAR100_B50.yaml" yaml file? Here is my changed configuration:

eval_type: softmax
classifier_config:
    type: fc
    use_bias: True
    normalize: True