Wprowadzenie
Early Stopping (Wczesne Zatrzymanie) to jedna z najpopularniejszych i najskuteczniejszych technik regularyzacji w uczeniu maszynowym. Polega na monitorowaniu metryki na zbiorze walidacyjnym podczas treningu i automatycznym zatrzymaniu procesu uczenia, gdy model zaczyna się przeuczać.
Jak działa Early Stopping?
- Po każdej epoce sprawdzana jest metryka na zbiorze walidacyjnym (np. loss lub accuracy)
- Jeśli metryka nie poprawia się przez określoną liczbę epok (patience), trening zostaje zatrzymany
- Zwracane są wagi modelu z momentu, w którym osiągnął najlepszą wartość na walidacji
Parametry Early Stopping
- monitor – metryka do obserwacji (val_loss, val_accuracy itp.)
- patience – ile epok czekamy na poprawę (zazwyczaj 5–20)
- mode – 'min' lub 'max' (dla loss → min, dla accuracy → max)
- restore_best_weights – czy przywrócić najlepsze wagi po zatrzymaniu
- min_delta – minimalna zmiana uważana za poprawę
Early Stopping w praktyce
- Keras / TensorFlow:
EarlyStopping(callback) - PyTorch: implementacja własna lub biblioteki (e.g. PyTorch Lightning, Ignite)
- Hugging Face Transformers: wbudowane wsparcie w Trainer API
Zalety Early Stopping
- Skutecznie zapobiega przeuczeniu (overfitting)
- Oszczędza czas i zasoby obliczeniowe
- Automatyczne — nie wymaga ręcznego ustawiania liczby epok
- Działa bardzo dobrze w połączeniu z innymi metodami regularyzacji