Qu’est-ce que les GANs (réseaux antagonistes génératifs) ?

26 août 2021

Dans le cadre de cette série consacrée au Deep Learning et faisant suite à un premier article expliquant  ce qu’est un réseau de neurones convolutifs, j’ai choisi de vous présenter pour ce deuxième article les réseaux antagonistes génératifs.

Définition d’un GAN 

Cette nouvelle classe d’algorithmes se base sur la théorie des réseaux de neurones développée à partir des années 1940. La principale utilisation des réseaux antagonistes génératifs, abrégés en GANs pour Generative Adversarial Networks, est de permettre la génération d’images. Mais ils sont également utilisés pour générer du texte ou des données tabulaires classiques.

Les applications des GANs sont très variées. Il sont utilisés pour produire de fausses images réalistes lorsque les données sont chères ou difficiles à obtenir, notamment dans le domaine médical, pour coloriser des images et des vidéos originellement en noir et blanc mais également pour  augmenter la résolution d’images de mauvaise qualité. 

Comment fonctionnent les GANs ?

Les GANs ont été inventés en 2014 par le chercheur en Deep Learning Ian Goodfellow. En pratique, un réseau antagoniste génératif est constitué de 2 réseaux de neurones qui fonctionnent de manière antagoniste : le générateur et le discriminateur. Le rôle du générateur est de produire de fausses images pour tromper le discriminateur alors que ce dernier tente, comme son nom l’indique, de distinguer les fausses images des vraies. Lors de la phase d’apprentissage, les 2 réseaux sont entraînés simultanément : le discriminateur a accès à une base de vraies images ainsi qu’aux fausses et donne son feedback au générateur, lequel essaie de produire de nouvelles fausses images plus réalistes qu’à l’itération précédente. L’entrainement des 2 réseaux s’arrête lorsque le discriminateur n’est plus capable de discerner les vraies images des fausses. On peut dès lors utiliser le générateur à notre guise pour créer de fausses images.

Vous trouverez ci-dessous des chiffres générés par un GAN. On constate qu’au fil des itérations de l’apprentissage de l’algorithme, les chiffres sont de plus en plus proches de la réalité.

Une bonne métaphore permettant de comprendre les 2 modèles qui constituent un GAN serait de considérer le générateur comme un élève apprenant à peindre et le discriminateur comme un professeur évaluant les peintures de l’élève et l’aidant à s’améliorer.

Quels sont les domaines d’application des Generative Adversarial Networks ?

La data augmentation

La première application des GANs est la possibilité de compléter des jeux de données de faible volumétrie en créant de fausses images réalistes : on parle de data augmentation. Cette fonctionnalité est utile dans de nombreux domaines tel que la médecine, où il est parfois difficile d’obtenir beaucoup d’images. Les GANs se sont perfectionnés depuis leur création et permettent de générer aujourd’hui des images très proches de la réalité.

Image-to-image translation

Une deuxième application des réseaux antagonistes génératifs consiste à transformer certains éléments d’une image en d’autres éléments : on parle d’image-to-image translation. Cette technique fonctionne aussi sur les vidéos puisqu’une vidéo n’est rien d’autre qu’une suite d’images. L’exemple le plus célèbre pour illustrer cette application est une vidéo de cheval transformé en zèbre par un type de GAN particulier, le CycleGan en l’espèce.

Amélioration et modification des images grâce aux GANs et à l’IA

Une autre application des GANs concernent la restauration d’images, notamment la colorisation d’images en noir et blanc ou encore la conversion en haute définition d’images de mauvaise qualité.

Ils  sont également utilisés pour les filtres Snapchat ainsi que par les équipes de Nicolas Canteloup dans son émission “C’est Canteloup” sur TF1 pour substituer son visage à celui des personnalités qu’il imite !

Génération d’images réalistes via le machine learning avec StyleGan

Développé par des chercheurs de Nvidia en 2018, le Generative Adversarial Networks StyleGan permet de créer des visages humains qui n’existent pas. Cet algorithme produit des images de haute qualité rendant les visages générés quasi indiscernables de véritables visages. Une technologie qui pourrait être utilisée dans les jeux vidéo pour créer de nouveaux personnages, par exemple.

Utilisation malveillante du Deep Learning et biais des GANs

Malheureusement, cette véritable avancée en Deep Learning s’accompagne de potentielles utilisations malveillantes de ces algorithmes. En 2017 dans une vidéo devenue célèbre, on peut voir Barack Obama prononcer des phrases qu’il n’a jamais dites. En réalité, ces paroles ont été prononcées par l’acteur Jordan Peele avec le visage de l’ancien président des Etats-Unis afin de dénoncer les dangers d’une utilisation malintentionnée des nouvelles technologies liées à l’Intelligence Artificielle (IA). Le terme Deepfake est né à cette occasion pour nommer cette technique consistant à remplacer une image par une autre dans le but de créer des infox (ou fake news) ou des canulars de fort mauvais goût.

La seconde mise en garde pour les futurs utilisateurs et créateurs de GANs concerne la création ou le renforcement de biais liés au genre ou à l’ethnie. En effet nous ne voulons pas, à l’aide de cette nouvelle classe d’algorithmes puissants, renforcer les discriminations dont certaines minorités sont déjà victimes. Un exemple concernant ce type de biais à éviter est une image d’Obama flouté changé en homme blanc lors de l’utilisation d’un réseau antagoniste génératif permettant la restauration en haute définition.

L’une des causes de ce biais peut provenir du jeu d’apprentissage ayant servi à l’entraînement du GAN avec une sous-représentation de certaines minorités ethniques. L’étude des biais et leur correction est un champ de recherche en Intelligence Artificielle et en Deep Learning actuellement très actif.

Conclusion

Les réseaux antagonistes génératifs, nés en 2014, sont en train de réaliser la tâche la plus difficile qu’un programme puisse accomplir : la créativité. Leur première utilisation a été de pouvoir produire de fausses images réalistes et ainsi augmenter les jeux de données. Avec le temps, les modèles se sont perfectionnés et les utilisations se sont diversifiées. On peut désormais convertir en haute définition des images floutées ou en noir et blanc, transformer une image en une autre, et aussi remplacer un visage réel ou fictif par un autre. Les peintures parlantes de la série de livres Harry Potter ne sont plus une fiction !

Cependant, il faut mettre en garde les futurs créateurs de GANs en leur expliquant les potentiels biais que ces modèles peuvent induire si les bases d’apprentissage ne sont pas assez représentatives. L’IA doit être utilisée de manière éthique pour servir le bien commun et non renforcer des discriminations déjà existantes. Comme l’a si bien dit Churchill : “Là où l’on trouve un grand pouvoir, on trouve une grande responsabilité.”

Florent L., Data Scientist chez Valeuriad

Pour aller plus loin :

Spécialisation GANs sur Coursera, Sharon Zhou, 2020

Suivre les dernières actualités liées à l’IA, Andrew Ng

Valeuriad
Par Valeuriad
26 août 2021
Nos derniers articles
La théorie du Chaos

Le Chaos Engineering est une pratique qui consiste à tester la résilience d'un système informatique en introduisant intentionnellement des défaillances…