EfficientNet model was trained on ~3500 images for a 4-class classification: A, B, C and Neither – with accuracy of 0.985 – by someone else, not me. I'm quite new to ML. So we have this model, and it works pretty well.
As more real-world images are coming in from the users, we see more errors. Is it possible to improve the performance a bit by adding more training examples?
Collected and manually sorted 35 images of class A and 425 of class "Neither". Does it even make any sense with so small dataset?
I have put images into a folder with 4 subfolders, one per each class. Two are empty, two have images. Using Keras ImageDataGenerator
flow_from_directory() method with validation/training = 0.2/0.8 ratio.
model.fit() training shows low loss and accuracy close to 1, while validation loss is high and accuracy is around 0.21 — 0.25 only.
Model performance after my "training" is totaly ruined.
Is this approach to retraining with a little set of images wrong?
How can I "add", not "replace" the model "skills" with a new added little set of images?
Maybe I should have trained a fresh model initialised with the ImageNet weights as in the initial training, and just add the new images to the set of images used, again, in the initial training?