Glossaire

Augmentation des données

Améliore tes modèles d'apprentissage automatique grâce à l'augmentation des données. Découvre des techniques pour booster la précision, réduire l'overfitting et améliorer la robustesse.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

L'augmentation des données est une technique utilisée en apprentissage automatique (ML) pour augmenter artificiellement la taille et la diversité d'un ensemble de données d'entraînement en créant des copies modifiées de points de données existants ou en générant de nouvelles données synthétiques à partir de ces derniers. Ce processus permet d'améliorer les performances, la généralisation et la robustesse des modèles ML, en particulier dans des domaines comme la vision par ordinateur où la collecte de vastes quantités de données variées peut s'avérer difficile et coûteuse. En exposant des modèles comme Ultralytics YOLO à un plus grand nombre de variations pendant la formation, l'augmentation des données leur permet d'être plus performants sur des données inédites du monde réel.

Comment fonctionne l'augmentation des données

L'augmentation des données applique diverses transformations aux points de données originaux pour créer de nouveaux exemples plausibles. Pour les données d'image, les techniques courantes comprennent :

  • Transformations géométriques : Rotation, mise à l'échelle, translation (décalage), retournement (horizontal ou vertical) et cisaillement des images.
  • Transformations de l'espace couleur : Réglage de la luminosité, du contraste, de la saturation, de la teinte ou application de la gigue des couleurs.
  • Injection de bruit : Ajout d'un bruit aléatoire (par exemple, un bruit gaussien) pour simuler les imperfections du capteur ou les conditions de faible luminosité.
  • Effacement/découpage aléatoire : Suppression de parcelles aléatoires d'une image pour encourager le modèle à se concentrer sur les différentes parties d'un objet.
  • Mélange d'images : Combinaison de plusieurs images, comme dans l'augmentation Mosaic (utilisée dans des modèles comme YOLOv4) ou MixUp, pour créer des échantillons d'entraînement composites.

Bien qu'elles soient surtout utilisées dans le domaine de la vision par ordinateur, les techniques d'augmentation existent également pour d'autres types de données, comme le remplacement de synonymes ou la rétro-traduction pour les données textuelles dans le traitement du langage naturel (NLP).

Importance et avantages

L'augmentation des données offre plusieurs avantages clés dans le développement de modèles de ML :

  • Réduit les problèmes de pénurie de données : Il élargit les ensembles de données limités, ce qui rend possible la formation de modèles complexes comme les réseaux neuronaux profonds, même lorsque de grandes quantités de données originales ne sont pas disponibles.
  • Empêche l'ajustement excessif : En introduisant des variations, l'augmentation permet d'éviter que les modèles ne se contentent de mémoriser les données d'apprentissage(surajustement) et les encourage à apprendre des caractéristiques plus généralisables. Lis nos conseils sur la formation des modèles pour plus de stratégies.
  • Améliore la robustesse du modèle : L'entraînement sur des données augmentées rend les modèles moins sensibles aux variations d'entrée, telles que les changements d'éclairage, d'orientation ou d'échelle, ce qui permet d'obtenir de meilleures performances dans diverses conditions du monde réel.
  • Efficacité en termes de coûts et de temps : Il est souvent moins coûteux et plus rapide d'augmenter les données existantes que de collecter et d'étiqueter de nouvelles données.

Techniques et outils

Diverses bibliothèques simplifient la mise en œuvre des techniques d'augmentation des données. Pour les tâches de vision par ordinateur, les outils populaires comprennent :

  • Albumentations : Une bibliothèque rapide et flexible offrant un large éventail de techniques d'augmentation, qui s'intègre de manière transparente avec des frameworks tels que PyTorch et TensorFlow. Ultralytics fournit une intégration pour Albumentations afin d'améliorer les données d'entraînement pour les modèles YOLO .
  • Couches de prétraitement Keras : L'API Keras deTensorFlow comprend des couches pour l'augmentation des images.
  • Transformations Torchvision : La bibliothèque torchvision dePyTorch propose des transformations d'images courantes.

Les modèles Ultralytics intègrent plusieurs techniques d'augmentation intégrées, et les utilisateurs peuvent gérer les ensembles de données et les modèles à l'aide de plateformes comme Ultralytics HUB.

Applications dans le monde réel

L'augmentation des données est largement utilisée dans divers domaines :

  1. Imagerie médicale : Dans le domaine de la santé, l'obtention de grands ensembles de données diversifiées d'images médicales (comme les radiographies ou les tomodensitogrammes) peut être difficile en raison des réglementations sur la protection de la vie privée et de la rareté de certaines conditions. L'augmentation des données (par exemple, rotation, zoom, ajustement du contraste) aide à former des modèles robustes pour des tâches telles que la détection des tumeurs ou la classification des maladies, améliorant ainsi la précision du diagnostic. Il s'agit là d'un élément clé pour faire progresser l'IA dans le domaine de la santé.
  2. Véhicules autonomes : Les voitures autonomes s'appuient fortement sur la détection des objets pour percevoir leur environnement. Augmenter les images d'entraînement en simulant différentes conditions météorologiques (pluie, brouillard), l'éclairage (jour, nuit), en ajoutant des occlusions ou en variant les perspectives des objets permet de s'assurer que le système de perception du véhicule fonctionne de manière fiable dans divers scénarios de conduite. Cela permet d'améliorer la sécurité dans les applications de l 'IA pour l'automobile.

Augmentation des données et données synthétiques

Bien que liée, l'augmentation des données est distincte de la génération de données synthétiques. L'augmentation des données consiste généralement à appliquer des transformations à des points de données réels existants pour en créer des versions légèrement modifiées. En revanche, les données synthétiques font référence à des données entièrement nouvelles générées artificiellement, souvent à l'aide de simulations, d'algorithmes ou de modèles génératifs comme les GAN, sans nécessairement partir d'un point de données réel. Les deux techniques visent à améliorer les ensembles de données, mais les données synthétiques peuvent potentiellement créer des scénarios qui ne sont pas du tout présents dans les données originales, tandis que l'augmentation accroît principalement la variance autour des données existantes.

Tout lire