tadata
Retour à l'accueil

GAN : l'art de l'apprentissage adversariel

#deep-learning#generative-ai#gan#neural-networks

Les réseaux antagonistes génératifs (GAN), introduits par Goodfellow et al. en 2014, opposent deux réseaux de neurones dans un jeu minimax. Le générateur crée de fausses données ; le discriminateur essaie de distinguer le vrai du faux. Par la compétition, le générateur apprend à produire des sorties de plus en plus réalistes.

Architecture

Boucle d'entraînement GAN
===========================

Bruit aléatoire z ──► ┌─────────────┐
                      │  Générateur  │──► Fausses données
                      │     G(z)     │        │
                      └──────────────┘        │
                                              ▼
                                       ┌──────────────┐
Données réelles x ────────────────────►│ Discriminateur│──► Vrai / Faux
                                       │    D(x)       │
                                       └──────────────┘
                                              │
                                  ┌───────────┴───────────┐
                                  │  D veut classifier     │
                                  │  correctement (max)    │
                                  │  G veut tromper D      │
                                  │  (min)                 │
                                  └────────────────────────┘

La fonction objectif :

minGmaxDExpdata[logD(x)]+Ezpz[log(1D(G(z)))]\min_G \max_D \mathbb{E}_{x \sim p_{data}}[\log D(x)] + \mathbb{E}_{z \sim p_z}[\log(1 - D(G(z)))]

Variantes de GAN

VarianteAnnéeInnovation cléIdéal pour
DCGAN2015Architecture convolutive pour un entraînement stableBase de génération d'images
WGAN2017Distance de Wasserstein, pénalité de gradientStabilité d'entraînement
Conditional GAN2014Génération conditionnée par classeSortie contrôlée
Pix2Pix2017Traduction image-à-image appariéeTraduction supervisée
CycleGAN2017Traduction non appariée via cohérence cycliqueTransfert de style
StyleGAN2019Générateur basé style, croissance progressiveSynthèse de visages haute résolution
StyleGAN32021Génération sans aliasingSynthèse prête pour la vidéo
GigaGAN2023GAN mis à l'échelle à 1 milliard de paramètresTexte-vers-image à grande échelle

Défis d'entraînement

Les GAN sont notoirement difficiles à entraîner :

Effondrement de modes : le générateur ne produit que quelques types de sorties qui trompent le discriminateur, ignorant la distribution complète des données. La fonction de perte WGAN et la discrimination par minibatch aident à atténuer cela.

Instabilité d'entraînement : le générateur et le discriminateur doivent rester en équilibre. Si le discriminateur devient trop fort, les gradients disparaissent pour le générateur. S'il est trop faible, le générateur ne reçoit aucun signal utile. Techniques : normalisation spectrale, croissance progressive, règle de mise à jour à deux échelles temporelles (TTUR).

Évaluation : il n'existe pas de perte unique corrélée à la qualité des sorties. Métriques courantes :

  • FID (Fréchet Inception Distance) : plus bas est mieux, mesure la similarité de distribution
  • IS (Inception Score) : plus haut est mieux, mesure qualité et diversité
  • LPIPS : métrique de similarité perceptuelle

GAN vs modèles de diffusion

Les modèles de diffusion ont largement remplacé les GAN pour la génération d'images depuis 2022 :

AspectGANModèles de diffusion
EntraînementAdversariel (instable)Débruitage (stable, perte simple)
Couverture des modesSujet à l'effondrement de modesCouverture complète de la distribution
Qualité des échantillonsExcellente (bien entraîné)Excellente
Vitesse d'échantillonnageRapide (une seule passe)Lente (nombreuses étapes de débruitage)
ContrôlabilitéLimitée sans conditionnementForte (guidance sans classifieur)
Statut actuelUsages de niche, rechercheDominant (DALL-E 3, Stable Diffusion, Midjourney)

Les GAN restent pertinents pour les applications temps réel (super-résolution, amélioration vidéo) où la vitesse d'inférence en une seule passe compte, et pour les techniques basées discriminateur dans d'autres pipelines génératifs.

Applications pratiques utilisant encore les GAN

  • Super-résolution : ESRGAN et Real-ESRGAN pour l'upscaling d'images et de vidéo
  • Augmentation de données : génération de données synthétiques pour les classes déséquilibrées
  • Détection d'anomalies : le discriminateur comme détecteur hors distribution
  • Inpainting d'images : remplissage de régions manquantes avec du contenu contextualisé
  • Adaptation de domaine : transfert de styles entre domaines (imagerie médicale, satellite)

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.