Stop after validation stops getting meaningfully better.

Early stopping turns a noisy validation curve into a checkpoint decision. Tune patience, minimum improvement, overfitting onset, and noise while watching the best epoch and stop signal evolve.

Simulate training

Training loss can improve while generalization gets worse.

The validation metric estimates behavior on held-out data. A good stopping rule tracks the best qualifying improvement, tolerates short noisy regressions, saves the best checkpoint, and stops only after patience is exhausted.

Training and validation curves

Epoch 0 · waiting to train
lossepochs →
trainingvalidationbest checkpoint
Best epoch

Last epoch that beat the incumbent by min_delta.

Best validation loss

Metric attached to the checkpoint to restore.

Patience used0 / 5

Consecutive epochs without qualifying improvement.

DecisionTrain

Continue, save, or stop under this rule.

Save the best, not merely the last

When validation improves enough, persist model weights, optimizer state, scheduler state, epoch, and evaluation metadata. Stopping later should restore that selected checkpoint.

Patience filters short noise

A single worse epoch is weak evidence. Patience waits for repeated non-improvement, while min_delta prevents tiny fluctuations from resetting the counter forever.

The validation set is part of the experiment

Repeatedly tuning against one validation split can overfit the selection process. Keep a final test set untouched, version the split, and report the checkpoint-selection rule.

Primary reading

Dropout: A Simple Way to Prevent Neural Networks from Overfitting Srivastava et al.EarlyStopping callback Kerastf.keras.callbacks.EarlyStopping TensorFlow