Dans l'apprentissage automatique (ML), en particulier dans le contexte de la formation de modèles d'apprentissage profond, une époque représente un passage complet de l'ensemble des données d'apprentissage par l'algorithme d'apprentissage. La formation de modèles est un processus itératif au cours duquel le modèle apprend des modèles en traitant les données de manière répétée. Les époques sont un hyperparamètre fondamental qui définit le nombre de fois où l'algorithme travaillera sur l'ensemble du jeu de données, ce qui permet au modèle d'apprendre de chaque exemple au sein des données plusieurs fois.
L'époque expliquée
Au cours du processus de formation, les paramètres internes d'un modèle, ou poids, sont ajustés en fonction des erreurs qu'il commet dans ses prédictions. Cet ajustement se fait généralement à l'aide d'un algorithme d'optimisation comme la descente de gradient ou ses variantes (par exemple, Adam Optimizer). Une époque signifie que chaque échantillon de l'ensemble de données d'apprentissage a eu l'occasion de mettre à jour les paramètres internes du modèle une fois. Pour les grands ensembles de données, le traitement de l'ensemble des données en une seule fois est coûteux en termes de calcul, c'est pourquoi les données sont souvent divisées en plus petits morceaux appelés lots.
Époque vs itération vs taille du lot
Il est important de distinguer une époque des termes apparentés :
- Taille du lot: Elle définit le nombre d'échantillons traités avant que les poids du modèle ne soient mis à jour.
- Itération : Il s'agit du nombre de lots nécessaires pour compléter une époque. Si un ensemble de données comporte 1 000 échantillons et que la taille des lots est de 100, une époque nécessite 10 itérations (1 000 échantillons / 100 échantillons par lot = 10 lots/itérations). Chaque itération implique le traitement d'un lot et la mise à jour des poids du modèle.
- Époque : Un cycle complet de l'ensemble des données d'apprentissage. Dans l'exemple ci-dessus, la réalisation de 10 itérations constitue une époque.
Pense à cela comme à la lecture d'un livre : le livre entier est l'ensemble de données, un chapitre est un lot, la lecture d'un chapitre est une itération, et la lecture du livre entier d'un bout à l'autre est une époque.
Pourquoi les époques sont importantes
Le nombre d'époques est un hyperparamètre critique car il détermine combien de fois le modèle apprend à partir de l'ensemble des données.
- Trop peu d'époques : Si un modèle est formé pendant trop peu d'époques, il risque de ne pas être suffisamment exposé aux données pour apprendre efficacement les modèles sous-jacents. Cela conduit à un sous-ajustement, où le modèle est peu performant à la fois sur les données d'entraînement et sur les données de test inédites.
- Trop d'époques : à l'inverse, l'entraînement pendant un trop grand nombre d'époques peut conduire à un surajustement. Dans ce scénario, le modèle apprend trop bien les données d'apprentissage, y compris le bruit et les détails spécifiques, perdant ainsi sa capacité à se généraliser à de nouvelles données inédites. Le modèle peut présenter une excellente précision sur l'ensemble de formation, mais donner de mauvais résultats sur les données de validation ou les données de test.
Trouver le bon équilibre est essentiel pour obtenir de bonnes performances et une bonne généralisation du modèle. Cela implique souvent de contrôler les performances du modèle sur un ensemble de données de validation distinct pendant la formation.
Déterminer le nombre d'époques
Il n'y a pas un seul nombre "correct" d'époques ; la valeur optimale dépend de la complexité des données, de la taille de l'ensemble de données, de l'architecture du modèle et du taux d'apprentissage. Les approches courantes comprennent :
- Expérimentation : Essayer différents nombres d'époques et évaluer les performances.
- Suivi des paramètres de validation : Suivi des mesures telles que la perte et la précision sur un ensemble de validation. La formation est souvent interrompue lorsque ces mesures cessent de s'améliorer ou commencent à se dégrader, une technique connue sous le nom d'arrêt précoce.
- Optimisation des hyperparamètres: Recherche systématique des meilleurs hyperparamètres, y compris le nombre d'époques, souvent à l'aide d'outils automatisés ou de techniques comme celles que l'on trouve dans le Guide de réglage des hyperparamètres d'Ultralytics .
Exemples concrets
- Détection d'objets: Lors de la formation d'un Ultralytics YOLO tel que YOLOv8 ou YOLO11Dans le cas d'un grand ensemble de données comme COCO, le modèle peut être entraîné pendant un nombre spécifique d'époques, par exemple 100 ou 300. Au cours de chaque époque, le modèle traite toutes les images de l'ensemble d'entraînement COCO, en ajustant ses poids pour mieux prédire les boîtes de délimitation et les étiquettes de classe pour les objets. Des plateformes comme Ultralytics HUB permettent aux utilisateurs de gérer facilement ce processus de formation et de surveiller les performances au fil des époques.
- Traitement du langage naturel (NLP): La formation d'un grand modèle de langage comme BERT pour une tâche telle que l'analyse des sentiments implique d'alimenter le modèle avec de grandes quantités de données textuelles. La formation peut se dérouler sur un plus petit nombre d'époques (par exemple, de 3 à 10) en raison de la taille même des ensembles de données et des modèles. Chaque époque garantit que le modèle voit une fois l'ensemble du corpus de texte, ce qui lui permet d'affiner sa compréhension des nuances de langage pertinentes pour le sentiment. Les structures telles que Hugging Face Transformers spécifient souvent des nombres d'époques par défaut pour un réglage fin.
Outils et cadres de travail
Les époques sont un paramètre standard dans la plupart des cadres d'apprentissage profond :
- PyTorch: Boucles d'entraînement en PyTorch itèrent explicitement sur les époques et les lots.
- TensorFlow: Les API de haut niveau comme Keras dans TensorFlow permettent aux utilisateurs de spécifier le nombre d'époques directement dans l'écran d'affichage.
fit
méthode. - Ultralytics HUB: fournit une interface conviviale pour les modèles de formation comme YOLO, où les utilisateurs peuvent facilement configurer le nombre d'époques et suivre visuellement la progression de la formation.
Les époques sont la pierre angulaire de l'apprentissage itératif en ML, car elles permettent d'équilibrer le besoin d'une exposition suffisante aux données et les risques de surajustement. La sélection du bon nombre d'époques, souvent par le biais d'une expérimentation et d'un suivi minutieux, comme indiqué dans des ressources telles que le cours CS231n de Stanford ou le blog Machine Learning Mastery, est essentielle à la construction de modèles efficaces. Tu trouveras d'autres définitions dans des ressources telles que le glossaire de l'apprentissage automatique deGoogle .