MORAIDICTIONNAIRE IA
Entraînement

Epoch, Batch et itération

Les trois unités de temps de l'entraînement : combien de données, à quelle fréquence, combien de fois.

Imaginez réviser un manuel pour un examen. Lire tout le livre une fois est une epoch. Mais vous ne mémorisez pas tout d'un coup : vous étudiez chapitre par chapitre — chaque chapitre est un batch. Et chaque fois que vous terminez un chapitre et ajustez votre compréhension, c'est une itération. Ces trois notions structurent le rythme de l'apprentissage d'un réseau de neurones.

Les trois unités, précisément

La relation chiffrée

Si l'on note $N$ le nombre total d'exemples et $B$ la taille du batch, alors le nombre d'itérations par epoch vaut :

$$\text{itérations par epoch} = \left\lceil \frac{N}{B} \right\rceil$$

Terme Unité Déclenche une mise à jour des poids ?
Itération 1 batch Oui (une fois)
Epoch tout le dataset Oui (plusieurs fois)
Batch size nb d'exemples définit la granularité

Exemple : avec $N = 10\,000$ exemples et $B = 100$, une epoch comporte $100$ itérations. Pour $20$ epochs, le modèle effectue $2\,000$ mises à jour au total.

Pourquoi ça compte

Un batch trop grand lisse le gradient mais coûte de la mémoire ; trop petit, il rend l'apprentissage bruité mais parfois plus généralisant. Le nombre d'epochs arbitre entre sous-apprentissage (trop peu) et sur-apprentissage (trop).

Epoch, batch et itération ne décrivent pas ce que le modèle apprend, mais à quel rythme il apprend.

Explorer tout le dictionnaire de l'IA →