Varianti GAN

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.

Una tabella di immagini 3x3 di borse. Ogni riga mostra lo stile di una borsa diversa. In ogni riga, l'immagine più a sinistra è un semplice disegno a linee, di una borsa, l'immagine centrale è la foto di una vera borsa e l'immagine a destra è un'immagine fotorealistica generata da un GAN. Le tre colonne sono denominate 'Input', 'Ground Truth' e 'output'.

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.

Un'immagine di un cavallo in esecuzione e una seconda
immagine che è identica in tutti i punti di vista tranne che sul cavallo è 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." Un fiore con petali gialli con sfumature arancioni.

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:

OriginaleSfocateRipristino con GAN eseguito
Un dipinto di una ragazza che indossa un copricapo ricercato. La fascia del copricapo è lavorata a maglia secondo uno schema complesso. Versione sfocata del dipinto di una ragazza che indossa un copricapo ricercato. Un dipinto nitido e nitido di una ragazza che indossa un copricapo ricercato. Questo dipinto è quasi identico alla prima immagine in questa tabella, ma alcuni dettagli dei motivi del suo copricapo e dei suoi vestiti sono delicatamente diversi.

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:

InputOutput GAN
Quattro immagini. Ogni immagine è la foto di un volto con alcune aree sostituite da nero. Quattro immagini. Ogni immagine è la foto di un volto identico a una delle immagini nella colonna 'Input' tranne per il fatto che non ci sono aree nere.

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.