I'm working on image segmentation using a Convolutional Neural Network (cnn) implemented in Tensorflow. I have two classes and I am using cross entropy as loss function and as Adam optimizer. I am training the network with around 150 images.
During the training I'm seeing this periodical pattern, the training loss descends until it has a couple high values, then it quickly descends to the previous level.
A similar pattern can be also observed in the validation loss, the validation loss drops periodically for a couple epochs and then goes back to the previous level.
By decreasing the learning rate, this patterns are not visible anymore, but the losses are higher and the Interception over Union(IoU) is much lower.
Edit: I've found I had an image twice with two different slightly different labels. I also noticed this pattern is related to drop_out, after the point where the training images are learned to a 100%, the drop_out produces that in some iterations the training error increases a lot and this causes the peaks. Has someone experienced something like this with dropout?
Has someone seen patterns like this? What could be the reasons for this?