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

Validation Data

Les données de validation constituent un jeu mis de côté, évalué pendant le développement pour régler les hyperparamètres, choisir les points de contrôle et repérer le surapprentissage avant le test final.

Les données de validation sont une partie des données annotées exclue de l’entraînement et évaluée à plusieurs reprises pendant le développement pour comparer les modèles, régler les hyperparamètres, choisir des points de contrôle et détecter le surapprentissage. Le modèle ne met jamais à jour ses poids à partir de ces données : son score de validation montre donc dans quelle mesure ce qu’il a appris des données d’entraînement se généralise à des images qu’il n’a pas vues. Les termes ensemble de validation et ensemble de développement (dev) sont synonymes. Chaque décision fondée sur les scores de validation ajuste un peu plus le modèle à cette partition particulière. C’est pourquoi un ensemble de test distinct est mis de côté pour obtenir une estimation finale sans biais.

Jeux d’entraînement, de validation et de test#

Un jeu de données annotées est généralement divisé en trois parties :

  • Ensemble d’entraînement : Exemples utilisés par l’optimiseur pour ajuster les poids, généralement de 70 à 80 % des données.
  • Ensemble de validation : Évalué après les exécutions d’entraînement ou les époques pour orienter des choix comme le taux d’apprentissage, la taille du modèle, l’intensité de l’augmentation et le moment où arrêter l’entraînement.
  • Ensemble de test : Évalué une fois, une fois tous les choix arrêtés, afin de rendre compte des performances attendues en conditions réelles.

Les répartitions 70/15/15 ou 80/10/10 sont courantes pour les jeux de données contenant des milliers d’images. Les très grands jeux de données ont besoin d’une proportion plus faible pour obtenir des estimations fiables : ImageNet-1k réserve 50 000 images à la validation, contre 1 281 167 images d’entraînement. Comme les annotations de test d’ImageNet ne sont pas publiques, la précision sur ImageNet est généralement rapportée sur cet ensemble de validation, qui sert alors d’ensemble de test.

Un jeu de validation utile correspond aux données que le modèle rencontrera en déploiement et ne partage aucun élément avec le jeu d’entraînement. Les séparations aléatoires au niveau des images entraînent des fuites d’information lorsque plusieurs images proviennent de la même vidéo, du même patient ou du même lieu, car le modèle peut reconnaître la scène plutôt que l’objet. La séparation par groupe, par patient ou par session d’enregistrement par exemple, évite cette fuite de données.

Réglage des hyperparamètres et sélection du modèle#

Les poids sont appris par descente de gradient, tandis que les hyperparamètres sont choisis en entraînant plusieurs modèles candidats et en conservant celui qui obtient le meilleur score de validation. Les scores d’entraînement ne permettent pas de faire ce choix, car les modèles plus grands et entraînés plus longtemps s’ajustent presque toujours mieux aux données d’entraînement. Le script scikit-learn ci-dessous ajuste la profondeur d’un arbre de décision sur le jeu de données digits fourni :

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# Split 1,797 digit images 60/20/20 into training, validation, and test sets
X, y = load_digits(return_X_y=True)
X_train, X_rest, y_train, y_rest = train_test_split(X, y, test_size=0.4, random_state=0, stratify=y)
X_val, X_test, y_val, y_test = train_test_split(X_rest, y_rest, test_size=0.5, random_state=0, stratify=y_rest)

# Fit one model per candidate tree depth and score each on the validation set
val_scores = {}
for depth in (2, 4, 8, 16):
    model = DecisionTreeClassifier(max_depth=depth, random_state=0).fit(X_train, y_train)
    val_scores[depth] = model.score(X_val, y_val)
    print(f"depth {depth}: train {model.score(X_train, y_train):.3f}, validation {val_scores[depth]:.3f}")

# Refit the winner and score the test set exactly once
best = max(val_scores, key=val_scores.get)
final = DecisionTreeClassifier(max_depth=best, random_state=0).fit(X_train, y_train)
print(f"Chosen depth {best}: test accuracy {final.score(X_test, y_test):.3f}")

La précision d’entraînement continue d’augmenter avec la profondeur et atteint 1.000 à une profondeur de 16, tandis que la précision de validation culmine à 0.836 à une profondeur de 8, puis tombe à 0.825 à une profondeur de 16, lorsque l’arbre commence à mémoriser. La validation sélectionne une profondeur de 8, qui obtient un score de 0.853 sur l’ensemble de test intact.

Arrêt anticipé et sélection des points de contrôle#

Les boucles d’entraînement en apprentissage profond évaluent généralement l’ensemble de validation après chaque époque. La perte d’entraînement continue de diminuer à mesure que le réseau s’ajuste toujours plus étroitement aux données d’entraînement, mais la perte ou la précision de validation finit par se stabiliser, puis se dégrade. L’arrêt anticipé interrompt l’entraînement lorsque le score de validation cesse de s’améliorer pendant un nombre défini d’époques, appelé patience, et conserve les poids de la meilleure époque.

L’entraînement de YOLO26 dans Ultralytics exécute cette boucle par défaut : il évalue la partition val du fichier YAML du jeu de données après chaque époque, enregistre l’époque qui obtient la meilleure aptitude de validation (mAP50-95 pour la détection) sous le nom best.pt, puis s’arrête après patience époques sans amélioration, 100 par défaut.

from ultralytics import YOLO

# Charger un détecteur nano YOLO26 préentraîné
model = YOLO("yolo26n.pt")

# Valider sur la partition val après chaque époque et arrêter après 10 époques sans amélioration
results = model.train(data="coco8.yaml", epochs=50, patience=10)

Validation croisée pour les petits jeux de données#

Lorsque les données sont rares, une seule partition mise de côté gaspille des exemples et donne un score bruité. La validation croisée à K plis divise les données en K plis et entraîne K modèles, chacun mettant de côté un pli différent pour la validation, puis calcule la moyenne des K scores. Ainsi, chaque exemple sert à la fois à l’entraînement et à la validation. Cinq et dix plis sont des valeurs courantes, et les variantes stratifiées et groupées maintiennent l’équilibre des proportions de classes ou regroupent les images liées dans chaque pli. Un ensemble de test reste en dehors de tous les plis.

  • Données de test : Évaluées une seule fois à la fin. Les réutiliser pour prendre des décisions revient à en faire un deuxième ensemble de validation, et leur score cesse alors d’être une estimation sans biais.
  • Données d’entraînement : Seule partition à partir de laquelle l’optimiseur apprend les poids.
  • Validation croisée : Procédure qui fait varier les exemples utilisés comme données de validation et produit K scores de validation à partir d’un seul jeu de données.
  • Validation dans les écrits cliniques et réglementaires : En médecine et dans les secteurs réglementés, valider un modèle désigne souvent l’évaluation du modèle final sur des données externes indépendantes, ce qui correspond à l’ensemble de test dans la terminologie de l’apprentissage automatique.

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