Améliorez vos modèles d'apprentissage automatique grâce à l'augmentation des données. Découvrez des techniques pour améliorer la précision, réduire le surapprentissage et améliorer la robustesse.
L'augmentation des données est une technique essentielle dans l'apprentissage automatique et la vision par ordinateur, utilisée pour augmenter artificiellement la taille et la diversité d'un ensemble de données d'entraînement en créant des versions modifiées des données existantes. Plutôt que de collecter et d' étiqueter des données entièrement nouvelles, ce qui peut être long et coûteux, l'augmentation applique diverses transformations aux échantillons originaux. Ces modifications aident les modèles d'apprentissage automatique à apprendre à reconnaître les modèles de manière plus robuste, garantissant ainsi leur bon fonctionnement même lorsqu'ils rencontrent des variations dans des environnements réels. En exposant les modèles à un plus large éventail de scénarios pendant l'entraînement, les développeurs peuvent réduire efficacement le surajustement et améliorer la généralisation.
Dans le domaine de la vision par ordinateur, les modèles ont souvent du mal à traiter des images qui diffèrent légèrement de leurs données d'entraînement. Les variations d'éclairage, d' orientation ou d'encombrement de l'arrière-plan peuvent perturber un modèle qui n'a pas vu suffisamment de diversité. L'augmentation des données permet de remédier à ce problème en simulant ces variations par programmation. Par exemple, une image d'un chat peut être pivotée, retournée ou légèrement floutée pour apprendre au modèle que le sujet reste un « chat » indépendamment de ces changements.
Ce processus est essentiel au succès des architectures modernes telles que Ultralytics , qui s'appuie sur des ensembles de données riches et variés pour atteindre une grande précision dans des tâches telles que la détection d'objets et la segmentation d'images. En synthétisant de nouveaux exemples d'entraînement , l'augmentation permet aux modèles d'apprendre des caractéristiques invariantes, c'est-à-dire des caractéristiques qui ne changent pas malgré les modifications apportées à l'entrée.
L'augmentation des données englobe un large éventail de techniques de transformation, allant de simples ajustements géométriques à des approches génératives complexes :
L'impact pratique de l'augmentation des données s'étend à de nombreux secteurs où la rareté ou la forte variabilité des données constitue un défi.
Dans le cadre du développement des véhicules autonomes, il est pratiquement impossible de collecter des données pour toutes les conditions météorologiques ou tous les scénarios d'éclairage possibles. Les ingénieurs utilisent l'augmentation des données pour simuler la pluie, le brouillard, la neige ou l'éblouissement sur des images prises par temps clair. Cela garantit que le système de perception peut detect de manière fiable detect , les panneaux de signalisation et les autres véhicules, quels que soient les facteurs environnementaux, ce qui améliore la sécurité et la fiabilité.
L'analyse d'images médicales souffre souvent de l'insuffisance des ensembles de données en raison des préoccupations liées à la confidentialité et de la rareté de certaines pathologies. L'augmentation permet aux chercheurs d' élargir les petits ensembles de données de radiographies ou d'IRM en appliquant des déformations élastiques, des rotations ou des changements d'intensité. Cela aide à former des modèles de diagnostic robustes capables d'identifier les tumeurs ou les fractures avec une grande sensibilité, même lorsque la position du patient ou la qualité du scan varie.
Il est important de différencier l'augmentation des données des données synthétiques. Si les deux visent à augmenter la taille des ensembles de données, les données synthétiques sont générées artificiellement à partir de zéro (souvent à l'aide de moteurs de rendu ou de simulation 3D), tandis que l'augmentation des données modifie les données existantes du monde réel. En outre, le prétraitement des données implique le nettoyage et le formatage des données (par exemple, redimensionnement, normalisation) afin de les rendre adaptées à un modèle, mais contrairement à l'augmentation, il n'augmente pas nécessairement le nombre d'échantillons d'entraînement.
Les frameworks modernes intègrent directement l'augmentation dans le pipeline de formation. L'exemple ci-dessous montre comment
appliquer des augmentations telles que le retournement et la mise à l'échelle pendant la formation d'un modèle YOLO26 à l'aide du
ultralytics l'emballage.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Train with custom data augmentation hyperparameters
# fliplr: 50% chance of horizontal flip, scale: image scaling gain
results = model.train(data="coco8.yaml", epochs=10, fliplr=0.5, scale=0.5)
En ajustant ces hyperparamètres, les développeurs peuvent adapter la stratégie d'augmentation aux besoins spécifiques de leur ensemble de données et de leur application, en tirant parti de la flexibilité de Ultralytics pour un développement efficace des modèles.