Skip to main content

Day 11 (7/22/19): Partial Rehearsal and Out-Of-Distribution Recognition

This morning I reviewed the results of the different incremental learning models I started training over the weekend. Here are the results for five different methods.

*Accuracy is computed as the average of the batch 1 and batch 2 accuracies to represent the overall test set. Omega is the average ratio between the accuracy of the incremental model vs. the offline model (offline accuracy with default hyperparameters: .7330)

No Regularization:
Batch 1--> Testing 45/45 Accuracy: 0.0241
Batch 2--> Testing 46/46 Accuracy: 0.7702
Accuracy: 0.3972
Omega: 0.5418

L2 Regularization:
Testing 45/45 Accuracy: 0.0132
Testing 46/46 Accuracy: 0.7868
Accuracy: 0.4000
Omega: 0.5457

L2SP Regularization:
Batch 1--> Testing 47/47 Accuracy: 0.0000
Batch 2--> Testing 45/45 Accuracy: 0.8185
Accuracy: 0.4093
Omega: 0.5583


Pseudo-Rehearsal (w/ random sampling of ten images per batch-1 class):
Testing 45/45 Accuracy: 0.4166
Testing 46/46 Accuracy: 0.7988
Accuracy: 0.6077
Omega: 0.8291


Full Rehearsal:
Testing 45/45 Accuracy: 0.6499
Testing 46/46 Accuracy: 0.7496
Accuracy: 0.6997
Omega: 0.9546

These metrics obtained from my models are consistent with what was expected (Omega value of full rehearsal>partial rehearsal>simple regularization).
________________________________________________________________________


After speaking with Dr. Kanan about my project and progress I spent the rest of the afternoon reading papers and going through presentations created in the kLab. These topics ranged from evaluating bounded classification methods for CNNs (aka open-set or out-of-distribution recognition) to new techniques for streaming learning. 

Tomorrow I will be trying to experiment with some Open-set Recognition methods (similar to how I experimented with incremental learning techniques), and I'm excited to see how that turns out.

Comments

Popular posts from this blog

Day 29 (8/15/19): Final Day Before Presentations

Most of today was also spent practicing and editing my presentation to make it as professional as I can. I'm really looking forward to the opportunity to present my work to faculty and friends tomorrow. Here is a link to the slides for my final presentation: Novelty Detection in Streaming Learning using Neural Networks

Day 28 (7/14/19): Presentation Dry Run

In the morning, all of us interns got the chance to practice our presentations in front of each other in the auditorium. I was pretty happy with how mine went overall but the experience was definitely valuable in identifying typos or slight adjustments that should be made. Throughout the rest of the day, I tried to implement these changes and clean up a few plots that I want to include for Friday.

Day 9 (7/18/19): Incrementally Learning CUB200

Today I continued my work learning about incremental learning models by testing out different strategies on the CUB200 dataset. From what I understand from reading various articles, there seem to be five different approaches to mitigating catastrophic forgetting in lifelong learning models. These are regularization methods (adding constraints to a network's weights), ensemble methods (train multiple classifiers and combine them), rehearsal methods (mix old data with data from the current session), dual-memory methods (based off the human brain, includes a fast learner and a slow learner), and sparse-coding methods (reducing the interference with previously learned representations).  All of these methods have their constraints and I don't believe it is yet clear what method (or what combination of different methods) is best. Full rehearsal obviously seems to be the most effective at making the model remember what it had previously learned but given that all training exam...