Panoramica della struttura GAN

Una rete generative avversaria (GAN) è composta da due parti:

  • Il generatore impara a generare dati plausibili. Le istanze generate diventano esempi di addestramento negativi per il discriminatore.
  • Il discriminatore impara a distinguere i dati falsi del generatore da quelli reali. Il discriminatore penalizza il generatore per la produzione di risultati implausibili.

All'inizio dell'addestramento, il generatore produce dati chiaramente falsi e il discriminatore impara rapidamente a riconoscerli come tali:

Tre colonne sono etichettate come "Dati generati", "Discriminante" e
          "Dati reali". In "Dati generati", un rettangolo blu contiene
          una linea curva e un cerchio. Il rettangolo è il
          primo e sfortunato tentativo del generatore
          di disegnare una banconota da un dollaro. In "Dati reali" è presente l'immagine di una banconota da dieci dollari reale. In "Discriminatore" sono presenti le parole "FAKE" e
          'REAL". Una freccia punta dalla parola "FAKE" all'immagine in "Dati generati". Un'altra freccia punta dalla parola "REAL" all'immagine in "Dati reali".

Man mano che l'addestramento procede, il generatore si avvicina alla produzione di output che possono ingannare il discriminatore:

Questa immagine aggiunge una nuova riga sotto le intestazioni "Dati generati", "Discriminante"
          e "Dati reali" nell'immagine precedente. In "Dati generati"
          è presente un rettangolo verde con il numero 10 nell'angolo in alto a sinistra
          e un semplice disegno di un volto. In "Dati reali" è presente l'immagine di una banconota da 100 dollari reale. In "Discriminatore" è presente la parola "FALSO" con
          una freccia che punta all'immagine in "Dati generati" e la parola
          'REALE" con una freccia che punta all'immagine in "Dati reali".

Infine, se l'addestramento del generatore va a buon fine, il discriminatore peggiora nel distinguere il reale dal falso. Inizia a classificare i dati falsi come reali e la sua accuratezza diminuisce.

Questa immagine aggiunge una nuova riga sotto le intestazioni "Dati generati", "Discriminante"
          e "Dati reali" nella prima immagine precedente. In "Dati
          generati" è presente l'immagine di una banconota da 20 dollari. Nella sezione "Dati reali" c'è l'immagine di una banconota da 20 dollari. In "Discriminatore"
          è presente la parola "REALE" con
          una freccia che punta all'immagine in "Dati generati" e la parola
          'REALE" con una freccia che punta all'immagine in "Dati reali".

Ecco una foto dell'intero sistema:

Un diagramma di una rete generative adversarial. Al centro del
          diagramma è presente una casella etichettata "discriminatore". Due rami confluiscono in questa
          casella da sinistra.  Il ramo superiore inizia nell'angolo in alto a sinistra del
          diagramma con un cilindro etichettato "immagini del mondo reale". Da questo cilindro parte una freccia che indica una casella etichettata "Sample" (Esempio). Una freccia dalla casella
          etichettata "Sample" (Esempio) si collega alla casella "Discriminator" (Discriminatore). Il ramo inferiore
          viene inviato alla casella "Discriminatore" che inizia con una casella etichettata come "Input
          casuale". Una freccia dalla casella "Input casuale" a una casella etichettata
          'Generatore'. Una freccia dalla casella "Generatore" a una seconda
          'Sample". Una freccia dalla casella "Sample" alla
          'Discriminator box. Sul lato destro della casella Discriminante, una freccia indica una casella contenente un cerchio verde e un cerchio rosso. La parola "Reale" viene visualizzata in verde sopra la casella e la parola "Falso" viene visualizzata in rosso sotto la casella. Da questo riquadro partono due frecce che portano a due
          riquadri sul lato destro del diagramma. Una freccia indica una casella
          etichettata "Perdita del discriminatore". L'altra freccia indica una casella etichettata
          'Perdita generatore'.

Sia il generatore che il discriminatore sono reti neurali. L'uscita del generatore è collegata direttamente all'ingresso del discriminatore. Attraverso la retropropagazione, la classificazione del discriminatore fornisce un segnale che il generatore utilizza per aggiornare i suoi pesi.

Vediamo più in dettaglio i componenti di questo sistema.