Estratto del documento

P

L'obiettivo: Non ci limitiamo a classificare, ma vogliamo catturare la nozione di incertezza sul dato e

∼ .

generare (simulare) nuovi dati realistici campionando da questa distribuzione: x P

Il concetto di Contesto: Negli appunti si specifica che spesso siamo interessati a generare dati condizionati

(x ∣

da un contesto c (es. una descrizione testuale come "un campo di grano..."), modellando quindi .

P c)

Approcci alla modellazione di P(x): (x) ≈ (x )

Approccio Semplice: Assume indipendenza tra le componenti (pixel), modellando P P ij

i,j

(usato spesso nei VAE. 1

Approccio Sofisticato: Utilizza modelli basati sull'energia , che richiedono algoritmi di

exp(H(x))

z

approssimazione complessi.

Esistono principalmente due modi per modellare le relazioni tra i dati: (x ∣

 Fully-observed models Autoregressivi): Modellano direttamente le dipendenze tra i dati osservati (

P ij

)). Esempio: gli LLM o la generazione di immagini pixel per pixel.

X ij

 Latent-Variable models Variabili Latenti): Assumono che i dati osservati siano generati da variabili

x

nascoste (latenti) che esprimono causalità o correlazioni nascoste .

z

Esempio intuitivo: Nel numero "0", la variabile latente potrebbe codificare la presenza di "un'area nera

circolare al centro". Se conosciamo questa variabile latente, generare i pixel diventa più facile.

Variational Autoencoders (VAE): Struttura Probabilistica

Il VAE è un modello a variabili latenti.

Assumiamo che esista un processo generativo in due passi :

Riassunto Computer Vision 70

(z)

 Si campiona una variabile latente da una distribuzione a priori (spesso una normale standard).

z P (x ∣

 Si genera il dato campionando dalla distribuzione condizionata .

x P z)

θ

Matematicamente, la distribuzione marginale del dato è data dall'integrale (spesso intrattabile):

(x) = (z)dz

(x ∣

P P z)P

θ

L'obiettivo dell'addestramento è trovare i parametri ottimali che massimizzano la verosimiglianza dei dati

θ

osservati.

Generazione facile, ma inferenza difficile (z ∣

Per addestrare il modello, dobbiamo calcolare la probabilità a posteriori (inferenza): dato un'immagine

P x)

(x)

, quale l'ha generata? Tuttavia, calcolare (il denominatore della formula di Bayes) richiede di risolvere

x z P

l'integrale sopra citato, che è computazionalmente intrattabile.

Gli approcci per risolvere questo problema sono:

Metodi Monte Carlo MC Approssimano l'integrale campionando molti valori di . Sebbene accurati

z

asintoticamente, richiedono moltissimi campioni e sono computazionalmente costosi per spazi ad alta

dimensionalità . (z∣x)

Inferenza Variazionale VI Poiché non possiamo calcolare la vera , decidiamo di approssimarla

P

(z∣x)

con una distribuzione più semplice e gestibile, che chiamiamo (solitamente una Gaussiana).

q λ

L'obiettivo diventa trovare i parametri che rendono questa approssimazione il più simile possibile alla

λ q

vera .

P

Per rendere simile a , ci serve un metro per misurare la loro "distanza".

q P

Si introduce la Divergenza di Kullback-Leibler KL, che misura quanto due distribuzioni differiscono tra

loro. (z∣x)∣∣P (z∣x))

Matematicamente, vogliamo minimizzare .

KL(q λ

n n

∫ ∑ ∑

(x) = (z)dz ≈ (x∣z)P (z) = (x∣z)P (z∣x)

(x∣z) ⋅

P P P P P

(z) (z)

i=1 z P i=1 z P

∼ ∼

Riassunto Computer Vision 71

(z∣x)

Tuttavia, c'è un problema: per calcolare questa divergenza dovremmo conoscere la vera , che

P

è proprio ciò che non conosciamo!

Manipolando le formule, si scopre una relazione fondamentale tra tre elementi:

log (x) = + (z∣x)∣∣P (z∣x)]

P ELBO(λ, θ) KL[q λ

Dove:

log (x)

1.  È la probabilità dei dati osservati (è fissa e costante).

P

2.  È l'errore di approssimazione (che vogliamo minimizzare ma non possiamo calcolare direttamente).

KL[...]

3. Evidence Lower Bound) È un limite inferiore che possiamo calcolare.

ELBO log (x)

L'intuizione chiave: Poiché la somma di e è costante ( ), massimizzare l'ELBO

ELBO KL P

equivale matematicamente a minimizzare la . Invece di cercare di minimizzare un errore

KL

incalcolabile, ci concentriamo sul massimizzare l'ELBO, che è composto da termini gestibili.

Riassunto Computer Vision 72

La formula fondamentale da massimizzare è: (z ∣

Termine 1 Regolarizzazione): La distribuzione latente approssimata deve rimanere vicina alla

q x)

λ

(z) (0,

prior (solitamente ).

P N I)

Termine 2 Likelihood attesa): Il "decoder" deve essere bravo a ricostruire dato (misura la qualità della

x z

ricostruzione).

Riassunto Computer Vision 73

L'Autoencoder

Il framework matematico viene tradotto in un'architettura a rete neurale composta da due parti : 2

(z ∣

 Encoder ( ): Una rete neurale che prende in input e predice i parametri (media e varianza )

q x) x μ σ

λ

della distribuzione latente .

z

(x ∣

 Decoder ( ): Una rete neurale che prende un campione e cerca di ricostruire l'input (o i suoi

p z) z x

θ

parametri probabilistici). ∼ (z ∣

C'è un problema tecnico nell'architettura sopra descritta: il passaggio di campionamento z q x)

λ

è un processo stocastico non differenziabile, il che impedisce alla backpropagation di fluire attraverso

la rete per aggiornare i parametri dell'encoder .

La soluzione è il Reparametrization Trick Trucco della riparametrizzazione).

Invece di campionare direttamente , esprimiamo come una trasformazione deterministica di una variabile

z z

casuale ausiliaria ϵ indipendente dai parametri:

= + ⋅ ∼ (0,

z μ σ ϵ con ϵ N I)

Riassunto Computer Vision 74

In questo modo, la stocasticità è spostata su , e diventa una funzione differenziabile rispetto a e ,

ϵ z μ σ

permettendo l'ottimizzazione della rete end-to-end.

∂y ∂y ∂z

= ⋅

∂w ∂z ∂w

1 1

A questo punto quindi dobbiamo costruire due architetture: una encoder che deve calcolare e , quindi due

μ σ

vettori su cui dobbiamo calcolare il sampling, otteniamo e questa diventa lʼinput per il decoder su cui

z z

andiamo a calcolare delle probabilità che non sono altro che le loss.

L'obiettivo finale è massimizzare l'ELBO, che diventa la nostra funzione di costo Loss) da minimizzare

(cambiando segno).

La formula esplicita per la KL tra due gaussiane è, assumendo prior standard e convarianza diagonale:

Riassunto Computer Vision 75

Si va scegliere la forma chiusa così da evitare di calcolare integrali.

cv_notebooks/11.Generative_models.ipynb at master · gmanco/cv_notebooks

Contribute to gmanco/cv_notebooks development by creating an account on GitHub.

https://github.com/gmanco/cv_notebooks/blob/master/11.Generative_models.ipynb ^

L'approccio tradizionale per generare dati è la Stima di Massima Verosimiglianza ML, che cerca i parametri θ

per massimizzare la probabilità dei dati osservati.

L'analogia dell'elastico: Se il modello è sottospecificato (es. usiamo una sola Gaussiana per descrivere dati

bimodali), la ML cerca di "coprire" tutto lo spazio dei dati per non lasciare buchi.

Riassunto Computer Vision 76

Il problema matematico: Minimizzare la likelihood equivale a minimizzare la Kullback-Leibler KL

(x) (x)

Divergence. Quando la densità reale è alta ma quella del modello è bassa, la penalità è

P P

r θ

enorme.

Risultato visivo: Il modello, pur di non sbagliare assegnando probabilità zero a dati reali, assegna probabilità

anche a zone intermedie dove non c'è nulla. Questo produce immagini sfocate (blurry), medie di tutto ciò

che il modello ha visto, o vere e proprie "allucinazioni".

Generative Adversarial Networks (GAN)

Riassunto Computer Vision 77

Per ottenere immagini nitide, passiamo al framework GAN, basato sulla Teoria dei Giochi.

L'analogia "Banda degli Onesti vs Tabaccaio": Il funzionamento si basa su due entità contrapposte:

 Generatore G, la "Banda"): Cerca di stampare "soldi falsi" (immagini sintetiche) partendo da un vettore

random z.

 Discriminatore D, il "Tabaccaio"): Deve distinguere se ciò che riceve è vero (dal dataset) o falso

(generato da G.

Il Feedback: Il discriminatore fornisce un segnale fondamentale al generatore (tramite i gradienti della

backpropagation), indicando "come" migliorare per ingannarlo Note utente).

Perché la GAN genera immagini nitide? KL vs JSD

Se il discriminatore è ottimale ( ), la loss del generatore si trasforma. Invece di minimizzare la KL (come nella

D

ML, la GAN minimizza la Jensen-Shannon Divergence JSD.

Differenza chiave: Mentre la KL tende a "coprire" tutte le modalità (creando sfocature), la JSD permette al

modello di essere unimodale. Il modello si concentra su un unico "centro di massa" realistico e nitido,

ignorando le regioni di incertezza.

Addestramento e Instabilità

L'addestramento è un processo iterativo e delicato Algorithm 1

 Si addestra D per passi a distinguere vero/falso.

k

 Si addestra G per un passo cercando di massimizzare l'errore di D.

Riassunto Computer Vision 78

Schema Algoritmo della GAN. Inizializzo i parametri random, campiona un certo numero di esempi e allo stesso tempo prende

un sottoinsieme di esempi dal campione reale, dopodiché utilizza i due esempi per addestrare , massimizzando il gradiente

ϕ

discendente. Quando il discriminatore è pronto, addestriamo il generatore, campioniamo dal generatore, li passiamo al

descriminatore e addestriamo sul feedback. Questa cosa viene iterata.

cv_notebooks/12.GAN.ipynb at master · gmanco/cv_notebooks

Contribute to gmanco/cv_notebooks development by creating an account on GitHub.

https://github.com/gmanco/cv_notebooks/blob/master/12.GAN.ipynb

Problemi noti:

Mode Collapse: Il generatore produce sempre la stessa immagine.

Instabilità: Essendo un punto di sella (minimax game), è difficile convergere.

Soluzione "Progressive Growing": Per generare immagini grandi e complesse, si parte da risoluzioni basse

Anteprima
Vedrai una selezione di 7 pagine su 29
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction) Pag. 1 Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction) Pag. 2
Anteprima di 7 pagg. su 29.
Scarica il documento per vederlo tutto.
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction) Pag. 6
Anteprima di 7 pagg. su 29.
Scarica il documento per vederlo tutto.
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction) Pag. 11
Anteprima di 7 pagg. su 29.
Scarica il documento per vederlo tutto.
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction) Pag. 16
Anteprima di 7 pagg. su 29.
Scarica il documento per vederlo tutto.
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction) Pag. 21
Anteprima di 7 pagg. su 29.
Scarica il documento per vederlo tutto.
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction) Pag. 26
1 su 29
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher stefano-brusco2001 di informazioni apprese con la frequenza delle lezioni di Computer vision e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università della Calabria o del prof Marco Rossi.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community