I ricercatori continuano a trovare tecniche GAN migliorate e nuovi utilizzi per le GAN. Ecco un esempio di variazioni GAN per darti un'idea delle possibilità.
GAN progressive
In una GAN progressiva, i primi livelli del generatore producono immagini con risoluzione molto bassa e i livelli successivi aggiungono dettagli. Questa tecnica consente alla GAN di essere addestrata più rapidamente rispetto alle GAN non progressive paragonabili e produce immagini con una risoluzione più elevata.
Per ulteriori informazioni, consulta Karras et al, 2017.
GAN condizionali
Le GAN condizionali vengono addestrate su un set di dati etichettati e ti consentono di specificare l'etichetta per ogni istanza generata. Ad esempio, un GAN MNIST incondizionato produrrà cifre random, mentre un GAN MNIST condizionale ti consente di specificare quale cifra deve generare il GAN.
Invece di modellare la probabilità congiunta P(X, Y), i GAN condizionali modellano la probabilità condizionale P(X | Y).
Per ulteriori informazioni sulle GAN condizionali, consulta Mirza et al, 2014.Traduzione di immagini
Le GAN di traduzione di immagini in immagini prendono un'immagine come input e la mappano a un'immagine di output generata con proprietà diverse. Ad esempio, possiamo prendere un'immagine maschera con una macchia di colore a forma di auto e la GAN può riempire la forma con dettagli dell'auto fotorealistici.
Analogamente, puoi addestrare un GAN di immagine a immagine a prendere schizzi di borse e trasformarli in immagini fotorealistiche di borse.
In questi casi, la perdita è una combinazione ponderata della consueta perdita basata sul discriminatore e di una perdita a livello di pixel che penalizza il generatore per l'allontanamento dall'immagine di origine.
Per ulteriori informazioni, consulta Isola et al, 2016.
CycleGAN
I modelli CycleGAN imparano a trasformare le immagini di un insieme in immagini che potrebbero appartenere plausibilmente a un altro insieme. Ad esempio, un modello CycleGAN ha prodotto l'immagine a destra riportata di seguito quando è stata fornita l'immagine a sinistra come input. Ha preso l'immagine di un cavallo e l'ha trasformata in un'immagine di una zebra.
I dati di addestramento per CycleGAN sono semplicemente due insiemi di immagini (in questo caso, un insieme di immagini di cavalli e un insieme di immagini di zebre). Il sistema non richiede etichette o corrispondenze tra immagini a due a due.
Per ulteriori informazioni, consulta Zhu et al, 2017, che illustra l'utilizzo di CycleGAN per eseguire la traduzione di immagini senza dati accoppiati.
Sintesi di testo in immagini
Le GAN di conversione da testo a immagine prendono il testo come input e producono immagini plausibili e descritte dal testo. Ad esempio, l'immagine del fiore di seguito è stata prodotta alimentando una GAN con una descrizione di testo.
"Questo fiore ha petali gialli con sfumature di colore arancione." | ![]() |
Tieni presente che in questo sistema la GAN può produrre immagini solo da un piccolo insieme di classi.
Per ulteriori informazioni, consulta Zhang et al, 2016.
Super-risoluzione
Le GAN super-risoluzione aumentano la risoluzione delle immagini, aggiungendo dettagli ove necessario per riempire le aree sfocate. Ad esempio, l'immagine sfocata al centro di seguito è una versione con campionamento ridotto dell'immagine originale a sinistra. Data l'immagine sgranata, un GAN ha prodotto l'immagine più nitida a destra:
Originale | Sfocato | Ripristinato con GAN |
![]() |
![]() |
![]() |
L'immagine generata con GAN è molto simile all'immagine originale, ma se guardi attentamente la fascia, noterai che il GAN non ha riprodotto il motivo a forma di stella dell'originale. Invece, ha creato un proprio schema plausibile per sostituire quello cancellato dal downsampling.
Per ulteriori informazioni, consulta Ledig et al, 2017.
Inpainting del viso
Le GAN sono state utilizzate per l'attività di ritocco semantico delle immagini. Nella tâche di inpainting, alcuni blocchi di un'immagine vengono oscurati e il sistema tenta di riempire i blocchi mancanti.
Yeh et al, 2017 hanno utilizzato una GAN per ottenere risultati migliori rispetto ad altre tecniche di inpainting di immagini di volti:
Input | Output GAN |
![]() |
![]() |
Text-to-Speech
Non tutte le GAN producono immagini. Ad esempio, i ricercatori hanno utilizzato le GAN anche per produrre parlato sintetico da input di testo. Per ulteriori informazioni, consulta Yang et al., 2017.