Tous les Projets
IA Générative

Génération de Visages Anime (DCGAN)

DCGAN entraîné 100 époques sur Tesla T4 sur 43K images anime. Pile ConvTranspose2d (100→512→256→128→64→3). β₁=0,5, lissage des étiquettes, StepLR. Interpolation latente slerp pour des transitions fluides.

100
Training epochs
~58s (T4)
Time per epoch
200
Generated samples
100
Latent dimension
Jeu de Données

43 102 images de visages anime (64×64 px)

Approche

DCGAN + interpolation slerp + 4 techniques de stabilité (β₁=0,5, label smooth, StepLR, init)

Stack Technique
PythonPyTorchDCGANConvTranspose2dCUDA Tesla T4
Mots-clés
DCGANGANPyTorchGenerative AISlerpConvTranspose2dTesla T4
Analyse Approfondie

DCGAN entraîné de zéro sur 43 102 images de visages anime (64×64 px).

Architecture

Générateur : z(100) → ConvTranspose2d×4 [512→256→128→64→3] → Tanh
Discriminateur : Conv2d×4 [64→128→256→512] → Sigmoid

4 Techniques de Stabilité d'Entraînement

TechniquePourquoi c'est Important
Adam β₁=0,5 (pas 0,9)Évite les oscillations de momentum dans l'entraînement adversarial
Init poids N(0;0,02) Conv, N(1;0,02) BNÉvite le blocage du discriminateur à l'initialisation
StepLR ×0,5 à l'époque 50Évite la divergence du LR en fin d'entraînement
Lissage des étiquettes Réel→0,9Adoucit les cibles du discriminateur, évite la surconfiance

Résultats d'Entraînement

  • 100 époques, ~58s/époque sur Tesla T4
  • 200 échantillons générés
  • Effondrement de mode et artefacts en damier évités

Interpolation Slerp

def slerp(z1, z2, t):
    omega = arccos(clip(dot(z1/||z1||, z2/||z2||), -1, 1))
    return sin((1-t)*omega)/sin(omega)*z1 + sin(t*omega)/sin(omega)*z2

La slerp respecte la géométrie hypersphérique de l'espace latent. L'interpolation linéaire traverse des régions de faible densité et produit des résultats flous. La slerp reste sur la variété.