Retour au Blog
Generative AI 20 novembre 2024 10 min de lecture

Entraîner des GANs qui ne s'effondrent pas : leçons du DCGAN au StyleGAN

Astuces d'entraînement GAN pour prévenir l'effondrement de mode — normalisation spectrale, croissance progressive.

Pourquoi les GANs échouent

  1. Effondrement de mode : le générateur produit la même image quel que soit le bruit
  2. Instabilité d'entraînement : les pertes G et D oscillent sans converger
  3. Gradients qui s'annulent : le discriminateur devient trop fort

Correctif 1 : normalisation spectrale

from torch.nn.utils import spectral_norm

self.conv = spectral_norm(nn.Conv2d(in_ch, out_ch, 4, 2, 1))

Correctif 2 : label smoothing pour le discriminateur

real_labels = torch.ones(B) * 0.9  # not exactly 1.0
fake_labels = torch.zeros(B) + 0.1  # not exactly 0.0

Correctif 3 : pénalité de gradient (WGAN-GP)

Pénalise la norme du gradient du discriminateur — la variante GAN la plus stable pour les applications réelles.

Correctif 4 : Two Time-Scale Update (TTUR)

Utilisez des taux d'apprentissage différents : G=0.0001, D=0.0004.

GANDCGANStyleGANPyTorchImage Generation
O

Ossama Elhakki

Ingénieur IA & Systèmes ML — Maroc