
Generative adversarial networks are a machine learning method where two neural networks compete to generate realistic synthetic data.Le GAN est une architecture composée de deux réseaux de neurones qui jouent à un jeu minimax : le générateur G tente de tromper le discriminateur D en produisant des données vraisemblables, tandis que D apprend à distinguer la contrefaçon. L’équilibre est atteint lorsque G reproduit si fidèlement la distribution des données réelles que D ne peut plus faire la différence — sa précision chute à celle d’une devinette aléatoire (50 %). Comme dans une course aux armements entre un fabricant de faux billets et un expert bancaire, chaque camp relève la barre.
Proposés par Ian Goodfellow et ses coauteurs (2014) comme méthode d'apprentissage de modèles génératifs sans modélisation explicite de la distribution des données. L'idée remonte aux jeux antagonistes et à la théorie du minimax. Ils sont rapidement devenus populaires grâce à leur capacité à générer des images, des sons et des vidéos réalistes. Les modifications ultérieures — DCGAN, StyleGAN, CycleGAN — ont résolu les problèmes d'instabilité de l'apprentissage et amélioré la qualité.
Pendant l'apprentissage, G et D sont mis à jour en alternance. Le discriminateur reçoit un échantillon réel et la sortie du générateur, puis calcule sa perte (fonction d'erreur logistique). Le générateur ajuste ses poids de manière à maximiser l'erreur du discriminateur — c'est-à-dire pour que la contrefaçon paraisse réelle. Les gradients de D passent à travers G, formant une représentation latente. Problème : gradients évanescents si D est trop fort, c'est pourquoi on utilise souvent des fonctions de perte non standard (Wasserstein GAN).
Génération de visages photoréalistes, création de designs vestimentaires, amélioration d’images médicales — partout où il faut imaginer des détails de manière crédible.
Les deepfakes les plus impressionnants et la restauration de vieux films doivent tout aux GAN.
| x | variable | data sample — sample |
| z | variable | latent variable sample — latent variable |
| D(x) | variable | discriminator output for real data — discriminator output |
| G(z) | variable | generator output for latent variable — generator output |
| V(D,G) | variable | value function of the game — value function |
| min_G | opérateur | minimize with respect to generator parameters — minimization over generator |
| max_D | opérateur | maximize with respect to discriminator parameters — maximization over discriminator |
| E_{x~p_data} | opérateur | expectation over the empirical data distribution — expectation over data distribution |
| E_{z~p_z} | opérateur | expectation over the latent prior distribution — expectation over latent distribution |
| log | opérateur | natural logarithm — logarithme |



















