Ricerca nel sito web

Come valutare le reti avversarie generative


Le reti avversarie generative, o GAN in breve, sono un approccio efficace al deep learning per lo sviluppo di modelli generativi.

A differenza di altri modelli di reti neurali di deep learning che vengono addestrati con una funzione di perdita fino alla convergenza, un modello di generatore GAN viene addestrato utilizzando un secondo modello chiamato discriminatore che impara a classificare le immagini come reali o generate. Sia il modello generatore che quello discriminatore vengono addestrati insieme per mantenere un equilibrio.

Pertanto, non esiste una funzione di perdita oggettiva utilizzata per addestrare i modelli del generatore GAN e nessun modo per valutare oggettivamente il progresso dell'addestramento e la qualità relativa o assoluta del modello basandosi esclusivamente sulla perdita.

È stata invece sviluppata una serie di tecniche qualitative e quantitative per valutare le prestazioni di un modello GAN basato sulla qualità e sulla diversità delle immagini sintetiche generate.

In questo post scoprirai tecniche per valutare modelli di reti generative avversarie basati su immagini sintetiche generate.

Dopo aver letto questo post, saprai:

  • Non esiste una funzione obiettivo utilizzata durante l'addestramento dei modelli del generatore GAN, il che significa che i modelli devono essere valutati utilizzando la qualità delle immagini sintetiche generate.
  • L'ispezione manuale delle immagini generate è un buon punto di partenza per iniziare.
  • Misure quantitative, come il punteggio di inizio e la distanza di inizio di Frechet, possono essere combinate con una valutazione qualitativa per fornire una valutazione solida dei modelli GAN.

Avvia il tuo progetto con il mio nuovo libro Generative Adversarial Networks with Python, che include tutorial passo passo e i file codice sorgente Python per tutti gli esempi.

Cominciamo.

Panoramica

Questo tutorial è diviso in cinque parti; sono:

  1. Il problema della valutazione dei modelli di generatori GAN
  2. Valutazione manuale del generatore GAN
  3. Valutazione qualitativa del generatore GAN
  4. Valutazione quantitativa del generatore GAN
  5. Quale schema di valutazione GAN utilizzare

Il problema della valutazione dei modelli di generatori GAN

Le reti avversarie generative sono un tipo di modello generativo basato sul deep learning.

I GAN si sono rivelati straordinariamente efficaci nel generare immagini sintetiche di alta qualità e di grandi dimensioni in una serie di ambiti problematici.

Invece di essere addestrati direttamente, i modelli generatori vengono addestrati da un secondo modello, chiamato discriminatore, che impara a differenziare le immagini reali da quelle false o generate. Pertanto, non esiste una funzione obiettivo o una misura oggettiva per il modello del generatore.

Le reti avversarie generative mancano di una funzione oggettiva, il che rende difficile confrontare le prestazioni di modelli diversi.

— Tecniche migliorate per la formazione dei GAN, 2016.

Ciò significa che non esiste un modo generalmente concordato per valutare un determinato modello di generatore GAN.

Questo è un problema per la ricerca e l’utilizzo dei GAN; ad esempio, quando:

  • Scelta di un modello di generatore GAN finale durante un'esecuzione del training.
  • Scelta delle immagini generate per dimostrare la capacità di un modello di generatore GAN.
  • Confronto tra architetture di modelli GAN.
  • Confronto delle configurazioni del modello GAN.

La valutazione oggettiva dei modelli dei generatori GAN rimane un problema aperto.

Sebbene siano state introdotte diverse misure, non c’è ancora consenso su quale misura catturi meglio i punti di forza e i limiti dei modelli e debba essere utilizzata per un confronto equo dei modelli.

— Pro e contro delle misure di valutazione del GAN, 2018.

Pertanto, i modelli del generatore GAN vengono valutati in base alla qualità delle immagini generate, spesso nel contesto del dominio problematico target.

Valutazione manuale del generatore GAN

Molti professionisti GAN ricorrono alla valutazione dei generatori GAN tramite la valutazione manuale delle immagini sintetizzate da un modello di generatore.

Ciò comporta l'utilizzo del modello del generatore per creare un batch di immagini sintetiche, quindi valutare la qualità e la diversità delle immagini in relazione al dominio di destinazione.

Questa operazione può essere eseguita dal ricercatore o dal professionista stesso.

L'esame visivo dei campioni da parte dell'uomo è uno dei modi comuni e più intuitivi per valutare i GAN.

— Pro e contro delle misure di valutazione del GAN, 2018.

Il modello del generatore viene addestrato in modo iterativo in molte epoche di addestramento. Poiché non esiste una misura oggettiva delle prestazioni del modello, non possiamo sapere quando il processo di addestramento dovrebbe interrompersi e quando il modello finale dovrebbe essere salvato per un uso successivo.

Pertanto, è prassi comune utilizzare lo stato corrente del modello durante l'addestramento per generare un gran numero di immagini sintetiche e salvare lo stato corrente del generatore utilizzato per generare le immagini. Ciò consente la valutazione post-hoc di ciascun modello di generatore salvato tramite le relative immagini generate.

Un'epoca di addestramento si riferisce a un ciclo attraverso le immagini nel set di dati di addestramento utilizzato per aggiornare il modello. I modelli possono essere salvati sistematicamente attraverso le epoche di addestramento, ad esempio ogni una, cinque, dieci o più epoche di addestramento.

Sebbene l’ispezione manuale sia il metodo più semplice per la valutazione del modello, presenta molte limitazioni, tra cui:

  • È soggettivo, compresi i pregiudizi del revisore riguardo al modello, alla sua configurazione e all'obiettivo del progetto.
  • Richiede la conoscenza di cosa è realistico e cosa non lo è per il dominio di destinazione.
  • È limitato al numero di immagini che possono essere riviste in un tempo ragionevole.

… valutare la qualità delle immagini generate con la visione umana è costoso e complicato, distorto […] difficile da riprodurre e non riflette pienamente la capacità dei modelli.

— Pro e contro delle misure di valutazione del GAN, 2018.

La natura soggettiva, quasi certa, porta a una selezione distorta del modello e a una scelta selettiva e non dovrebbe essere utilizzata per la selezione finale del modello su progetti non banali.

Tuttavia, è un punto di partenza per i praticanti quando acquisiscono familiarità con la tecnica.

Per fortuna, sono stati proposti e adottati metodi di valutazione del generatore GAN più sofisticati.

Per un sondaggio approfondito, consultare il documento del 2018 intitolato “Pro e contro delle misure di valutazione GAN”. Questo documento divide la valutazione del modello del generatore GAN in misure qualitative e quantitative e ne esamineremo alcune nelle sezioni seguenti utilizzando questa divisione.

Valutazione qualitativa del generatore GAN

Le misure qualitative sono quelle misure che non sono numeriche e spesso implicano una valutazione soggettiva umana o una valutazione tramite confronto.

Di seguito sono elencate cinque tecniche qualitative per la valutazione dei modelli di generatori GAN.

  1. Vicini più vicini.
  2. Categorizzazione rapida delle scene.
  3. Valutazione e giudizio di preferenza.
  4. Valutazione del rilascio e del collasso della modalità.
  5. Indagare e visualizzare gli interni delle reti.

Forse il modello di generatore GAN qualitativo più utilizzato è un'estensione dell'ispezione manuale delle immagini denominata "Giudizio di valutazione e preferenza".

Questi tipi di esperimenti chiedono ai soggetti di valutare i modelli in termini di fedeltà delle immagini generate.

— Pro e contro delle misure di valutazione del GAN, 2018.

Qui è dove ai giudici umani viene chiesto di classificare o confrontare esempi di immagini reali e generate dal dominio.

Il metodo di "Categorizzazione rapida delle scene" è generalmente lo stesso, sebbene le immagini vengano presentate a giudici umani per un periodo di tempo molto limitato, ad esempio una frazione di secondo, e classificate come reali o false.

Le immagini sono spesso presentate in coppia e al giudice umano viene chiesto quale immagine preferisce, ad es. quale immagine è più realistica. Un punteggio o una valutazione viene determinato in base al numero di volte in cui un modello specifico ha generato immagini in tali tornei. La varianza nel giudizio viene ridotta facendo la media delle valutazioni di più giudici umani diversi.

Si tratta di un esercizio ad alta intensità di manodopera, anche se i costi possono essere ridotti utilizzando una piattaforma di crowdsourcing come Mechanical Turk di Amazon e l’efficienza può essere aumentata utilizzando un’interfaccia web.

Una metrica intuitiva delle prestazioni può essere ottenuta facendo in modo che annotatori umani giudichino la qualità visiva dei campioni. Automatizziamo questo processo utilizzando Amazon Mechanical Turk […] utilizzando l'interfaccia web […] che utilizziamo per chiedere agli annotatori di distinguere tra dati generati e dati reali.

— Tecniche migliorate per la formazione dei GAN, 2016.

Uno dei principali svantaggi di questo approccio è che la prestazione dei giudici umani non è fissa e può migliorare nel tempo. Ciò è particolarmente vero se viene fornito loro un feedback, ad esempio indizi su come rilevare le immagini generate.

Imparando da tale feedback, gli annotatori sono in grado di evidenziare meglio i difetti nelle immagini generate, fornendo una valutazione della qualità più pessimistica.

— Tecniche migliorate per la formazione dei GAN, 2016.

Un altro approccio popolare per riassumere soggettivamente le prestazioni del generatore è "Vicini più vicini". Ciò comporta la selezione di esempi di immagini reali dal dominio e l'individuazione di una o più immagini generate più simili per il confronto.

Le misure della distanza, come la distanza euclidea tra i dati dei pixel dell'immagine, vengono spesso utilizzate per selezionare le immagini generate più simili.

L'approccio del vicino più vicino è utile per fornire un contesto per valutare quanto realistiche siano le immagini generate.

Valutazione quantitativa del generatore GAN

La valutazione quantitativa del generatore GAN si riferisce al calcolo di punteggi numerici specifici utilizzati per riassumere la qualità delle immagini generate.

Di seguito sono elencate ventiquattro tecniche quantitative per la valutazione dei modelli di generatori GAN.

  1. Probabilità media di log
  2. Metrica di copertura
  3. Punteggio iniziale (IS)
  4. Punteggio iniziale modificato (m-IS)
  5. Punteggio della modalità
  6. Punteggio AM
  7. Distanza di inizio di Frechet (FID)
  8. Discrepanza media massima (MMD)
  9. Il critico di Wasserstein
  10. Test sul paradosso del compleanno
  11. Test del classificatore a due campioni (C2ST)
  12. Prestazioni di classificazione
  13. Distorsione dei confini
  14. Numero di contenitori statisticamente diversi (NDB)
  15. Prestazioni di recupero delle immagini
  16. Metrica generativa del contraddittorio (GAM)
  17. Tasso di vincita del torneo e valutazione abilità
  18. Punteggio discriminativo relativo normalizzato (NRDS)
  19. Accuratezza contraddittoria e divergenza contraddittoria
  20. Punteggio di geometria
  21. Errore di ricostruzione
  22. Misure della qualità dell'immagine (SSIM, PSNR e differenza di nitidezza)
  23. Statistiche delle immagini di basso livello
  24. Precisione, richiamo e punteggio F1

Il documento GAN originale del 2014 di Goodfellow, et al. intitolato "Generative Adversarial Networks" ha utilizzato il metodo "Average Log-likelihood", noto anche come stima del kernel o stima della densità di Parzen, per riassumere la qualità delle immagini generate.

Ciò comporta l'approccio impegnativo di stimare quanto bene il generatore cattura la distribuzione di probabilità delle immagini nel dominio e generalmente si è rivelato non efficace per valutare i GAN.

La stima della verosimiglianza delle finestre di Parzen favorisce modelli banali ed è irrilevante per la fedeltà visiva dei campioni. Inoltre, non riesce ad approssimare la vera probabilità negli spazi ad alta dimensione o a classificare i modelli

— Pro e contro delle misure di valutazione del GAN, 2018.

Due parametri ampiamente adottati per valutare le immagini generate sono il punteggio di inizio e la distanza di inizio di Frechet.

Il punteggio iniziale è stato proposto da Tim Salimans, et al. nel loro articolo del 2016 intitolato “Tecniche migliorate per la formazione dei GAN”.

Il punteggio di inizio (IS) […] è forse il punteggio più ampiamente adottato per la valutazione GAN.

— Pro e contro delle misure di valutazione del GAN, 2018.

Il calcolo del punteggio iniziale implica l'utilizzo di un modello di rete neurale di deep learning pre-addestrato per la classificazione delle immagini generate. Nello specifico, il modello Inception v3 descritto da Christian Szegedy, et al. nel loro articolo del 2015 intitolato “Rethinking the Inception Architecture for Computer Vision”. La dipendenza dal modello iniziale dà il nome al punteggio iniziale.

Un gran numero di immagini generate vengono classificate utilizzando il modello. Nello specifico si prevede la probabilità che l'immagine appartenga a ciascuna classe. Le probabilità vengono quindi riepilogate nel punteggio per catturare sia quanto ciascuna immagine assomiglia a una classe conosciuta sia quanto sia diverso l'insieme di immagini nelle classi conosciute.

Un punteggio iniziale più alto indica immagini generate di migliore qualità.

Il punteggio Frechet Inception Distance, o FID, è stato proposto e utilizzato da Martin Heusel, et al. nel loro articolo del 2017 intitolato “I GAN addestrati da una regola di aggiornamento su due scale temporali convergono verso un equilibrio di Nash locale”. Il punteggio è stato proposto come miglioramento rispetto al punteggio iniziale esistente.

Il FID offre buone prestazioni in termini di discriminabilità, robustezza ed efficienza computazionale. […] È stato dimostrato che il FID è coerente con i giudizi umani ed è più resistente al rumore rispetto all’IS.

— Pro e contro delle misure di valutazione del GAN, 2018.

Come il punteggio iniziale, il punteggio FID utilizza il modello iniziale v3. Nello specifico, lo strato di codifica del modello (l'ultimo strato di pooling prima della classificazione delle immagini in output) viene utilizzato per acquisire caratteristiche specifiche della visione artificiale di un'immagine in input. Queste attivazioni vengono calcolate per una raccolta di immagini reali e generate.

Le attivazioni per ciascuna immagine reale e generata vengono riassunte come una gaussiana multivariata e la distanza tra queste due distribuzioni viene quindi calcolata utilizzando la distanza di Frechet, chiamata anche distanza Wasserstein-2.

Un punteggio FID inferiore indica immagini più realistiche che corrispondono alle proprietà statistiche delle immagini reali.

Quale schema di valutazione GAN utilizzare

Per iniziare, è una buona idea iniziare con l'ispezione manuale delle immagini generate per valutare e selezionare i modelli del generatore.

  • Ispezione manuale delle immagini

Lo sviluppo di modelli GAN è abbastanza complesso per i principianti. L'ispezione manuale può aiutarti molto a perfezionare l'implementazione del modello e testare le configurazioni del modello.

Una volta migliorata la tua fiducia nello sviluppo di modelli GAN, sia il punteggio di inizio che la distanza di inizio di Frechet possono essere utilizzati per riassumere quantitativamente la qualità delle immagini generate. Non esiste un’unica misura migliore e concordata, anche se queste due misure si avvicinano.

Al momento non c’è consenso riguardo al punteggio migliore. Punteggi diversi valutano vari aspetti del processo di generazione delle immagini ed è improbabile che un singolo punteggio possa coprire tutti gli aspetti. Tuttavia, alcune misure sembrano più plausibili di altre (ad esempio il punteggio FID).

— Pro e contro delle misure di valutazione del GAN, 2018.

Queste misure catturano la qualità e la diversità delle immagini generate, sia da sole (precedenti) che rispetto alle immagini reali (seconde) e sono ampiamente utilizzate.

  • Punteggio iniziale
  • Distanza di inizio di Frechet

Entrambe le misure sono facili da implementare e calcolare su lotti di immagini generate. Pertanto, la pratica di generare sistematicamente immagini e salvare modelli durante la formazione può e deve continuare a essere utilizzata per consentire la selezione del modello post-hoc.

Il metodo del vicino più vicino può essere utilizzato per riassumere qualitativamente le immagini generate. Se necessario, è possibile utilizzare anche valutazioni e giudizi di preferenza basati sull'uomo tramite una piattaforma di crowdsourcing.

  • Vicini più vicini
  • Valutazione e giudizio di preferenza

Ulteriori letture

Questa sezione fornisce più risorse sull'argomento se desideri approfondire.

  • Reti avversarie generative, 2014.
  • Pro e contro delle misure di valutazione GAN, 2018.
  • Tecniche migliorate per la formazione dei GAN, 2016.
  • I GAN addestrati da una regola di aggiornamento su due scale temporali convergono in un equilibrio di Nash locale, 2017.
  • I GAN sono uguali? Uno studio su larga scala, 2017.

Riepilogo

In questo post hai scoperto tecniche per valutare modelli di reti generative avversarie basati su immagini sintetiche generate.

Nello specifico, hai imparato:

  • Non esiste una funzione obiettivo utilizzata durante l'addestramento dei modelli del generatore GAN, il che significa che i modelli devono essere valutati utilizzando la qualità delle immagini sintetiche generate.
  • L'ispezione manuale delle immagini generate è un buon punto di partenza per iniziare.
  • Misure quantitative, come il punteggio di inizio e la distanza di inizio di Frechet, possono essere combinate con una valutazione qualitativa per fornire una valutazione solida dei modelli GAN.

Hai qualche domanda?
Poni le tue domande nei commenti qui sotto e farò del mio meglio per rispondere.

Articoli correlati