L'augmentation de données (data augmentation) consiste à élargir artificiellement un jeu d'entraînement en appliquant des transformations qui préservent le sens des exemples existants. C'est comme apprendre à un enfant à reconnaître un chat : on lui montre la même photo de profil, à l'envers, dans la pénombre ou en gros plan — il s'agit toujours d'un chat, mais le cerveau apprend l'invariance plutôt que de mémoriser une seule image.
Comment ça marche
À partir de chaque exemple original, on génère des variantes plausibles. Le modèle voit ainsi davantage de diversité sans qu'il faille collecter de nouvelles données réelles, souvent coûteuses ou rares.
| Domaine | Transformations courantes |
|---|---|
| Images | rotation, recadrage, miroir, bruit, variation de luminosité |
| Texte | synonymes, traduction aller-retour, masquage de mots |
| Audio | décalage temporel, ajout de bruit, changement de hauteur |
Des méthodes plus avancées comme Mixup combinent deux exemples par interpolation linéaire :
$$\tilde{x} = \lambda x_i + (1-\lambda) x_j, \quad \tilde{y} = \lambda y_i + (1-\lambda) y_j$$
Pourquoi c'est utile
- Réduit le surapprentissage (overfitting) en exposant le modèle à plus de variété.
- Améliore la généralisation sur des données jamais vues.
- Compense les jeux de données petits ou déséquilibrés.
Le danger : une transformation trop agressive peut dénaturer le sens (retourner un « 6 » donne un « 9 », un miroir change la latéralité médicale). Les augmentations doivent rester réalistes et cohérentes avec la tâche.
Augmenter les données, ce n'est pas inventer de l'information : c'est apprendre au modèle ce qui doit rester invariant.