# Augmentation de donnée

L'augmentation de donnée est un domaine de l'apprentissage automatique qui permet de diminuer les inconvénients lié au manque de données ou à la répartition inégale de classes dans le cas de l'apprentissage supervisé, à savoir une mauvaise performance du modèle ou bien un surapprentissage ou l’introduction de biais.

## Principe

Le but de l'augmentation de donnée est d'augmenter de manière automatique la taille du jeu de donnée en utilisant différentes méthodes qui permettent de créer de nouvelles instance à partir des données originiales.

## Méthodes
### Dans le domaine de la vision par ordinateur

En vision par ordinateur, afin de créer de nouvelles données, il suffit de transformer une des images faisant partie de notre jeu de donnée en utilisant des méthodes du domaine du traitement de l'image.

#### Transformation géométrique

En utilisant les méthodes de traitement de l'image, il est possible de modifier l'image en faisant par exemple un zoom, une rotation ou bien une inversion de l'image$^,$$^,$.

#### Transformation par précision

Dans cette méthode, on créer une nouvelle image à partir de l'ancienne en augmentant ou bien en diminuant la résolution de l'image originale$^,$.

#### Transformation par effacement

Cette méthode consiste à créer une nouvelle image en enlevant directement certains pixels$^,$.

#### Substitution des pixels

Cette méthode utilise une base de connaissance afin de modifier les pixels d'une image tout en conservant le sens principal de l'image$^,$.

#### Génération d'image

Avec l'arrivée de l'intelligence artificielle générative en image avec par exemple DALL-E ou bien midjourney, une nouvelle méthode consiste à utiliser cette intelligence artificielle générer de nouvelles images à partir d'un script pour obtenir plus de données.

### Dans le domaine du traitement automatique des langues

En traitement automatique des langues, afin de créer de nouvelles données, il existe de nombreuses méthodes permettant d'augmenter le jeu de données.

#### Suppression aléatoire

La suppression aléatoire consiste à enlever de manière aléatoire des lettres dans un mot ou bien des mots dans une phrase afin de créer un nouveau texte$^,$.
| Donnée initiale | Le jeune chien sort dans le parc |
| Donnée augmentée | Le june chien dans le prc |

#### Insertion aléatoire

L'insertion aléatoire consiste à ajouter de manière aléatoire des lettres dans un mot ou bien des mots dans une phrase afin de créer un nouveau texte$^,$.
| Donnée initiale | Le jeune chien sort dans le parc |
| Donnée augmentée | Le jeuyne chiegn sort maison dans fromage le parc |

#### Remplacement aléatoire

Le remplacement aléatoire consiste à remplacer de manière aléatoire des lettres dans un mot ou bien des mots dans une phrase afin de créer un nouveau texte$^,$.
| Donnée initiale | Le jeune chien sort dans le parc |
| Donnée augmentée | La jyune chfen sort dans le porc |

#### Le remplacement par synonyme

Cette méthode fonctionne de la même manière que le remplacement aléatoire. Cependant, dans ce cas, au lieu de remplacer les mots par des mots aléatoire, on utilise un modèle de langage afin de savoir quel mot est, dans le contexte de la phrase, le synonyme du mot à remplacer afin de pouvoir générer un nouveau texte qui garde le même sens que le texte initial$^,$.
| Donnée initiale | Le jeune chien sort dans le parc |
| Donnée augmentée | Le jeune chat sort dans le jardin |

#### L'insertion par synonyme

Cette méthode fonctionne de la même manière que l'insertion aléatoire. Cependant, dans ce cas, au lieu d'insérer des mots de manière aléatoire, on utilise un modèle de langage afin de savoir quel mot est, dans le contexte de la phrase, le mot le plus logique à insérer.
| Donnée initiale | Le jeune chien sort dans le parc |
| Donnée augmentée | Le jeune chien brun sort dans le joli parc |

#### L'échange

Cette méthode consiste à échanger la position de différents mots dans la phrase afin de créer un nouveau texte.
| Donnée initiale | Le jeune chien sort dans le parc |
| Donnée augmentée | Le jeune parc sort dans le chien |

#### La traduction inversée

Dans cette méthode, pour générer un nouveau texte, on traduit le texte orignial dans une autre langue comme par exemple, le chinois puis on traduit à le texte obtenu dans la langue originale$^,$.
| Donnée initiale | Le jeune chien sort dans le parc |
| Donnée intermédiaire | 小狗在公园里出去 |
| Donnée augmentée | Chiot dans le parc |

#### La génération de données

Avec l'arrivée de l'intelligence artificielle générative en image avec par exemple ChatGPT, une nouvelle méthode consiste à utiliser cette intelligence artificielle générer de nouvelles images à partir d'un script pour obtenir plus de données.

### Dans le domaine des séries temporelles

Dans le domaine des séries temporelles les méthodes existantes sont plus mathématique. Par exemple il est possible de créer de nouvelles séries temporelles par interpolation.

## Limites

Bien que l'augmentation de donnée soit une méthode pratique pour résoudre les problèmes des petit jeux de données, certaines limites ont été recensées. En traitement de l'image, en dehors de la génération d'image, les autres méthode ne rajouentant pas de nouvelles informations et peuvent si elle sont mal utilisés, créer un biais algorithmique.
En traitement automatique des langues, il existe aussi ce problème du manque de nouvelles informations. De plus, l'ajout de nouveau mot peut amener à un changement sémantique de la phrase qui peut perdre le sens compréhensible par un humain mais également parasiter le jeu de donnée.