Tout savoir sur les Generative Adversarial Networks (GAN)
L’Intelligence Artificielle générative connaît un engouement croissant depuis la sortie de l’interface d’OpenAI, ChatGPT. De nombreux outils génératifs ont vu le jour, produisant des contenus sous forme de texte, d’images, de musique, de vidéo ou même de code. Ils s’appuient sur des modèles de réseaux de neurones profonds, comme les Transformers et les Generative Adversarial Networks.
Qu’est-ce que les Generative Adversarial Networks (GAN) ?
Un Generative Adversarial Network est une architecture de Deep Learning dans laquelle deux réseaux neuronaux antagonistes sont entraînés. Un GAN peut générer de nouvelles images à partir d’une base de données d’images existante ou créer de la musique originale à partir d’une base de données de chansons par exemple. On parle de réseaux antagonistes génératifs parce que ceux-ci sont mis en compétition.
Le premier, génère de nouvelles données en ajustant le plus possible un échantillon de données d’entrée. Dans le même temps, le second tente de déterminer si les données générées appartiennent au jeu de données d’origine. Le réseau de prédiction évalue donc l’authenticité des données générées. Le processus est itératif, le système génère ainsi des versions améliorées de fausses données jusqu’à ce que le réseau de prédiction ne puisse plus discerner les fausses des originales.
Origine des Generative Adversarial Networks
Les GANs ont été présentés en 2014 dans un article de Ian Goodfellow et d’autres chercheurs de l’Université de Montréal. Celui-ci a introduit un nouveau cadre pour l’apprentissage non supervisé, mettant en scène deux réseaux neuronaux engagés dans une compétition. Depuis, ils ont émergé comme l’une des catégories de réseaux neuronaux les plus largement utilisées pour la modélisation générative.
Les différents modèles de GAN
Il existe de nombreux modèles modernes de Generative Adversarial Network, dont certains sont particulièrement populaires dans la communauté du Machine Learning.
- Le VanillaGAN est la configuration de base. Le générateur et le discriminateur ont la forme de perceptrons multicouches, et utilisent l’algorithme descente de gradient pour l’optimisation.
- Le cGAN, ou Conditional Generative Adversarial Network, introduit la notion de condition, ce qui permet la génération de données ciblées.
- Le DCGAN intègre des réseaux neuronaux convolutifs (CNN) dans le traitement d’images, pour produire des images de qualité supérieure. Il est particulièrement prisé dans la création d’images de visages humains ou d’objets en trois dimensions.
- Le WGAN, Generative Adversarial Network de Wasserstein se sert de la distance de Wasserstein pour évaluer la qualité des images produites, offrant ainsi une solution fréquemment adoptée pour générer des images plus stables et de meilleure qualité.
- Le CycleGAN est conçu pour la traduction d’images d’un domaine à un autre.
- Le StyleGAN est spécialisé dans la génération de visages humains réalistes.
- Le BigGAN est largement exploité pour des images de haute qualité, notamment dans la production de vidéos.
- Le SAGAN, ou Generative Adversarial Network à autoattention, améliore la qualité des images produites. Il intervient dans la création d’images haut de gamme et la résolution de problèmes liés à la superposition d’objets.
Comment fonctionnent les GANs ?
Comme nous l’avons vu précédemment, le fonctionnement des Generative Adversarial Networks repose sur une dynamique de compétition entre deux réseaux neuronaux principaux, le générateur (generative network) et le discriminateur (discriminative network).
Le modèle générateur
Le générateur est l’élément créatif du système, il transforme un bruit latent en données synthétiques. Il commence par prendre en entrée un vecteur de bruit aléatoire. Il progresse ensuite dans la création de structures complexes à travers différentes couches de transformation, par exemple des couches de convolution transposée.
Des fonctions d’activation, comme ReLU, vont introduire des non-linéarités, et la couche de sortie définira le format final des données générées. L’optimisation du générateur s’effectue par rétro propagation. Ses poids sont ajustés afin de maximiser sa capacité à tromper le discriminateur. Ce processus d’amélioration itérative contribue à affiner la production de data, en la rendant de plus en plus réaliste.
Le modèle discriminateur
Le discriminateur est chargé de distinguer les données réelles de celles générées par le générateur, en agissant comme un classificateur binaire. Au début de l’entraînement, il ne dispose d’aucune connaissance préalable sur la nature des données. C’est au fil des itérations qu’il apprend à évaluer la probabilité que chaque entrée soit réelle. Cette information est cruciale pour le générateur, dont les poids sont ajustés en fonction de la rétroaction du discriminateur.
Ainsi, le générateur cherche à améliorer la qualité de ses sorties pour tromper le discriminateur. Cette compétition itérative entre le générateur et le discriminateur a pour objectif d’atteindre un équilibre dynamique. L’incapacité du discriminateur à distinguer les données réelles des générées traduit la réussite du modèle GAN dans la création de données synthétiques de haute qualité.
Quels frameworks pour mettre en place et entraîner des GANs ?
Il existe différents outils et bibliothèques facilitant leur mise en œuvre et leur entraînement.
TensorFlow
Ce framework open source de Machine Learning est développé par Google. TensorFlow propose une variété d’outils et de bibliothèques pour la création et l’entraînement des GANs. En utilisant la couche “tf.keras.layers”, on peut construire un modèle GAN de manière concise.
PyTorch
PyTorch est un framework de Machine Learning développé par Facebook et accessible en open source. Parmi ses nombreux outils et bibliothèques, on retrouve la classe “torch.nn.Module” qui facilite la création de modèles personnalisés.
Keras
La bibliothèque open source Keras offre une API de haut niveau permettant de construire et entraîner des modèles de Deep Learning. Sa classe GAN simplifie la création et l’entraînement rapides de GAN.
Chainer
Développé par Preferred Networks, Chainer est un cadre de Deep Learning, lui aussi open source. Il met à disposition des outils, notamment les classes “chainer.links.model.Generator” et “chainer.links.model.Discriminator”, pour construire des modèles personnalisés.
GANLab
Cet outil web permet aux utilisateurs d’expérimenter dans un environnement visuel et interactif. Grâce à une interface intuitive de type glisser-déposer, ils peuvent construire et entraîner des GANs sans compétences en programmation.
Quelles sont les applications courantes des GANs ?
Les Generative Adversarial Networks peuvent intervenir dans de nombreuses tâches en Intelligence Artificielle. Par exemple, Midjourney ou DALL-E utilisent une architecture GAN pour générer leurs images.
Génération d’images à super-résolution
Les GANs peuvent rectifier les imperfections d’une image à faible résolution et compléter les détails de l’objet en s’appuyant sur une description textuelle, générant ainsi une image réaliste de qualité supérieure. La génération d’images à super-résolution trouve des applications dans divers domaines, notamment la photographie, la vidéo, la médecine et la vision par ordinateur.
Création artistique
En s’inspirant des œuvres antérieures d’un artiste ou en se basant uniquement sur une description textuelle, les GANs peuvent élaborer une œuvre d’art réaliste cohérente avec l’ensemble de données d’origine.
Conversion d’images
Les GANs sont capables de transformer des images d’un type à un autre. Par exemple, des croquis peuvent être transformés en photographies, ou des images en noir et blanc peuvent être converties en images couleur.
Restauration d’images
Il s’agit du processus de réparation ou de récupération d’images endommagées, dégradées ou présentant des lacunes. Lorsqu’une image présentant des imperfections ou des zones manquantes est introduite en entrée, le générateur va chercher à reproduire les détails manquants ou altérés de manière cohérente et réaliste. Cette application est largement utilisée dans la récupération d’images endommagées, la réparation de photographies anciennes ou la reconstruction d’images médicales pour des analyses plus précises.
Conversion de texte en image et d’image en texte
Les GANs permettent de créer une image réaliste à partir d’une description textuelle et vice versa. Ils jouent un rôle essentiel en capturant les relations complexes entre le texte et l’image pour produire des résultats cohérents.
Deep Fake
Les GANs peuvent générer des visages synthétiques pour créer des images truquées de manière très réaliste. Les contenus deep fakes imitent des personnes ou des situations réelles. Cela peut inclure la superposition de visages sur des vidéos existantes, la modification de discours dans des enregistrements audio, ou même la création d’images et de vidéos entièrement fictives, notamment à des fins politiques.
Quels impacts ont les GANs sur la confidentialité et la sécurité des données ?
Les GANs peuvent être utilisés pour générer des données synthétiques ressemblant de manière convaincante à des données réelles. Des données sensibles pourraient alors être recréées et utilisées à des fins malveillantes. De plus, ils pourraient permettre de réidentifier des individus à partir de données anonymisées, en générant des versions synthétiques correspondant aux données originales.
Comment les GANs continuent-ils d’évoluer et de façonner l’avenir de l’IA ?
Les Generative Adversarial Networks influencent le futur des technologies de l’IA spécialement en raison de leur capacité à produire des données synthétiques indiscernables des échantillons réels. Ils révolutionnent le domaine du Machine Learning, en permettant à l’Intelligence Artificielle de développer davantage d’autonomie et de compétences pour aborder des tâches complexes.
L’IA métamorphose de nombreux secteurs d’activité, en créant par la même occasion de multiples opportunités. Si vous recherchez une formation professionnelle approfondie pour acquérir ou consolider des compétences dans ce domaine, le Master en Intelligence Artificielle et Big Data ouvre des perspectives vers des carrières dans l’IA.