GAN (Generative Adversarial Network)
| Propriete | Detail |
|---|---|
| Categorie | Modele generatif (deep learning) |
| Inventeur | Ian Goodfellow et al. (2014) |
| Principe | Jeu minimax entre un generateur G et un discriminateur D |
| Variantes celebres | DCGAN, StyleGAN, CycleGAN, Pix2Pix, WGAN |
| Avantage | Generation tres rapide a l’inference |
| Inconvenient | Instabilite d’entrainement, mode collapse |
Principe fondamental
Le GAN repose sur une idee elegante issue de la theorie des jeux. Le generateur G prend en entree un vecteur de bruit aleatoire z (echantillonne d’une distribution simple, typiquement gaussienne) et produit un echantillon synthetique G(z). Le discriminateur D recoit soit un echantillon reel x de la distribution des donnees, soit un echantillon genere G(z), et doit classifier correctement l’origine de chaque echantillon.
L’entrainement se fait en alternance : on met a jour D pour mieux distinguer le reel du faux, puis on met a jour G pour mieux tromper D. Mathematiquement, c’est un jeu minimax ou G minimise et D maximise la meme fonction objectif. A l’equilibre (equilibre de Nash), G produit des echantillons indistinguables des donnees reelles, et D ne fait pas mieux qu’une chance sur deux.
En pratique, cet equilibre est difficile a atteindre. L’entrainement des GANs est notoirement instable, et de nombreuses techniques ont ete developpees pour le stabiliser.
Architecture du generateur
Le generateur transforme un vecteur latent de faible dimension (typiquement 128 a 512 dimensions) en une sortie de haute dimension (une image, par exemple). Dans les GANs d’images, le generateur utilise typiquement des couches de convolution transposee (deconvolution) pour augmenter progressivement la resolution spatiale.
DCGAN (Radford et al., 2015) a pose les bonnes pratiques architecturales : utiliser des convolutions avec stride au lieu du pooling, appliquer du batch normalization dans le generateur et le discriminateur, supprimer les couches fully-connected dans les couches profondes, et utiliser ReLU dans le generateur (sauf la couche de sortie qui utilise tanh).
StyleGAN (Karras et al., NVIDIA) a revolutionne l’architecture du generateur en introduisant un mapping network (MLP a 8 couches) qui transforme le vecteur latent z en un vecteur de style w, injecte a chaque couche via Adaptive Instance Normalization (AdaIN). Cette separation permet un controle fin des attributs a differentes echelles (pose, traits du visage, texture).
Architecture du discriminateur
Le discriminateur est un classifieur binaire qui prend une image en entree et produit une probabilite (reel vs faux). Il utilise generalement une architecture CNN standard avec des convolutions strided qui reduisent progressivement la resolution spatiale.
Des techniques comme le spectral normalization (Miyato et al.) stabilisent l’entrainement en normalisant les poids du discriminateur pour controler sa constante de Lipschitz. Le progressive growing (Karras et al.) entraine d’abord le GAN a basse resolution, puis augmente progressivement la resolution, facilitant la convergence.
Variantes principales
GANs conditionnels (cGAN)
Les GANs conditionnels ajoutent une information supplementaire (classe, texte, image) au generateur et au discriminateur. Pix2Pix (Isola et al., 2017) est un cGAN qui apprend une correspondance image-vers-image supervisee (par exemple, segmentation vers photo realiste). CycleGAN (Zhu et al., 2017) realise la meme tache sans paires supervisees, grace a une contrainte de consistance cyclique.
Wasserstein GAN (WGAN)
WGAN (Arjovsky et al., 2017) remplace la divergence de Jensen-Shannon par la distance de Wasserstein comme objectif. Le discriminateur (renomme « critique ») n’est plus un classifieur mais estime la distance de Wasserstein entre les distributions reelle et generee. WGAN-GP ajoute une penalite de gradient pour assurer la contrainte de Lipschitz, produisant un entrainement plus stable.
StyleGAN et ses evolutions
StyleGAN (Karras et al., 2019), StyleGAN2 (2020) et StyleGAN3 (2021) representent l’evolution de la generation d’images par GAN a son plus haut niveau. StyleGAN2 a corrige les artefacts (« blob artifacts ») de la premiere version et reste, en 2026, l’un des modeles les plus utilises pour la generation de visages haute resolution (1024×1024). StyleGAN3 a introduit des convolutions equivariantes pour eliminer les artefacts de translation.
GANs pour le texte
Les GANs ont eu moins de succes pour la generation de texte que pour les images, principalement parce que le texte est discret (les tokens) et que la retropropagation a travers des operations discretes est problematique. Des approches comme SeqGAN et RelGAN utilisent des techniques de reinforcement learning pour contourner ce probleme, mais les LLMs autoregressifs restent largement superieurs pour la generation de texte.
Problemes d’entrainement
Mode collapse
Le mode collapse se produit quand le generateur apprend a produire un nombre limite de sorties qui trompent le discriminateur, au lieu de capturer la diversite complete de la distribution. Le generateur « s’effondre » sur quelques modes. Des techniques comme le minibatch discrimination, le unrolled GAN training et les penalites spectrales attenent ce probleme.
Training instability
L’equilibre entre generateur et discriminateur est fragile. Si le discriminateur devient trop bon trop vite, les gradients du generateur disparaissent (vanishing gradients), et l’apprentissage stagne. Si le generateur domine, la qualite se degrade. La technique du two timescale update rule (TTUR) utilise des learning rates differents pour G et D.
Evaluation
Evaluer la qualite d’un GAN est non trivial. Les metriques standard sont le Frechet Inception Distance (FID), qui mesure la distance entre les distributions de features des images reelles et generees, et l’Inception Score (IS), qui mesure la qualite et la diversite. Un FID plus bas indique de meilleures performances.
Applications actuelles en 2026
Bien que les modeles de diffusion dominent la generation d’images, les GANs conservent des niches importantes. Le super-resolution en temps reel (Real-ESRGAN, GFPGAN) utilise des architectures GAN pour ameliorer la resolution d’images et de videos rapidement, une tache ou la vitesse d’inference est critique.
La generation de visages via StyleGAN est utilisee pour des avatars, la creation de personnages fictifs, et la data augmentation dans les datasets de reconnaissance faciale. Les GANs sont aussi utilises en imagerie medicale pour la data augmentation et la generation de donnees synthetiques la ou les donnees reelles sont rares.
En edition d’images, des techniques basees sur GANs (comme l’inversion GAN avec StyleGAN) permettent de manipuler des attributs d’images reelles (age, expression, coiffure) avec un controle fin et une vitesse d’execution superieure aux methodes par diffusion.
L’entrainement de modeles de diffusion peut aussi beneficier des GANs : des approches hybrides comme ADD (Adversarial Diffusion Distillation) utilisent un discriminateur GAN pour accelerer l’entrainement et l’inference des modeles de diffusion.
GAN vs Diffusion vs VAE
| Critere | GAN | Diffusion | VAE |
|---|---|---|---|
| Qualite | Tres haute (images nettes) | Tres haute (meilleure diversite) | Bonne (images legerement floues) |
| Diversite | Limitee (mode collapse) | Excellente | Bonne |
| Vitesse inference | Tres rapide (1 pass) | Lente (20-1000 etapes) | Tres rapide (1 pass) |
| Stabilite entrainement | Difficile | Stable (objectif MSE) | Stable (objectif ELBO) |
| Vraisemblance | Non disponible | Estimable | Borne inferieure (ELBO) |
| Conditionnement | Possible mais limite | Tres flexible (CFG) | Possible |
Ethique et deepfakes
Les GANs ont rendu possible la creation de deepfakes convaincants, posant des questions ethiques majeures. Des outils de detection de deepfakes utilisent eux-memes des techniques de deep learning pour identifier les images generees. L’AI Act europeen impose des obligations de transparence pour les contenus generes par IA, et des standards comme C2PA visent a assurer la tracabilite des contenus.
Questions frequentes
Qu’est-ce qu’un GAN en termes simples ?
Un GAN est compose de deux reseaux de neurones : un generateur qui cree des images (ou autres donnees) et un discriminateur qui joue le role de juge. Le generateur s’ameliore en essayant de tromper le discriminateur, et le discriminateur s’ameliore en essayant de detecter les faux. Ce duel produit des resultats de plus en plus realistes.
Les GANs sont-ils encore utilises en 2026 ?
Oui, meme si les modeles de diffusion dominent la generation d’images, les GANs restent utilises pour le super-resolution (Real-ESRGAN), la manipulation d’images (StyleGAN inversion), la data augmentation en imagerie medicale, et dans les approches hybrides ou la vitesse d’inference est prioritaire.
Pourquoi les GANs sont-ils difficiles a entrainer ?
L’entrainement repose sur un equilibre fragile entre generateur et discriminateur. Si l’un progresse trop vite par rapport a l’autre, les gradients deviennent inutilisables. Le mode collapse (le generateur produit toujours les memes images) est un autre probleme courant. Des techniques comme WGAN-GP, spectral normalization et progressive growing attenent ces difficultes.
Quelle est la difference entre GAN et VAE ?
Un VAE (Variational Autoencoder) encode les donnees dans un espace latent regulier et les reconstruit, optimisant une borne inferieure de la vraisemblance. Un GAN utilise une approche adversariale sans calcul explicite de vraisemblance. Les GANs produisent des images plus nettes, mais les VAEs offrent un espace latent plus structure et un entrainement plus stable.
Comment mesurer la qualite d’un GAN ?
Les deux metriques standard sont le FID (Frechet Inception Distance) et l’IS (Inception Score). Le FID compare les distributions de features entre images reelles et generees : un FID bas indique une meilleure qualite. L’IS mesure a la fois la qualite et la diversite. Ces metriques ont des limites (dependance au modele Inception, sensibilite aux hyperparametres) mais restent les references.