https://deepgenerativemodels.github.io/ Un corso di Stanford a cui la lezione faceva riferimento.
Modello generativo
Non si tratta solo di generare immagini e testo.

Supponiamo di ricevere un insieme di immagini di cani.
Ci si aspetta che un modello generativo impari una distribuzione di probabilità .
- Generazione: campionando , dovrebbe sembrare un cane.
- Density estimation: usare per determinare se un input arbitrario è un cane, non un cane, un gatto, ecc. (anomaly detection)
- In senso stretto, un modello generativo include un modello discriminativo.
- Un modello che può fornire valori di probabilità è chiamato modello esplicito.
- Unsupervised representation learning (feature learning): apprendere feature in modo non supervisionato
- Il professore trovava questo discutibile, ma la lezione di Stanford sostiene che anche questo è un obiettivo dei modelli generativi.
Distribuzioni discrete di base
Prerequisiti matematici di base. Argomento già trattato dal Professor Im Sung-bin, ma vale la pena rivedere.
Distribuzione di Bernoulli
Bernoulli richiede solo 1 parametro.
- D = {Heads, Tail}
- P(X=Heads) = p, allora P(X=Tails) = 1 - p
- Si scrive: X ~ Ber(p)
Distribuzione categoriale
La categoriale richiede m-1 parametri. Se si conoscono m-1 elementi, il rimanente è determinato automaticamente.
- D = {1, …, m}
- P(Y=i) = , tale che = 1
- Si scrive: Y ~ Cat(p1, …, pm)
RGB

- numero di casi = 256 x 256 x 256
- numero di parametri = 256 x 256 x 256 - 1
- Il numero di parametri per rappresentare un singolo pixel RGB è enorme. Ovvio, ma comunque.
Immagine binaria

- Si assuma un’immagine binaria con n pixel.
- Servono stati.
- Campionare da genera un’immagine.
- Campionare richiede parametri.
Il numero di parametri è troppo grande. Si può ridurre?
Struttura tramite indipendenza
Supponiamo che in un’immagine binaria siano indipendenti. In realtà non ha senso — se tutti i pixel fossero indipendenti, l’unica immagine rappresentabile sarebbe rumore bianco. Ma assumiamolo comunque.
Il numero di stati possibili rimane .
Ma il numero di parametri per è solo n. Perché ogni pixel richiede solo 1 parametro, e dato che sono tutti indipendenti, il totale è n.
Regola della catena

Nessuna assunzione necessaria — è un teorema. Si pensi al modello completamente dipendente come punto di partenza.
Numero totale di parametri: . Riduzione esponenziale ottenuta.
Teorema di Bayes

Indipendenza condizionale
 x e y sono condizionalmente indipendenti dato z; p di x dato y e z è uguale a p di x dato z.
Se z è dato e x e y sono indipendenti, guardando un x casuale y è irrilevante.
Questo teorema permette di eliminare variabili indipendenti dalla condizionale nella regola della catena o in altre formule. Usando questo, costruiremo un buon modello tra gli estremi completamente dipendente e completamente indipendente.
Assunzione di Markov
Applichiamo l’assunzione di Markov alla regola della catena. Simile all’assunzione nelle RNN — lo stato corrente dipende solo dallo stato immediatamente precedente. Nella regola della catena, i termini che usavano tutte le informazioni precedenti ora si riferiscono solo a n-1 al tempo n. 
Numero totale di parametri: .
Rispetto a n del caso completamente indipendente è maggiore, ma rispetto a della regola della catena è una riduzione esponenziale.
Trovare questo tipo di sweet spot nel mezzo è ciò che fa un modello auto-regressivo.
Modello auto-regressivo

- Si assuma di usare immagini binarie 28x28.
- Apprendere su .
- Come parametrizzare ?
- Usare la regola della catena per decomporre la distribuzione congiunta.

- Questo si chiama modello autoregressivo.
- Usare solo l’informazione immediatamente precedente (come l’assunzione di Markov) è anch’esso autoregressivo.
- Tutte le variabili casuali devono essere ordinate.
- Le prestazioni possono variare in base all’ordinamento.
Un modello che considera solo 1 passo precedente = modello AR(1) Un modello che considera n passi precedenti = modello AR(N)
NADE
Neural Autoregressive Density Estimator 

L’i-esimo pixel dipende dai pixel da 1 a i-1.
- La distribuzione del primo pixel non dipende da nulla.
- La distribuzione del secondo pixel dipende solo dal primo.
- La distribuzione del quinto pixel dipende dai pixel da 1 a 4.
- L’i-esimo pixel dipende da i-1 pixel.
- Le dimensioni dell’input cambiano, quindi i pesi continuano a crescere.
- L’i-esimo input richiede pesi che possano accettare i-1 input.
- Usando una mixture of Gaussians nell’ultimo layer si possono produrre variabili casuali continue.
NADE è un modello esplicito. Poiché le probabilità vengono calcolate come nella regola della catena, i valori di probabilità possono essere ottenuti in un modo o nell’altro.
I modelli impliciti possono solo generare.
Pixel RNN
Rendere una RNN auto-regressiva.
La formula per un’immagine RGB n x n: 
Due varianti basate sull’ordinamento: 
- Row LSTM
- Usa le informazioni dall’alto
- Diagonal BiLSTM
- Usa tutte le informazioni precedenti