Wat is een epoch in modeltraining?

Definitie en werking

Tijdens training wordt de trainingsdata in batches aan het model aangeboden. Wanneer alle batches één keer zijn verwerkt, is er sprake van één epoch. Het aantal epochs bepaalt hoe vaak het model de data ziet. Bij elke epoch worden de gewichten bijgewerkt op basis van de fout. Meerdere epochs zijn vaak nodig omdat het model in één doorgang niet alle patronen kan leren. Te weinig epochs leidt tot underfitting; te veel epochs kan leiden tot overfitting. Daarom wordt het aantal epochs vaak bepaald met early stopping op basis van de validatiefout. Het aantal epochs is een hyperparameter die per probleem en dataset verschilt. In de praktijk varieert dit van enkele tientallen tot honderden of duizenden, afhankelijk van de complexiteit.

Epochs, batches en iteraties

Een epoch moet niet worden verward met een iteratie. Een iteratie is één update van de gewichten op basis van één batch. Het aantal iteraties per epoch is gelijk aan het totale aantal trainingsvoorbeelden gedeeld door de batchgrootte. Bij een dataset van 10.000 voorbeelden en een batchgrootte van 100 zijn er 100 iteraties per epoch. Het aantal epochs bepaalt hoe vaak de dataset in zijn geheel wordt doorlopen. Het trainen in batches is efficiënter dan per voorbeeld en maakt gebruik van vectorisatie en parallelle hardware. Het monitoren van trainings- en validatiefout per epoch geeft inzicht in convergentie en helpt bij het detecteren van overfitting. Het kiezen van het juiste aantal epochs is daarmee een praktische optimalisatie in elke trainingspijplijn.

Dit toepassen in
jouw bedrijf?

We vertalen het naar jouw processen en laten binnen een week een werkend prototype zien.