-
Notifications
You must be signed in to change notification settings - Fork 322
Implementation of Cost Effective Active Learning #146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution! I am really glad that you took the time to add this to the examples!
I have some small change requests. As I indicated in my review comment, if there are no rigorous studies showing that this implementation is indeed measurably better, then the phrasing better
should be replaced with different
in the docstring.
I am fine with the implementation having modifications from the original one, but can you please include comments in the example where the differences are? I am thinking about
- clarifications in the leading docstring,
- one-liner comments in the body where you are omitting or adding new steps.
Thanks!
may represent information and diversity. It is better than the original implementation | ||
as it does not involve tuning the confidence threshold parameter for every dataset. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you have any references that can demonstrate that this implementation is better than the original? If no such studies were done, it is fine to leave the example implementation as you provided here, but in this case, please replace the word better
with different
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the review. I have made necessary changes in the comments. Would you also suggest to have a separate implementation of the original CEAL algorithm? It would be quite easy to do so.
Also, I have implemented bayesian active learning by disagreement with monte carlo dropouts. The file is present in the latest commit. It would be nice if you can review that too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think that the original implementation is necessary.
However, the Bayesian active learning with Monte Carlo dropouts is already added as an example (https://github.com/modAL-python/modAL/blob/master/examples/deep_bayesian_active_learning.py). Can you remove your one from the PR and perhaps enhance the already existing example where you see fit? (For instance, replacing the model with LeNet model as you did would be great!)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the comment. I have deleted Bayesian Active Learning By Disagreement file. I think the already implemented Bayesian Active Learning with Monte Carlo Dropouts uses Max Entropy. I can modify it to use BALD.
This is a modified implementation of the algorithm Cost Effective Active Learning (Pl. refer - CEAL). This version not only picks up the top K uncertain samples but also picks up the top N highly confident samples that may represent information and diversity. It is better than the original implementation as it does not involve tuning the confidence threshold parameter for every dataset.