Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Overfitting

Le surapprentissage se produit lorsqu’un modèle mémorise ses données d’entraînement, y compris le bruit, et échoue sur de nouvelles données. Découvre comment le repérer et quelles méthodes permettent de l’éviter.

Le surapprentissage se produit lorsqu’un modèle d’apprentissage automatique s’ajuste si étroitement à ses données d’entraînement qu’il apprend le bruit et les particularités de ces exemples précis en même temps que les véritables motifs. Un modèle surajusté obtient de bons résultats sur les données qui ont servi à son entraînement et des résultats nettement moins bons sur de nouvelles données ; l’ampleur de cet écart indique le degré de surapprentissage. En termes de biais-variance, le surapprentissage correspond à une variance élevée : les prédictions du modèle dépendent excessivement des échantillons particuliers qu’il a vus.

Reconnaître le surapprentissage#

Le signe révélateur est un écart croissant entre les performances sur les données d’entraînement et sur les données de validation. Sur les courbes d’apprentissage tracées à chaque époque, la perte d’entraînement continue de diminuer, tandis que la perte de validation se stabilise puis augmente et que les métriques de validation, comme la précision moyenne (mAP), stagnent ou diminuent. La démonstration classique à petite échelle consiste à ajuster des polynômes de deux degrés différents à 12 points bruités échantillonnés sur une sinusoïde :

import numpy as np
from numpy.polynomial import Polynomial

rng = np.random.default_rng(0)

# 12 noisy training points from a sine wave, plus clean test points
x_train = rng.uniform(0, 1, 12)
y_train = np.sin(2 * np.pi * x_train) + rng.normal(0, 0.2, 12)
x_test = np.linspace(0, 1, 200)
y_test = np.sin(2 * np.pi * x_test)

for degree in (3, 9):
    fit = Polynomial.fit(x_train, y_train, degree)
    train_mse = np.mean((fit(x_train) - y_train) ** 2)
    test_mse = np.mean((fit(x_test) - y_test) ** 2)
    print(f"Degree {degree:2d}: train MSE {train_mse:.4f}, test MSE {test_mse:.4f}")

Le polynôme de degré 9 a assez de flexibilité pour épouser le bruit, ce qui réduit son erreur d’entraînement de 0.0356 à 0.0148, mais multiplie par dix son erreur de test, qui passe de 0.0182 à 0.1859.

Surapprentissage et sous-apprentissage#

Le sous-apprentissage est le problème inverse : le modèle est trop simple ou entraîné trop brièvement pour saisir les motifs des données ; ses performances sont donc mauvaises à la fois sur les données d’entraînement et de validation. Comparer les deux erreurs permet de distinguer les situations et d’indiquer des solutions différentes.

Causes courantes#

  • Capacité trop élevée par rapport aux données : un réseau neuronal comportant des millions de paramètres peut mémoriser intégralement quelques centaines d’images.
  • Données bruitées ou mal étiquetées : les boîtes manquantes, les classes erronées et les valeurs aberrantes donnent au modèle des erreurs à apprendre qui n’existent pas dans le monde réel.
  • Entraînement trop long : une fois les motifs utiles appris, les époques supplémentaires apprennent surtout le bruit restant.
  • Données d’entraînement trop limitées : un détecteur entraîné uniquement sur des images diurnes provenant d’une seule caméra peut s’appuyer sur l’arrière-plan et l’éclairage de cette caméra, et manquer des objets sur un nouveau site.

Prévenir le surapprentissage#

  • Des données plus nombreuses et plus variées : ajouter de nouveaux exemples réels est la solution la plus directe, et l’augmentation des données multiplie la variété en retournant, redimensionnant, recolorant et mélangeant les images existantes.
  • Régularisation : la décroissance des poids pénalise les poids de grande valeur, et le dropout désactive aléatoirement des unités pendant l’entraînement afin qu’aucune caractéristique ne devienne indispensable.
  • Modèles plus petits ou préentraînés : un modèle plus petit a moins de capacité à mémoriser, et l’apprentissage par transfert avec des couches initiales gelées réduit le nombre de poids à apprendre à partir d’un petit jeu de données.
  • Arrêt anticipé : évaluer le modèle sur les données de validation après chaque époque et arrêter dès que le score cesse de s’améliorer évite que l’entraînement ne finisse par apprendre le bruit.
  • Évaluation rigoureuse : la validation croisée fournit une estimation plus fiable de l’erreur de généralisation sur les petits jeux de données, et un jeu de test distinct permet de détecter le surapprentissage des données de validation pendant le réglage des hyperparamètres.

L’entraînement Ultralytics YOLO applique l’arrêt anticipé au moyen de l’argument patience, qui met fin à une exécution après ce nombre d’époques sans amélioration de la performance de validation (mAP50-95 pour la détection) ; les poids de la meilleure époque sont enregistrés sous best.pt, même si l’entraînement va jusqu’au bout.

from ultralytics import YOLO

# Charger un modèle YOLO26n préentraîné
model = YOLO("yolo26n.pt")

# # Autorise jusqu’à 100 époques, mais arrête après 20 époques sans amélioration de la validation
results = model.train(data="coco8.yaml", epochs=100, patience=20)

La valeur par défaut est patience=100 et, pour les jeux de données de moins de 1 000 images, les conseils de réglage fin de YOLO26 recommandent epochs=50 avec patience=20.

  • Fuite de données : chevauchement entre les données d’entraînement et d’évaluation, qui dissimule le surapprentissage. Lorsque des images presque identiques d’une même vidéo se retrouvent à la fois dans les partitions d’entraînement et de validation, un modèle qui a mémorisé l’ensemble d’entraînement obtient toujours de bons résultats en validation, et le problème n’apparaît qu’après le déploiement. Une partition par vidéo ou par scène l’évite.
  • Apprentissage de raccourcis : le modèle s’appuie sur un indice fallacieux, comme un filigrane ou l’arrière-plan, présent à la fois dans les données d’entraînement et de validation. Les scores de validation semblent bons, mais le modèle échoue sur de nouvelles données où cet indice est absent.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique