ej0cl6 / deep-active-learning

Deep Active Learning
MIT License
783 stars 182 forks source link

AL principles #16

Closed nil123532 closed 2 months ago

nil123532 commented 3 months ago

In the train function within the Net class in nets.py, a new model instance (self.net()) is created and trained each time new labeled data becomes available. However, in active learning (AL), it’s generally preferable to continue training the same model on the newly labeled data rather than starting from scratch with a new model instance. This approach allows the model to incrementally learn from the expanding dataset, leveraging previously learned information to make better predictions as more data is labeled and added to the training set.

Is it a bug in the code?

ej0cl6 commented 2 months ago

I think both are fine. We found that incremental training with only one additional labeled example could lead to some bias. Therefore, we choose to retrain the model every round. Of course you can explore if using the learned model from last round to initialize the weight to see if it results in better results.