Présentation de la structure du GAN

Un réseau antagoniste génératif (GAN) se compose de deux parties:

  • Le générateur apprend à générer des données plausibles. Les instances générées deviennent des exemples d'entraînement négatifs pour le discriminateur.
  • Le discriminateur apprend à distinguer les données fictives des données réelles. Le discriminateur pénalise le générateur pour avoir produit des résultats impossibles à comprendre.

Lorsque l'entraînement commence, le générateur génère des données manifestement factices, et le discriminateur apprend rapidement à dire qu'il s'agit de fausses données:

Trois colonnes sont intitulées "Données générées", "Discriminateur" et "Données réelles". Sous "Données générées", un rectangle bleu contient un gribouillis et un cercle. Le rectangle est le premier générateur à tenter de dessiner une dépense d'un dollar. Sous "Real Data" (Données réelles), vous voyez une facture réelle de dix dollars. Sous "Discriminator" figurent les mots "FAKE" et "REAL". Une flèche pointe du mot "FAKE" à l'image sous "Data Generated Data". Une autre flèche pointe du mot "REAL" à l'image sous "Real Data".

À mesure que l'entraînement progresse, le générateur se rapproche de la sortie qui peut tromper le discriminateur:

Cette image est ajoutée à une nouvelle ligne sous les en-têtes "Données discriminées" et "Données réelles" de l'image précédente. Sous "Données générées", se trouve un rectangle vert avec le chiffre 10 en haut à gauche et un simple dessin de visage. Sous "Real Data" s'affiche l'image d'une vraie dépense de 100 $. Sous "Discriminateur", se trouve le mot "FAKE" avec une flèche pointant vers l'image sous "Données générées", et le mot "REAL" avec une flèche sous l'image sous "Real Data".

Enfin, si l'entraînement du générateur fonctionne bien, le discriminateur s'aggrave pour faire la différence entre le vrai et le faux. Il commence à classer les fausses données comme étant réelles et sa précision diminue.

Cette image ajoute une ligne sous les en-têtes "Données discriminées" et "Données réelles" de la première image précédente. Sous "Données générées", on peut voir une facture de 20 $. Sous "Real Data", vous voyez une facture de 20 $. Sous "Discriminateur", se trouve le mot "REAL" avec une flèche pointant vers l'image sous "Données générées", et le mot "REAL" avec une flèche sous l'image sous "Données réelles".

Voici une représentation de l'ensemble du système:

Schéma d'un réseau antagoniste génératif Au centre du diagramme figure une case intitulée "discriminateur". Deux branches alimentent ce champ depuis la gauche.  La branche supérieure commence en haut à gauche du diagramme et comporte un cylindre étiqueté "Real Images" (Images réelles). Une flèche mène de ce cylindre vers une case libellée "Sample" (Échantillon). Une flèche de la zone libellée "Sample" sert à insérer la zone "Discriminator". La branche inférieure alimente la zone "Discriminateur" à partir d'une zone libellée "Saisie aléatoire". Une flèche mène de la zone de saisie aléatoire vers une zone intitulée "Generator" (Générateur). Une flèche mène de la zone "Générateur" à une seconde case "Exemple". Une flèche mène de la zone "Exemple" à la zone "Discriminateur". À droite de la zone "Discriminateur", une flèche mène à une zone contenant un cercle vert et un cercle rouge. Le mot "Real" apparaît en vert au-dessus de la zone, et le mot "False" en rouge apparaît en dessous. Deux flèches mènent de cette zone à deux cases à droite du diagramme. Une flèche mène à une zone intitulée "Perte de discrimination". L'autre flèche mène à une zone intitulée "Perte de générateur".

Le générateur et le discriminateur sont des réseaux de neurones. La sortie du générateur est directement connectée à l'entrée du discriminateur. Grâce à la rétropropagation, la classification du discriminateur fournit un signal permettant au générateur de mettre à jour ses pondérations.

Explorons en détail les éléments de ce système.