I am training a multilabel classifier on 5 classes (animals, buildings, landscapes, humans, and vehicles). Each class has 2000 images (unclean). I took 300 images from each class for testing so I am left with 8500 training images and 1500 testing images. I used a bing image downloader Python library to automatically generate the dataset.
I’ve trained two 15 epochs (finding a new learning rate at the beginning & in between). This is the result of my first 15 epochs:
The model converges well with the validation set. After running another 15 epochs with a new learning rate, this is what I get:
The highest accuracy I got was 99.1% top-1 during training. When I run learn.validate() on an unseen, labelled test set, I get 89.5% top-1.
I know I am overfitting. I am curious what I can do to fix these numbers.
This is my notebook.