Epoch
Apprends ce qu'est une époque en apprentissage automatique et comment elle impacte l'entraînement des modèles. Explore l'optimisation, évite le surapprentissage et entraîne Ultralytics YOLO26 en toute simplicité.
Une époque représente un cycle complet à travers l'ensemble du jeu de données d'entraînement par un algorithme d'apprentissage automatique. Au cours de ce processus, le modèle a l'opportunité de mettre à jour ses paramètres internes en se basant sur chaque échantillon des données exactement une fois. Dans le contexte de l'apprentissage profond, un seul passage est rarement suffisant pour qu'un réseau de neurones apprenne efficacement des modèles complexes. Par conséquent, l'entraînement implique généralement plusieurs époques, permettant à l'algorithme d'apprentissage d'affiner itérativement sa compréhension et de minimiser l'erreur entre ses prédictions et la réalité du terrain.
Link to this sectionLe rôle des époques dans l'optimisation#
L'objectif principal de l'entraînement est d'ajuster les poids du modèle pour minimiser une fonction de perte spécifique. Les algorithmes d'optimisation, tels que la descente de gradient stochastique (SGD) ou l'optimiseur Adam, utilisent l'erreur calculée lors de chaque époque pour guider ces ajustements. À mesure que le nombre d'époques augmente, le modèle passe généralement d'un état d'erreur élevée (devinettes aléatoires) à une erreur plus faible (modèles appris).
Cependant, sélectionner le nombre correct d'époques est un aspect critique du réglage des hyperparamètres.
- Trop peu d'époques : Cela peut conduire à un sous-apprentissage, où le modèle n'a pas encore capturé la tendance sous-jacente des données.
- Trop d'époques : Cela résulte souvent en un surapprentissage, où le modèle mémorise le bruit de l'entraînement plutôt que de généraliser à de nouvelles données. Pour éviter cela, les développeurs surveillent souvent les performances sur des données de validation et utilisent des techniques comme l'arrêt précoce pour interrompre l'entraînement lorsque la généralisation cesse de s'améliorer.
Link to this sectionÉpoque vs Batch vs Itération#
Il est courant pour les débutants de confondre « époque » avec des termes connexes. Comprendre la hiérarchie de ces concepts est essentiel pour configurer correctement les boucles d'entraînement :
- Époque : Un passage complet à travers l'ensemble du jeu de données.
- Batch : Un sous-ensemble du jeu de données traité simultanément. Comme les jeux de données sont souvent trop volumineux pour tenir entièrement dans la mémoire GPU à la fois, ils sont divisés en plus petits groupes définis par la taille de batch.
- Itération : Une seule mise à jour des poids du modèle. Si un jeu de données contient 1 000 images et que la taille de batch est de 100, il faudra 10 itérations pour terminer une époque.
Link to this sectionApplications concrètes#
Le nombre d'époques requis varie considérablement en fonction de la complexité de la tâche et de la taille des données.
- Analyse d'images médicales : Dans l'analyse d'images médicales, comme la détection de tumeurs sur des IRM, la précision est primordiale. Les modèles entraînés pour ces tâches fonctionnent souvent pendant des centaines d'époques. Cet entraînement intensif garantit que le réseau de neurones convolutif (CNN) puisse discerner des anomalies subtiles qui distinguent les tissus malins des tissus sains, pouvant ainsi sauver des vies.
- Conduite autonome : Pour les véhicules autonomes, les modèles de détection d'objets doivent identifier de manière fiable les piétons, les panneaux et d'autres véhicules. L'entraînement de ces systèmes robustes implique généralement des jeux de données massifs comme COCO ou Objects365. Bien que la taille du jeu de données soit immense, le modèle nécessite toujours plusieurs époques pour converger vers une solution qui se généralise bien aux diverses conditions météorologiques et d'éclairage.
Link to this sectionGérer les cycles d'entraînement avec du code#
Lorsque tu utilises des frameworks modernes comme Ultralytics YOLO, définir le nombre d'époques est un argument simple dans la commande d'entraînement. Des outils comme la plateforme Ultralytics peuvent t'aider à visualiser les courbes de perte à chaque époque pour identifier le point d'arrêt optimal.
L'exemple suivant montre comment définir le nombre d'époques 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'argument epochs=50 demande au moteur d'entraînement de parcourir le jeu de données coco8.yaml 50 fois distinctes. Au cours de chaque cycle, le modèle effectue une propagation avant et une rétropropagation pour affiner ses capacités de détection.






