Una rete adversary generativa (GAN) si compone di 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 dati reali. Il discriminatore penalizza il generatore per la produzione di risultati non plausibili.
Quando inizia l'addestramento, il generatore produce dati ovviamente falsi e l'autore della discrimina impara rapidamente a dire che è falso:
Man mano che l'addestramento procede, il generatore si avvicina alla produzione di output che può ingannare il discriminatore:
Infine, se l'addestramento al generatore va bene, il discriminatore peggiora nella comprensione della differenza tra reale e falso. Inizia a classificare i dati falsi come reali e la sua accuratezza diminuisce.
Ecco un'immagine dell'intero sistema:
Sia il generatore che il discriminatore sono reti neurali. L'output del generatore è collegato direttamente all'ingresso del discriminatore. Attraverso la backpropagation, la classificazione del discriminatore fornisce un indicatore che il generatore utilizza per aggiornare le sue ponderazioni.
Vediamo più in dettaglio come funziona questo sistema.