Czym jest Epoka (epoch)?
W uczeniu maszynowym epoka oznacza pojedyncze pełne przejście algorytmu treningowego przez cały zbiór danych. Innymi słowy, każda próbka treningowa została w jej trakcie przetworzona co najmniej raz. Termin ten upowszechnił się w latach 60., gdy Frank Rosenblatt badał perceptrony, a jego znaczenie zostało doprecyzowane w latach 80. przez badaczy sieci wielowarstwowych, m.in. Geoffa Hintona. Pomimo rozwoju nowych architektur, liczba epok wciąż pozostaje jednym z kluczowych hiperparametrów decydujących o jakości modelu.
Jak dokładnie działa Epoka (epoch)
Proces treningu zaczyna się od podziału zbioru danych na partie (batch). Podczas epoki model wykorzystuje każdą z nich, obliczając prognozy, mierząc błąd i aktualizując wagi poprzez algorytm optymalizacji, zazwyczaj wariant stochastic gradient descent. Po przejściu ostatniej partii kończy się bieżąca epoka, a rozpoczyna następna, często poprzedzona przetasowaniem danych w celu zmniejszenia korelacji wewnątrz zbioru. Powtarzanie tego cyklu pozwala modelowi stopniowo minimalizować funkcję straty, co przekłada się na rosnącą trafność predykcji na danych niewidzianych.
Zastosowania w praktyce
Pojęcie epoki ma znaczenie w każdym zadaniu, w którym model uczy się iteracyjnie, od klasyfikacji obrazów w medycynie po tłumaczenie dokumentów. Przykładowo podczas szkolenia sieci konwolucyjnej do rozpoznawania zmian skórnych lekarze określili limit 50 epok, obserwując, że dalsze uczenie nie poprawiało już skuteczności na zbiorze walidacyjnym.
Zalety i ograniczenia
Dobór odpowiedniej liczby epok pozwala na precyzyjne dopasowanie modelu do danych, co zwiększa jego ogólną użyteczność. Zbyt mało epok skutkuje niedouczeniem i wysokim błędem treningowym, natomiast zbyt duża ich liczba prowadzi do przeuczenia, w którym model „zapamiętuje” dane i traci zdolność uogólniania. W porównaniu z klasycznymi metodami statystycznymi, gdzie parametry wyznacza się w jednym kroku analitycznym, koncepcja epok zapewnia większą elastyczność kosztem dłuższego czasu obliczeń.
Na co uważać?
Kluczową rolę odgrywa obserwacja metryk walidacyjnych po każdej epoce. Jeżeli po pewnej liczbie przejść błąd walidacyjny zaczyna rosnąć, warto zastosować wczesne zatrzymanie (early stopping). W praktyce należy także uważać na zbyt duże partie danych, które mogą prowadzić do nieefektywnej nauki, gdyż w jednej epoce wystąpi zbyt mało aktualizacji wag.
Dodatkowe źródła
Szerszy kontekst pojęcia epoki można znaleźć w artykule Wikipedia – Epoch (machine learning). Szczegółowe omówienie zależności między liczbą epok a generalizacją przedstawiono w publikacji arXiv:1811.12889. Warto również sięgnąć do klasycznego podręcznika Deep Learning autorstwa Goodfellowa, Bengio i Courville’a.


