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é[1], à savoir une mauvaise performance du modèle ou bien un surapprentissage ou l’introduction de biais[2].
Principe
[modifier | modifier le code]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[2].
Méthodes
[modifier | modifier le code]Dans le domaine de la vision par ordinateur
[modifier | modifier le code]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
[modifier | modifier le code]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[3],[4],[5].
Transformation par précision
[modifier | modifier le code]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[6],[4].
Transformation par effacement
[modifier | modifier le code]Cette méthode consiste à créer une nouvelle image en enlevant directement certains pixels[7],[5].
Substitution des pixels
[modifier | modifier le code]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[8],[5].
Génération d'image
[modifier | modifier le code]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[9].
Dans le domaine du traitement automatique des langues
[modifier | modifier le code]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.
Supression aléatoire
[modifier | modifier le code]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[7],[1].
Donnée initiale | Le jeune chien sort dans le parc |
---|---|
Donnée augmentée | Le june chien dans le prc |
Insertion aléatoire
[modifier | modifier le code]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[7],[1].
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
[modifier | modifier le code]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[7],[1].
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
[modifier | modifier le code]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[1],[7].
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
[modifier | modifier le code]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[10].
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
[modifier | modifier le code]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
[modifier | modifier le code]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[11],[7].
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
[modifier | modifier le code]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[12].
Dans le domaine des séries temporelles
[modifier | modifier le code]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[13].
Limites
[modifier | modifier le code]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[5].
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[14].
Notes et références
[modifier | modifier le code]- (en) Jason Wei et Kai Zou, « EDA: Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks », Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), Association for Computational Linguistics, , p. 6381–6387 (DOI 10.18653/v1/D19-1670, lire en ligne, consulté le )
- Alex Krizhevsky et Ilya Sutskever, « ImageNet classification with deep convolutional neural networks », Communications of the ACM, vol. 60, no 6, , p. 84–90 (ISSN 0001-0782, DOI 10.1145/3065386, lire en ligne, consulté le )
- Wei Zhang et Yungang Cao, « A new data augmentation method of remote sensing dataset based on Class Activation Map », Journal of Physics: Conference Series, vol. 1961, no 1, , p. 012023 (ISSN 1742-6588 et 1742-6596, DOI 10.1088/1742-6596/1961/1/012023, lire en ligne, consulté le )
- (en) st Lt. Pushkar Aggarwal, « Data augmentation in dermatology image recognition using machine learning », Skin Research and Technology, vol. 25, no 6, , p. 815–820 (DOI 10.1111/srt.12726, lire en ligne, consulté le )
- (en) Xuejie Hao, Lu Liu, Rongjin Yang et Lizeyan Yin, « A Review of Data Augmentation Methods of Remote Sensing Image Target Recognition », Remote Sensing, vol. 15, no 3, , p. 827 (ISSN 2072-4292, DOI 10.3390/rs15030827, lire en ligne, consulté le )
- « Convolutional Neural Network With Data Augmentation for SAR Target Recognition | IEEE Journals & Magazine | IEEE Xplore », sur ieeexplore.ieee.org (DOI 10.1109/lgrs.2015.2513754, consulté le )
- Bohan Li, Yutai Hou et Wanxiang Che, « Data augmentation approaches in natural language processing: A survey », AI Open, vol. 3, , p. 71–90 (ISSN 2666-6510, DOI 10.1016/j.aiopen.2022.03.001, lire en ligne, consulté le )
- « Fully Automated Traffic Sign Substitution in Real-World Images for Large-Scale Data Augmentation | IEEE Conference Publication | IEEE Xplore », sur ieeexplore.ieee.org (DOI 10.1109/iv47402.2020.9304547, consulté le )
- (en) Carlos Medel-Vera, Pelayo Vidal-Estévez et Thomas Mädler, « A convolutional neural network approach to classifying urban spaces using generative tools for data augmentation », International Journal of Architectural Computing, (ISSN 1478-0771 et 2048-3988, DOI 10.1177/14780771231225697, lire en ligne, consulté le )
- Lucas Francisco Amaral Orosco Pellicer, Taynan Maier Ferreira et Anna Helena Reali Costa, « Data augmentation techniques in natural language processing », Applied Soft Computing, vol. 132, , p. 109803 (ISSN 1568-4946, DOI 10.1016/j.asoc.2022.109803, lire en ligne, consulté le )
- (en) Yanbin Zhao, Lu Chen, Zhi Chen et Kai Yu, « Semi-Supervised Text Simplification with Back-Translation and Asymmetric Denoising Autoencoders », Proceedings of the AAAI Conference on Artificial Intelligence, vol. 34, no 05, , p. 9668–9675 (ISSN 2374-3468, DOI 10.1609/aaai.v34i05.6515, lire en ligne, consulté le )
- Nicolás Benjamín Ocampo, Elena Cabrio et Serena Villata, « Playing the Part of the Sharp Bully: Generating Adversarial Examples for Implicit Hate Speech Detection », Findings of the Association for Computational Linguistics: ACL 2023, Association for Computational Linguistics, , p. 2758–2772 (DOI 10.18653/v1/2023.findings-acl.173, lire en ligne, consulté le )
- Cheolhwan Oh, Seungmin Han et Jongpil Jeong, « Time-Series Data Augmentation based on Interpolation », Procedia Computer Science, the 17th International Conference on Mobile Systems and Pervasive Computing (MobiSPC),The 15th International Conference on Future Networks and Communications (FNC),The 10th International Conference on Sustainable Energy Information Technology, vol. 175, , p. 64–71 (ISSN 1877-0509, DOI 10.1016/j.procs.2020.07.012, lire en ligne, consulté le )
- (en) Steven Feng, Varun Gangal, Jason Wei et Sarath Chandar, « A Survey of Data Augmentation Approaches for NLP », Findings of the Association for Computational Linguistics: ACL-IJCNLP 2021, Association for Computational Linguistics, , p. 968–988 (DOI 10.18653/v1/2021.findings-acl.84, lire en ligne, consulté le )