Hi tang hope all is well.
In my experience if your classes are very similar then the techniques in lesson 1 are not quite enough to classify some images with great accuracy. if you change your classes to something very different like parsley, roses and zucchini you will likely see the results improve.
For my first classifier I built a wristwatch classifier it was good with 3 classes Rolex, Breitling and Cartier as I added classes the accuracy dropped. I continued until I had 60 classes but from about 4 classes it was very poor and deteriorated to unusable.
I decided then I would have to use other tools like adding Optical Character recognition to recognize the brand names. I am still learning so haven’t solved this problem yet.
Also in video video 1 at about 1hr 9m Jeremy talks about classifying cats and interp.plot_top_losses() this shows you what your network was confident on but got wrong. Also the confusion Matrix (1hr 13m) shows you the images that the network is struggling with. Also interp.most_confused gives a list of predicted and actual images it got wrong.
Can anyone explain to me how the error rate can fluctuate (epoch 2-5) where it goes down then up then back down?
According to the details in lesson two you never want a model where your training loss is higher than your validation loss. This normally means you have not fitted enough, which indicates that either your learning rate is too low or you haven’t trained for enough epochs. So I would try some more epochs or changing the learning rate and training some more.
Can’t explain the fluctuations still learning as I normally focus on the relationship between train_loss and valid_loss and error rate. From your image it looks like if you carry on training your error rate might improve.
Cheers mrfabulous1