Come utilizzare GAN per l'estrazione di funzioni senza supervisione dalle immagini?


10

Ho capito come funziona GAN mentre due reti (generative e discriminative) sono in competizione tra loro. Ho creato un DCGAN (GAN con discriminatore convoluzionale e generatore de-convoluzionale) che ora genera con successo cifre scritte a mano simili a quelle nel set di dati MNIST.

Ho letto molto sulle applicazioni GAN per l'estrazione di funzionalità dalle immagini. Come posso utilizzare il mio modello GAN addestrato (sul set di dati MNIST) per estrarre funzionalità dalle immagini del digitalista scritto a mano MNIST?


Per l'estrazione della funzione, sto ottenendo la dimensione della funzione di 128 * 120 (ovvero 64 + 32 + 16 + 8) = 15360. Sono sicuro che mi manca qualcosa. Ho un'altra domanda per quanto riguarda la scelta del vettore di funzionalità. Devo considerare i pesi (conv2d + batchnorm + attivazione) o solo i pesi conv2d durante l'estrazione della funzione?
Tanmoy Dam,

Risposte:


4

In genere per estrarre funzionalità, è possibile utilizzare il livello superiore della rete prima dell'output. L'intuizione è che queste caratteristiche sono separabili linearmente perché il livello superiore è solo una regressione logistica.

Per i GAN, puoi utilizzare le funzionalità del discriminatore. Queste funzionalità dovrebbero dare una probabilità se l'input provenisse dal set di dati di training, "immagini reali". Nel documento DCGAN di Radford , usano tutti gli strati convoluzionali del discriminatore ed eseguono un massimo livello di pooling per estrarre le funzionalità per CIFAR-10.

Per valutare la qualità delle rappresentazioni apprese dai DCGAN per attività supervisionate, ci alleniamo su Imagenet-1k e quindi utilizziamo le caratteristiche convoluzionali del discriminatore da tutti i livelli, spostando al massimo ogni rappresentazione dei livelli per produrre una griglia spaziale 4 × 4. Queste caratteristiche vengono quindi appiattite e concatenate per formare un vettore dimensionale 28672 e su di esse viene addestrato un classificatore lineare regolarizzato L2-SVM.


1

La risposta di Kenny è corretta: se stai usando la D convoluzionale , l'output dei livelli prima del denso può servire come funzionalità. La mia intuizione è che funzionerà meglio per gli AC-GAN (o architetture simili, che rendono l'input di classificazione D oltre a determinare se è falso o reale).

Esiste un approccio chiamato BiGAN che aggiunge un componente Encoder in grado di mappare i campioni generati e di addestramento alla distribuzione latente z utilizzata per "inizializzare" il generatore. Gli autori dimostrano che può essere effettivamente utilizzato come set di funzionalità per l'apprendimento del trasferimento e altre attività.


0

poiché il GAN ​​è composto da due parti: il generatore e il discriminatore, esistono due modi per utilizzare GAN come estrattore di funzioni:

  1. Modo basato sul generatore presentato da Mikhail Yurasov.
  2. Discriminator based way presentato da Kenny.

Il secondo modo è più controverso. Alcuni studi [1] hanno pensato che, intuitivamente, come obiettivo del discriminatore è quello di distinguere i campioni generati dai campioni reali, si concentrerà solo sulla differenza tra questi due tipi di campioni. Ma ciò che ha senso è la differenza tra campioni reali, ovvero i campioni utilizzati dalle attività a valle.

Ho provato a studiarlo e ho scoperto che la funzione estratta può essere scomposta in due sottospazi ortogonali . Il primo spazio contribuisce al compito discriminatore, mentre il secondo è libero da esso. Come nella maggior parte dei casi, le funzioni utilizzate per distinguere i campioni reali da quelli generati sono rumore, il secondo spazio delle caratteristiche sarà privo di rumore. Da questo punto di vista, sebbene il compito del discriminatore non si concentri sulla differenza tra campioni reali, utili per le attività a valle, le funzionalità prive di rumore contenute nel secondo sottospazio funzioneranno.

[1] Jost Tobias Springenberg. Apprendimento non supervisionato e semi-supervisionato con reti contraddittorie generative categoriche. arXiv: 1511.06390 [cs, stat], aprile 2016. prestampa arXiv. arXiv: 1511.06390 [stat.ML]. Itaca, New York: Biblioteca della Cornell University.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.