Data Augmentation : Définition et Exemples
La data augmentation est une technique qui consiste à enrichir artificiellement un jeu de données d'entraînement en créant des variations des données existantes, afin d'améliorer les performances et la robustesse des modèles d'intelligence artificielle.
Définition complète
La data augmentation (ou augmentation de données) est une stratégie fondamentale en machine learning qui permet de multiplier la taille et la diversité d'un jeu de données sans avoir à collecter de nouvelles données réelles. Elle repose sur l'application de transformations contrôlées aux données existantes pour générer de nouveaux exemples d'entraînement plausibles.
Dans le domaine de la vision par ordinateur, cela peut inclure des rotations, des recadrages, des inversions horizontales, des modifications de luminosité ou l'ajout de bruit à des images. En traitement du langage naturel (NLP), les techniques incluent la paraphrase, la substitution de synonymes, la traduction aller-retour (back-translation) ou encore la génération de texte synthétique à l'aide de grands modèles de langage.
L'objectif principal est de réduire le surapprentissage (overfitting) en exposant le modèle à une plus grande variété de situations pendant l'entraînement. Un modèle entraîné sur des données augmentées apprend à être plus robuste face aux variations qu'il rencontrera en production, ce qui améliore sa capacité de généralisation.
En prompt engineering, le concept de data augmentation s'applique indirectement : on peut utiliser un LLM pour générer des variations de prompts, créer des jeux de données synthétiques pour le fine-tuning, ou produire des exemples diversifiés pour le few-shot learning. Cette approche est particulièrement utile lorsque les données annotées sont rares ou coûteuses à obtenir.
Étymologie
Le terme vient de l'anglais « data » (données) et « augmentation » (du latin augmentatio, action d'augmenter). Il est apparu dans la littérature du deep learning au début des années 2010, notamment avec l'essor des réseaux de neurones convolutifs (CNN) appliqués à la classification d'images, où l'insuffisance de données étiquetées constituait un frein majeur.
Exemples concrets
Générer des données synthétiques pour entraîner un classifieur de texte
Tu es un expert en génération de données. À partir de cette phrase : "Le service client a été très réactif", génère 10 paraphrases variées qui conservent le même sentiment positif, en variant le vocabulaire, la structure et le registre de langue.
Créer des exemples diversifiés pour du few-shot learning
Je construis un système de classification d'emails. Voici un exemple d'email de réclamation : [exemple]. Génère 5 variations réalistes de réclamations clients avec des sujets différents (livraison, facturation, qualité produit, SAV, remboursement) tout en gardant un ton similaire.
Augmenter un dataset de questions-réponses pour un chatbot
Voici une FAQ avec 20 questions-réponses sur notre produit. Pour chaque question, génère 3 reformulations naturelles que de vrais utilisateurs pourraient poser, en incluant des formulations familières, des fautes courantes et des variations régionales du français.
Usage pratique
En prompt engineering, la data augmentation permet de générer rapidement des jeux de données synthétiques de qualité pour entraîner ou évaluer des modèles. Utilisez un LLM pour créer des paraphrases, des traductions ou des variations stylistiques de vos données existantes. C'est une technique particulièrement rentable pour les projets disposant de peu de données annotées, car elle réduit considérablement le coût et le temps de constitution d'un dataset.
Concepts liés
FAQ
Quelle est la différence entre data augmentation et données synthétiques ?
La data augmentation peut-elle dégrader les performances d'un modèle ?
Comment utiliser un LLM comme ChatGPT ou Claude pour faire de la data augmentation ?
Voir aussi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.