How to use keras ReduceLROnPlateau
I don't think this should be blame on that bug because it seems be fixed already in 2016. Note that there is an positive argument in this function:
min_delta: threshold for measuring the new optimum, to only focus on significant changes.
Which is set as 0.0001 by default. Therefore even though val_loss improved from last epoch, if the reduction is smaller than min_delta. It will still be regard as bad lr.
Well it is a bug in keras. https://github.com/keras-team/keras/issues/3991
To solve it, use: cooldown=1