I ricercatori continuano a trovare tecniche GAN migliorate e nuovi utilizzi per questi ultimi. Ecco un campione delle varianti di GAN per darti un'idea delle possibilità.
GAN progressivi
In una GAN progressiva, i primi livelli del generatore producono immagini a risoluzione molto bassa, mentre i livelli successivi aggiungono dettagli. Questa tecnica consente al GAN di addestrarsi più velocemente dei GAN non progressivi paragonabili e produce immagini a risoluzione più alta.
Per ulteriori informazioni, consulta Karras et al, 2017.
GAN condizionali
I GAN condizionali vengono addestrati su un set di dati etichettati e consentono di specificare l'etichetta per ciascuna istanza generata. Ad esempio, un GAN MNIST incondizionato produrrebbe cifre casuali, mentre un GAN MNIST condizionale ti consente di specificare la cifra che il GAN deve generare.
Anziché modellare la probabilità congiunta P(X, Y), i GAN condizionali modellano la probabilità condizionale P(X | Y).
Per ulteriori informazioni sui GAN condizionali, consulta Mirza et al, 2014.Traduzione da immagine a immagine
I GAN di traduzione da immagine a immagine acquisiscono un'immagine come input e la mappano in un'immagine di output generata con proprietà diverse. Ad esempio, possiamo acquisire un'immagine di maschera con un blob di colore a forma di auto e il GAN può riempire la forma con dettagli fotorealistici.
Analogamente, puoi addestrare un GAN da immagine a immagine per fare schizzi di borse e trasformarli in immagini fotorealistiche di borse.
In questi casi, la perdita è una combinazione ponderata della normale perdita basata su discriminatori e una perdita basata sui pixel che penalizza il generatore per la divisione dall'immagine di origine.
Per ulteriori informazioni, vedi Isola et al, 2016.
CicloGAN
I CycleGAN imparano a trasformare le immagini da un set in immagini che potrebbero appartenere a un altro set. Ad esempio, un CycleGAN ha prodotto l'immagine di destra qui sotto quando ha ricevuto l'immagine di sinistra come input. Prese l'immagine di un cavallo e lo trasformò nell'immagine di una zebra.
I dati di addestramento per CycleGAN sono semplicemente due serie di immagini (in questo caso, un insieme di immagini di cavalli e un insieme di immagini di zebre). Il sistema non richiede etichette né corrispondenze corrispondenti tra immagini.
Per ulteriori informazioni, consulta il documento Zhu et al, 2017, che illustra l'uso di CycleGAN per eseguire la traduzione da immagine a immagine senza dati accoppiati.
Sintesi da testo a immagine
I GAN Text-to-Image utilizzano il testo come input e producono immagini plausibili e descritte dal testo. Ad esempio, l'immagine fiore di seguito è stata prodotta inviando una descrizione di testo a un GAN.
"Questo fiore ha petali gialli con sfumature di arancione." |
Tieni presente che in questo sistema GAN può produrre immagini solo da un piccolo gruppo di classi.
Per ulteriori informazioni, vedi Zhang et al, 2016.
Super risoluzione
I GAN a elevata risoluzione aumentano la risoluzione delle immagini, aggiungendo dettagli dove necessario per riempire aree sfocate. Ad esempio, l'immagine centrale sfocata riportata di seguito è una versione sottocampionata dell'immagine originale a sinistra. Data l'immagine sfocata, un GAN ha prodotto l'immagine più nitida a destra:
Originale | Sfocate | Ripristino con GAN eseguito |
L'immagine generata da GAN è molto simile all'immagine originale, ma se guardi da vicino la fascia si noterà che la GAN non ha riprodotto il pattern con la sequenza a stella dall'originale. Al contrario, ha creato il suo modello plausibile per sostituire quello cancellato dal campionamento inferiore.
Per ulteriori informazioni, consulta Ledig et al, 2017.
Pittura facciale
I GAN sono stati utilizzati per l'attività semantica dell'immagine di pittura. Nell'attività di pittura, i blocchi di un'immagine vengono oscurati e il sistema cerca di completare i blocchi mancanti.
Yeh et al, 2017 hanno utilizzato un GAN per migliorare le prestazioni di altre tecniche per dipingere immagini di volti:
Input | Output GAN |
Text-to-Speech
Non tutti i GAN producono immagini. Ad esempio, i ricercatori hanno anche utilizzato GAN per produrre un discorso sintetizzato con input di testo. Per ulteriori informazioni, consulta la pagina Yang et al, 2017.