2015-09-30 14 views
5

Nel famoso articolo di Google Inceptionism, http://googleresearch.blogspot.jp/2015/06/inceptionism-going-deeper-into-neural.html mostrano immagini ottenute per ogni classe, come banana o formica. Voglio fare lo stesso per altri set di dati.Google Inceptionism: ottieni le immagini per classe

L'articolo descrive come è stato ottenuto, ma ritengo che la spiegazione sia insufficiente.

C'è un codice correlato https://github.com/google/deepdream/blob/master/dream.ipynb

ma ciò che fa è quello di produrre un'immagine da sogno a caso, piuttosto che specificare una classe e imparare come si presenta nella rete, come illustrato nell'articolo di cui sopra.

Qualcuno potrebbe fornire una panoramica più concreta o codice/esercitazione su come generare immagini per una classe specifica? (preferibilmente ipotizzando un quadro caffe)

+0

la tua domanda non è chiara. puoi per favore chiarire? – Shai

+0

@Shai scusa, riformulò la domanda. In pratica voglio fare degli esempi di banchi e formule nell'articolo per altri set di dati. – ytrewq

risposta

3

Penso che this code sia un buon punto di partenza per riprodurre le immagini pubblicate dal team di Google. La procedura sembra chiaro:

  1. Avviare un'immagine rumore puro e una classe con (dire "gatto")
  2. Eseguire un passaggio in avanti e backpropagate il WRT errore l'etichetta di classe imposto
  3. aggiornare l'immagine iniziale con il gradiente calcolato allo strato dati

Ci sono alcuni trucchi coinvolti, che possono essere trovati nel original paper.

Sembra che la differenza principale è che Google la gente ha cercato di ottenere un più un'immagine "realistica":

Di per sé, che non funziona molto bene, ma non se si impone un vincolo preliminare che l'immagine dovrebbe avere statistiche simili a quelle naturali, come i pixel vicini che devono essere correlati.

Problemi correlati