La précision et l’efficacité du Deep Learning dépendent largement de la qualité et de la quantité des données d'apprentissage. Et même si nous sommes pleinement dans l’ère du Big data , la quantité d’information disponible est parfois insuffisante dans la construction de modèle d'apprentissage profond. C’est à cet instant qu’intervient la data augmentation. Alors de quoi s’agit-il ? Comment ça fonctionne ? Quels sont les avantages et inconvénients ? C’est ce que nous allons voir dans cet article.
Qu'est-ce que la Data Augmentation ?
La data augmentation (ou augmentation des données) permet d’accroître artificiellement la quantité de données utilisées par les outils de Deep Learning. L’idée est alors de générer de nouveaux points de données à partir de données existantes, que ce soit en apportant des modifications mineures aux données, ou même en utilisant d’autres modèles d’apprentissage automatique chargés d’amplifier l’ensemble de données.
À ce titre, il convient de faire la différence entre :
- Les données synthétiques : ce sont les données générées artificiellement sans référence du monde réel. La plupart du temps, elles sont produites par des réseaux adverbiaux génératifs.
- Les données augmentées : ces dernières proviennent de données originales, auxquelles ont été ajoutées des transformations mineures (comme la traduction de données textuelles dans une autre langue, la rotation d’une image ou l’ajout de bruit sur une vidéo). Ces transformations permettent ainsi d’augmenter la diversité de l’ensemble d’apprentissages.
Bien souvent, les données augmentées sont privilégiées par les organisations de par leur plus forte ressemblance avec la réalité. Cela dit, dans certains cas, les données synthétiques peuvent se révéler plus pertinentes. Notamment lorsqu’il s’agit de respecter le RGPD (nous y reviendrons plus tard).
Aujourd’hui, les méthodes de data augmentation sont largement utilisées dans les applications de Deep Learning. Par exemple, pour la détection d’objets, la classification d’images, la reconnaissance d’images, la compréhension du langage naturel, la segmentation sémantique, etc.
Comment fonctionne l’augmentation des données ?
Pour faire la différence entre un chat, un chien, un cheval ou un dauphin, un modèle de Deep Learning a besoin d’une multitude de photos représentant ces différents animaux. Et surtout, il doit disposer d’images variées. C’est-à-dire avec différentes orientations, emplacements, échelles, luminosités… Ce n’est que lorsqu’il est capable de classer avec précision ces différents animaux, peu importe leur orientation, taille ou éclairage qu’il est vraiment opérationnel. On parle alors de réseau neuronal convolutif (CNN).
C’est sur cette conclusion que se base l’utilisation de la data augmentation. L’idée est de manipuler les données en ajoutant, supprimant ou modifiant divers paramètres, afin de fournir au modèle d’apprentissage un ensemble de données d’entraînement très varié. Plus le jeu de données propose de variables, plus le CNN est capable d’apprendre des caractéristiques complexes de différenciation.
Alors pour proposer un maximum de paramètres, le processus d’augmentation des données se met en place. Cela dit, la technique de data augmentation varie selon le type de données utilisé.
Pour les données visuelles
- L’introduction des données d’entrée dans le pipeline d’enrichissement des données ;
- L’implémentation des étapes séquentielles de différentes augmentations, telles que rotation, modification des couleurs (passage de l’échelle de gris à l’échelle RVB), flou et retournement (vertical et horizontal).
- Le traitement de l’image à chaque étape séquentielle avec attribution d’une probabilité ;
- La vérification aléatoire des résultats augmentés par un humain ;
- L’utilisation des données augmentées par le processus de formation de l‘IA.
Pour les données textuelles
- L’augmentation facile des données : par exemple à travers le remplacement de synonymes, l’insertion, l’échange et la suppression de mots.
- La rétrotraduction : le texte traduit de la langue cible est retraduit vers sa langue d’origine.
- Les enchâssements de mots contextualisés : l’idée est alors de créer des relations entre les mots, entre les phrases.
Quels sont les avantages et inconvénients ?
Avantages
L’augmentation des données est une méthode peu coûteuse et efficace qui permet de pallier de nombreux problèmes dans la conception de réseaux neuronaux Deep Learning.
D’une part, les organisations sont traditionnellement dépendantes du processus de collecte et de préparation des données. En effet, pour construire des modèles d’IA de haute précision, elles ont besoin de données qualitatives en grande quantité. Mais si la collecte et la préparation des données sont indispensables au Deep Learning, cette étape est extrêmement chronophage et coûteuse. À l’inverse, l’augmentation des données permet d’obtenir de grandes quantités de données qualitatives en un temps record.
D’autre part, lorsque les entreprises collectent et utilisent des données à caractère personnel, elles doivent respecter la réglementation en matière de respect de la vie privée. Ce qui peut limiter le nombre de données disponibles et exploitables. Ici, la génération de données synthétiques permet d’obtenir les volumes de données requis, sans pour autant porter atteinte aux droits des individus à la vie privée.
Mais surtout, en générant de nouvelles données artificiellement, la data augmentation permet aux modèles d’apprentissage profond d’utiliser des ensembles de données d’entraînement plus vastes et plus complets. Leur performance et la pertinence des résultats obtenus s’en trouvent fortement améliorées.
Inconvénients
Malgré tous les bénéfices de la data augmentation, il convient d’être conscient des limites de cette méthode d’enrichissement des données :
- Les biais inhérents aux données originales persistent dans les données augmentées, et peuvent même être renforcés.
- La garantie de la qualité des ensembles de données augmentés artificiellement a aussi un coût.
- La création de données synthétiques nécessite des ressources importantes (compétences, applications avancées, recherche et développement…).
Se former au Deep Learning avec DataScientest
Au-delà de la data augmentation, la conception de modèles de Deep Learning nécessite une multitude de compétences techniques avancées (langage de programmation, data engineering, IA, data visualisation, …). C’est justement pour cette raison que Datascientest vous propose sa formation en Deep Learning.