So, I have a segmentation task with a dataset whose nature I cannot currently discuss. Within this dataset there are about ~4700 unique training images. This dataset is then segmented 90%, 10% train & validation respectively.
Say you trained the above data split on a UNET model with a batch size of 10. You gather up some metrics and boom you're done. (Lets say your Val Loss = X @ 20 epochs) You then decide "let's gather some more data using Keras' data generator class" (i.e. Image Augmentation)
You add +16,000 augmented images to the 4700 images you already have to make a total of ~20,000+ images. You train it on the same UNET model with the same batch size but the validation loss doesn't seem to budge. On top of that it seems a bit higher than the previous model (with only 4000 images) i.e. Val loss = Y > X @ 20 epochs. Moreover, it begins to overfit quite hard around 10-15 epochs. You'd think things would be better right? (law of large numbers!?)
My question is, if you add more data is that a recipe to a better performing model? If not, why not?
My theory is as follows:
1- Maybe the data you're adding doesn't "add" enough "new" information. But if that is true, then won't this apply to most datasets? i.e. What is the difference between a rotated image of a person (using Keras) vs a non augmented image of a person standing straight up? It doesn't really give off new information/features about the person itself. The person is a person whether at 0 deg. or 90 deg. with typical person features. But I figure it might learn new spatial representations or maybe contexts in which you would find a person? Anyone care to elaborate?
(Take this analysis with a grain of salt, I'm spewing ideas)
2- Given a certain problem, either the model itself is not best suited to the task? Or somehow to achieve a validation loss of say 0.1 in this task is notoriously difficult? But then again, difficult why?
Any discussion/answer would be appreciated!