Informazioni generali: che cos'è un modello generativo?

Che cosa significa "generativa" nel nome "Rete generativa avversaria"? "Generativo" descrive una classe di modelli statistici in contrasto con i modelli discriminativi.

In modo informale:

  • I modelli generativi possono generare nuove istanze di dati.
  • I modelli discriminativi distinguono tra diversi tipi di istanze di dati.

Un modello generativo potrebbe generare nuove foto di animali che sembrano animali reali, mentre un modello discriminante potrebbe distinguere un cane da un gatto. Le GAN sono solo un tipo di modello generativo.

In modo più formale, dato un insieme di istanze di dati X e un insieme di etichette Y:

  • I modelli generativi acquisiscono la probabilità congiunta p(X, Y) o solo p(X) se non sono presenti etichette.
  • I modelli discriminativi acquisiscono la probabilità condizionale p(Y | X).

Un modello generativo include la distribuzione dei dati stessi e ti dice quanto è probabile un determinato esempio. Ad esempio, i modelli che prevedono la parola successiva in una sequenza sono in genere modelli generativi (di solito molto più semplici dei GAN) perché possono assegnare una probabilità a una sequenza di parole.

Un modello discriminativo ignora la questione se una determinata istanza è probabile e ti dice solo quanto è probabile che un'etichetta venga applicata all'istanza.

Tieni presente che si tratta di una definizione molto generale. Esistono molti tipi di modelli generativi. Le GAN sono solo un tipo di modello generativo.

Modellazione delle probabilità

Nessuno dei due tipi di modelli deve restituire un numero che rappresenti una probabilità. Puoi modellare la distribuzione dei dati imitando la distribuzione.

Ad esempio, un classificatore discriminatorio come un albero di decisione può etichettare un'istanza senza assegnare una probabilità a quell'etichetta. Un tale classificatore sarebbe comunque un modello perché la distribuzione di tutte le etichette previste modella la distribuzione reale delle etichette nei dati.

Analogamente, un modello generativo può modellare una distribuzione producendo dati "falsi" convincenti che sembrano essere tratti da quella distribuzione.

I modelli generativi sono difficili

I modelli generativi affrontano un compito più difficile rispetto ai modelli discriminativi analoghi. I modelli generativi devono modellare di più.

Un modello generativo per le immagini potrebbe acquisire correlazioni come "gli oggetti che sembrano barche probabilmente appariranno vicino a oggetti che sembrano acqua" e "è improbabile che gli occhi appaiano sulle fronti". Si tratta di distribuzioni molto complicate.

Al contrario, un modello di classificazione potrebbe apprendere la differenza tra "barca a vela" o "non barca a vela" semplicemente cercando alcuni pattern indicativi. Potrebbe ignorare molte delle correlazioni che il modello generativo deve ottenere correttamente.

I modelli di classificazione cercano di tracciare confini nello spazio dei dati, mentre i modelli di generazione cercano di modellare il modo in cui i dati vengono posizionati nello spazio. Ad esempio, il seguente diagramma mostra modelli discriminativi e generativi di cifre scritte a mano:

Due grafici, uno etichettato "Modello discriminante"
          e l'altro etichettato "Modello generativo". Entrambi i grafici mostrano
          gli stessi quattro punti dati. Ogni punto è etichettato con l'immagine
          del numero scritto a mano che rappresenta. Nel grafico discriminante c'è una linea tratteggiata che separa due punti dati dagli altri due. La regione sopra la linea tratteggiata è etichettata come "y=0" e la regione sotto la linea è etichettata come "y=1". Nel grafico generativo
          vengono disegnati due cerchi con linee tratteggiate attorno alle due coppie di punti. Il cerchio superiore è etichettato come "y=0" e quello inferiore come "y=1

Figura 1: modelli di cifre scritte a mano discriminativi e generativi.

Il modello di classificazione cerca di distinguere tra gli zeri e gli 1 scritti a mano tracciando una linea nello spazio dei dati. Se individua correttamente la linea, può distinguere gli zeri dagli 1 senza dover mai modellare esattamente dove sono posizionate le istanze nello spazio di dati su entrambi i lati della linea.

Al contrario, il modello generativo cerca di produrre 1 e 0 convincenti generando cifre vicine alle loro controparti reali nello spazio di dati. Deve modellare la distribuzione nello spazio dei dati.

Le GAN offrono un modo efficace per addestrare questi modelli completi in modo che assomiglino a una distribuzione reale. Per capire come funzionano, dobbiamo conoscere la struttura di base di un GAN.

Verifica della comprensione: modelli generativi e discriminativi

Hai i punteggi del QI di 1000 persone. Modella la distribuzione dei punteggi IQ con la seguente procedura:
  1. Tira tre dadi a sei facce.
  2. Moltiplica la rotazione per una costante w.
  3. Ripeti 100 volte e calcola la media di tutti i risultati.
Prova valori diversi per w finché il risultato della procedura non è uguale alla media dei punteggi di QI reali. Il tuo modello è generativo o discriminativo?
Non sono disponibili informazioni sufficienti.
Modello discriminativo
Modello generativo
Un modello restituisce una probabilità quando gli viene fornita un'istanza di dati. Questo modello è generativo o discriminativo?
Modello generativo
Non sono disponibili informazioni sufficienti.
Modello discriminativo