Découvrez ce qu'est une époque dans l'apprentissage automatique et son impact sur l'entraînement des modèles. Explorez l'optimisation, évitez le surapprentissage et entraînez Ultralytics en toute simplicité.
Une époque représente un cycle complet à travers l'ensemble des données d'entraînement par un algorithme d'apprentissage automatique. Au cours de ce processus, le modèle a la possibilité de mettre à jour ses paramètres internes en fonction de chaque échantillon des données une seule fois. Dans le contexte de l'apprentissage profond, un seul passage est rarement suffisant pour qu'un réseau neuronal apprenne efficacement des modèles complexes . Par conséquent, l'entraînement implique généralement plusieurs époques, ce qui permet à l'algorithme d'apprentissage d'affiner de manière itérative sa compréhension et de minimiser l'erreur entre ses prédictions et la vérité terrain réelle.
L'objectif principal de l'entraînement est d'ajuster les pondérations du modèle afin de minimiser une fonction de perte spécifique . Les algorithmes d'optimisation, tels que la descente stochastique du gradient (SGD) ou Adam , utilisent l'erreur calculée au cours de chaque époque pour guider ces ajustements. À mesure que le nombre d'époches augmente, le modèle passe généralement d'un état d'erreur élevée (supposition aléatoire) à un état d'erreur plus faible (modèles appris).
Cependant, la sélection du nombre correct d'époques est un aspect critique de l' ajustement des hyperparamètres.
Il est courant que les débutants confondent « époque » avec des termes connexes. Comprendre la hiérarchie de ces concepts est essentiel pour configurer correctement les boucles d'entraînement:
Le nombre d'époques nécessaires varie considérablement en fonction de la complexité de la tâche et de la taille des données.
Lorsque vous utilisez des frameworks modernes tels que Ultralytics YOLO, la définition du nombre d'époques est un argument simple dans la commande d'entraînement. Des outils tels que la Ultralytics peuvent aider à visualiser les courbes de perte au cours de chaque époque afin d'identifier le point d'arrêt optimal.
L'exemple suivant montre comment définir le nombre d'époches lors de l'entraînement d'un modèle YOLO26:
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Train the model for 50 epochs
# The 'epochs' argument determines how many times the model sees the entire dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
Dans cet extrait, l'élément epochs=50 L'argument indique au moteur d'apprentissage de parcourir le
coco8.yaml ensemble de données 50 fois distinctes. Au cours de chaque cycle, le modèle effectue
propagation vers l'avant et
rétropropagation pour affiner ses capacités de détection
.