Low Accuracy on ResNet-34

Hello all,

This is my first post ever in this forum and I was pretty unsure whether I should post or not, but I decided to give it a go.
Since I’ve started watching the online course I tried to make a multi-class classifier based on ResNet-34 as the example showed in the lecture. The dataset I used is the WikiArt dataset, which contains paintings of many artists organized by style as shown below.

Then I created an ImageDataBunch and everything loads fine, the classes appear to be 19 as expected.

 np.random.seed(42)
    data = ImageDataBunch.from_folder
    (path,train='.',valid_pct=0.2,size=256,num_workers=6).normalize(imagenet_stats)

After that I created I learner based on ResNet-34 and trained it for 6 epochs with lr=0.002 producing the results below which are not satisfying.
Screenshot%20from%202020-01-03%2015-37-36

Subsequently I refined the model using learner.unfreeze() and after 4 epochs of training the error_rate went to 0.3787. I am attaching a photo of the confusion_matrix.

Thing I’ve tried:

  • Increasing learning_rate -> validation_loss ↑ (diverges)
  • More epochs -> Not significant improvement →probably overfitting after some point
  • Changing size parameter on DataBunch -> Not significant improvement
  • Merge similar classes -> (ex. High Renaissance, Late Renaissance → Renaissance)
    some improvement but nothing extraordinary
  • Delete classes with low representation -> Same as above.

What should I do/try?
Any suggestions will be welcomed! (sorry for the long post)

Thanks in advance to all