Réseaux antagonistes génératifs (GAN) : une introduction
Les réseaux antagonistes génératifs, ou GAN, représentent une avancée technologique majeure avec un potentiel immense. Leur champ d'application s'étend de la restauration de clichés anciens à la modulation vocale, en passant par des contributions significatives dans les secteurs médical et industriel.
Cette technologie de pointe offre la possibilité de modeler des produits et services de manière inédite. Elle se révèle également précieuse pour améliorer la qualité des images, contribuant ainsi à la sauvegarde de souvenirs précieux.
Tandis que les GAN sont perçus comme un atout par beaucoup, ils suscitent aussi certaines inquiétudes chez d'autres.
Mais, concrètement, de quoi s'agit-il ?
Cet article explore en profondeur la nature des GAN, leur mode de fonctionnement et leurs diverses applications.
Entrons dans le vif du sujet !
Qu'est-ce qu'un réseau antagoniste génératif ?
Un réseau antagoniste génératif (GAN) est un modèle d'apprentissage automatique où deux réseaux neuronaux s'affrontent pour générer des résultats précis, comme des images, de la musique originale ou des dessins.
Les GAN ont été conçus en 2014 par Ian Goodfellow, informaticien et ingénieur, et ses collaborateurs. Ces réseaux neuronaux profonds sont capables de créer des données inédites, similaires à celles sur lesquelles ils ont été entraînés. Leur interaction prend la forme d'un jeu à somme nulle, où la défaite de l'un implique la victoire de l'autre.
Initialement proposés comme modèles génératifs pour l'apprentissage automatique, en particulier non supervisé, les GAN trouvent également leur utilité dans l'apprentissage supervisé, semi-supervisé et par renforcement.
Les deux entités en compétition au sein d'un GAN sont :
Le générateur : il s'agit d'un réseau neuronal convolutif qui crée artificiellement des données qui imitent les données réelles.
Le discriminateur : c'est un réseau neuronal déconvolutif capable de détecter les données générées artificiellement.
Concepts clés
Pour une compréhension optimale du concept de GAN, il est utile de se familiariser avec quelques notions connexes.
Apprentissage automatique (ML)
L'apprentissage automatique, une branche de l'intelligence artificielle (IA), consiste à élaborer des modèles qui exploitent les données pour améliorer les performances et la précision lors de l'exécution de tâches ou de la prise de décisions.
Les algorithmes d'apprentissage automatique créent des modèles à partir de données d'entraînement et s'améliorent continuellement grâce à un apprentissage constant. Ils sont utilisés dans des domaines variés tels que la vision artificielle, la prise de décision automatisée, le filtrage des e-mails, la médecine, la finance, la sécurité informatique, la reconnaissance vocale et les systèmes de recommandation.
Modèle discriminant

Dans le contexte de l'apprentissage profond et automatique, un modèle discriminant agit comme un classificateur, distinguant entre différents niveaux ou catégories.
Par exemple, il peut différencier divers types de fruits ou d'animaux.
Modèle génératif
Les modèles génératifs utilisent des échantillons aléatoires pour créer de nouvelles images d'aspect réaliste. Ils apprennent à partir d'images authentiques pour générer leurs propres représentations, à la fois réalistes et imitatives. Ces modèles se déclinent en deux catégories :
Auto-encodeurs variationnels : ils utilisent des encodeurs et des décodeurs, qui sont des réseaux neuronaux distincts. Une image réaliste est transformée par un encodeur en vecteurs dans un espace latent. Ensuite, un décodeur utilise ces interprétations pour produire des copies réalistes. Bien que la qualité de l'image puisse être faible au début, elle s'améliore à mesure que le décodeur devient plus performant, rendant l'encodeur moins pertinent.
Réseaux antagonistes génératifs (GAN) : comme mentionné précédemment, un GAN est un réseau neuronal profond capable de générer des données inédites similaires aux données d'entrée. Il s'inscrit dans l'apprentissage automatique non supervisé, un des types d'apprentissage automatique présentés ci-dessous.
Apprentissage supervisé

L'apprentissage supervisé implique l'entraînement d'une machine à l'aide de données étiquetées. Ces données sont accompagnées de la réponse correcte. La machine reçoit des exemples qui permettent à l'algorithme d'analyser les données d'apprentissage et de produire des résultats précis.
Apprentissage non supervisé
L'apprentissage non supervisé consiste à entraîner une machine avec des données non étiquetées ou non classées. L'algorithme d'apprentissage automatique travaille sans assistance, catégorisant les données en fonction de modèles, similitudes et différences, sans apprentissage préalable.
Les GAN sont donc associés à l'apprentissage non supervisé en ML. Ils exploitent deux modèles pour découvrir et apprendre automatiquement les motifs dans les données d'entrée : le générateur et le discriminateur.
Examinons ces concepts plus en détail.
Composantes d'un GAN
Le terme « antagoniste » fait référence à la compétition entre le générateur et le discriminateur. Cette approche permet de saisir, examiner et reproduire les variations de données dans un ensemble. Clarifions le rôle de ces deux composants.
Générateur

Le générateur est un réseau neuronal capable d'apprendre et de créer de faux points de données, tels que des images et de l'audio, qui semblent authentiques. Il est utilisé pendant l'entraînement et s'améliore grâce à un apprentissage continu.
Les données générées servent de contre-exemple pour le discriminateur. Le générateur prend en entrée un vecteur aléatoire de longueur fixe pour produire un échantillon de sortie, cherchant à le présenter au discriminateur de manière à ce qu'il soit perçu comme réel.
L'entraînement du générateur repose sur :
- Des vecteurs d'entrée bruités
- Un réseau générateur pour transformer une entrée aléatoire en données
- Un réseau discriminateur pour classer les données générées
- Une perte de générateur pour pénaliser son incapacité à tromper le discriminateur
Le générateur agit comme un voleur, cherchant à répliquer et créer des données réalistes pour tromper le discriminateur. Il progresse progressivement, générant des données de haute qualité qui passent les tests. Une fois cette capacité atteinte, le générateur peut être utilisé seul.
Discriminateur

Le discriminateur est un réseau neuronal capable de distinguer les données authentiques des contrefaites. Comme le générateur, il joue un rôle essentiel pendant l'entraînement.
Il agit comme un policier, cherchant à identifier les fausses données créées par le générateur. Il vise à détecter les anomalies dans une instance de données.
Au fil de l'entraînement, le générateur s'améliore, atteignant un point où il devient autonome. Lorsque les données de haute qualité produites par le générateur sont soumises au discriminateur, celui-ci ne peut plus distinguer le vrai du faux. À ce moment-là, seul le générateur est nécessaire.
Comment fonctionne un GAN ?
Le fonctionnement d'un réseau antagoniste génératif (GAN) repose sur trois éléments clés :
- Un modèle génératif décrivant la manière dont les données sont produites.
- Un cadre antagoniste pour l'entraînement du modèle.
- Des réseaux neuronaux profonds comme algorithmes d'IA pour l'entraînement.
Les deux réseaux neuronaux, le générateur et le discriminateur, s'affrontent dans un jeu antagoniste. Le générateur prend des données d'entrée (audio, images, etc.) pour générer des données similaires, tandis que le discriminateur évalue l'authenticité de ces données.

Par exemple, pour vérifier l'authenticité d'une image, des données générées manuellement peuvent être fournies au générateur. Ce dernier créera de nouvelles images répliquées.
Le générateur cherche à faire passer les images créées pour authentiques, cherchant à éviter la détection par le discriminateur.
La sortie du générateur est ensuite transmise au discriminateur, avec un ensemble d'images réelles. Le discriminateur a pour mission de distinguer les images authentiques de celles générées.
Le discriminateur reçoit des données réelles et fausses, et évalue la probabilité qu'une image soit réelle (1) ou fausse (0).
Ce processus implique deux boucles de rétroaction :
- Le générateur est en boucle de rétroaction avec le discriminateur.
- Le discriminateur est en boucle de rétroaction avec un ensemble d'images réelles.
L'entraînement d'un GAN est dynamique : le générateur apprend en produisant de fausses données, tandis que le discriminateur améliore sa capacité de détection.
Le discriminateur, un réseau convolutif, catégorise les images comme étant réelles ou fausses. Il agit comme un classificateur binomial.
Le générateur, à son tour, est un réseau convolutif inverse qui prend des échantillons de données aléatoires pour produire des images. Le discriminateur vérifie les données à l'aide de techniques de sous-échantillonnage.
Ces deux réseaux tentent d'optimiser des fonctions de perte opposées, dans un jeu antagoniste qui les pousse à s'améliorer constamment.
Types de GAN

Les réseaux antagonistes génératifs se déclinent en plusieurs types selon leur mise en œuvre. Voici les principaux types de GAN utilisés :
- GAN conditionnel (CGAN) : il utilise des paramètres conditionnels pour distinguer les données réelles des fausses, incluant un paramètre supplémentaire "y" dans la phase de génération. Des étiquettes sont transmises au discriminateur pour évaluer l'authenticité des données.
- GAN simple : un type de GAN où le discriminateur et le générateur sont des perceptrons multicouches. Les algorithmes sont simples, optimisant l'équation mathématique avec la descente de gradient stochastique.
- GAN à convolution profonde (DCGAN) : populaire et efficace, il utilise des ConvNets au lieu de perceptrons multicouches, sans pooling maximal ni connexion complète des couches.
- GAN de super-résolution (SRGAN) : il améliore la qualité des images à l'aide d'un réseau neuronal profond et d'un réseau antagoniste, particulièrement utile pour mettre à l'échelle des images à basse résolution et améliorer leurs détails.
- GAN à pyramide laplacienne (LAPGAN) : une représentation linéaire inversible qui comprend plusieurs images passe-bande et un résidu basse fréquence. Il utilise plusieurs discriminateurs et générateurs, ainsi que plusieurs niveaux de pyramide laplacienne.
Le LAPGAN est largement utilisé en raison de la qualité d'image qu'il produit. Les images sont sous-échantillonnées à chaque couche pyramidale, puis mises à l'échelle, avec l'ajout d'un bruit contrôlé jusqu'à ce qu'elles atteignent leur taille d'origine.
Applications des GAN
Les réseaux antagonistes génératifs sont utilisés dans divers domaines, tels que :
Science

Les GAN offrent une méthode rapide et précise pour modéliser la formation de jets à haute énergie et mener des expériences de physique. Ils peuvent également être utilisés pour estimer les goulets d'étranglement dans les simulations de physique des particules.
Les GAN peuvent accélérer les simulations et en améliorer la fidélité, ainsi qu'aider à l'étude de la matière noire en simulant la lentille gravitationnelle et en améliorant les images astronomiques.
Jeux vidéo

Les GAN sont utilisés dans l'industrie du jeu vidéo pour mettre à l'échelle les données 2D à basse résolution des anciens jeux. Ils permettent de recréer ces données en 4k ou même plus, en conservant les détails de l'image d'origine, comme les couleurs.
Parmi les jeux ayant exploité les GAN, on retrouve Resident Evil Remake, Final Fantasy VIII et IX, entre autres.
Art et mode
Les GAN sont capables de générer des images d'individus fictifs, des photographies peintes, des images de mannequins irréels et bien d'autres créations artistiques. Ils sont également utilisés dans la création de dessins, de croquis et d'ombres virtuelles.
Publicité

L'utilisation des GAN pour créer des publicités permet d'économiser du temps et des ressources. Pour vendre des bijoux, par exemple, un mannequin virtuel peut être créé à l'aide de GAN, évitant ainsi de faire appel à des modèles professionnels et les dépenses associées (transport, studio, photographes, maquilleurs, etc.).
C'est une option particulièrement intéressante pour les entreprises en croissance qui n'ont pas les moyens d'embaucher un modèle ou d'organiser des séances photo coûteuses.
Synthèse audio
Les GAN permettent de créer des fichiers audio à partir d'un ensemble de clips audio. Cette approche, appelée audio génératif, utilise des réseaux neuronaux pour étudier les propriétés statistiques d'une source audio et les reproduire dans un contexte donné.
Apprentissage par transfert

Les GAN sont utilisés dans des études avancées d'apprentissage par transfert pour aligner les espaces de fonctionnalités, notamment dans l'apprentissage par renforcement profond. Les plongements de la source et la tâche visée sont transmis au discriminateur pour déterminer le contexte, et le résultat est rétropropagé via l'encodeur, permettant au modèle d'apprendre continuellement.
Autres applications des GAN :
- Diagnostic de la perte de vision en détectant les images glaucomateuses
- Visualisation en design industriel, intérieur, habillement, chaussures, etc.
- Reconstruction des traits du visage d'une personne malade à des fins médico-légales
- Création de modèles 3D d'éléments à partir d'une image
- Amélioration de l'apparence des personnes avec l'âge
- Augmentation de données pour améliorer le classificateur DNN
- Restauration d'éléments manquants sur une carte
- Génération d'images et remplacement de moteurs de recherche d'images
- Analyse des effets du changement climatique sur un bâtiment
- Création du visage d'une personne à partir de sa voix
- Découverte de nouvelles molécules pour le traitement du cancer, de la fibrose et de l'inflammation
- Animation de GIF à partir d'une image normale
Les applications des GAN sont en pleine expansion. Cependant, leur potentiel d'abus est également préoccupant. Les images humaines générées par GAN ont été utilisées pour créer de fausses vidéos et images, ou pour fabriquer des profils de réseaux sociaux qui n'existent pas. L'utilisation non éthique inclut la création de fausses pornographies et la diffusion de fausses vidéos de candidats politiques. Il est donc essentiel de mettre en place des directives pour une utilisation responsable de cette technologie.
Conclusion
Les GAN sont une technologie moderne remarquable, offrant des possibilités inédites pour la génération de données et des applications variées : diagnostic visuel, synthèse d'images, recherche, augmentation des données, arts, sciences et bien plus encore.
Vous pourriez également être intéressé par les plateformes d'apprentissage automatique low-code et no-code pour créer des applications innovantes.