AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
Modelli Generativi
‣ Un modello generativo descrive come viene generato un dataset, ad esempio
attraverso una descrizione probabilistica.
‣ Attraverso il campionamento di questo modello, generiamo nuovi dati.
‣ L'obiettivo è generare dati che siano variazioni di quelli esistenti, ma non "troppo
lontani" dal dataset originale.
‣ Un modello generativo è solitamente probabilistico piuttosto che deterministico per
natura.
3.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
Discriminative Model
Source: David Foster. Generative Deep Learning. O’Reilly. 2019.
4.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
Generative Model
Source: David Foster. Generative Deep Learning. O’Reilly. 2019.
5.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
Generative Modelling Framework
‣ Dato un dataset X, supponiamo che l'osservazione sia stata generata secondo una
distribuzione sconosciuta pdata.
‣ Il goal e’ creare un modello generativo pmodel che puo’ essere usato per generare
outputs che sono generati dalla distribuzione pdata.
‣ Abbiamo raggiunto il nostro obiettivo se i dati generati sono anche adeguatamente
diversi dalle osservazioni X.
‣ Il modello non dovrebbe semplicemente riprodurre le cose che sono già state viste.
6.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
Variational Autoencoders
‣ Un autoencoder è una rete neurale addestrata per svolgere il compito di codificare
e decodificare un elemento, in modo che l'output di questo processo sia il più vicino
possibile all'elemento originale.
‣ Un autoencoder è composto da due parti:
‣ Una rete di codifica (encoder) che comprime i dati di input ad alta dimensione,
come un'immagine, in un vettore di incorporamento a dimensione inferiore.
‣ Una rete di decodifica (decoder) che decomprime un vettore di incorporamento
dato riportandolo all'originale.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
Variational Autoencoders
‣ The embedding z is a compression of the original input into a lower-dimensional
latent space.
‣ By sampling the latent space, we can generate new outputs by passing the sample
to the decoder, since the decoder has learned how to convert points into “realistic”
outputs.
9.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
Variational Autoencoders
Source: Wikimedia
L'encoder prende ogni immagine di input e la codifica in due vettori che definiscono una
distribuzione normale multivariata nello spazio latente con media 𝜇 e varianza 𝜎.
𝜖 viene campionato da una distribuzione normale N(0,I).
Calcoliamo z come segue: z=μ+σϵ.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
DeepDream
‣ Sviluppato da Alexander Mordvintsev, Christopher Olah e Mike Tika nel 2015.
‣ Questo movimento è stato chiamato inceptionism dal film "Inception" di Chris Nolan.
‣ L'idea è di provare a sfruttare i “pattern” che vengono appresi dalla rete neurale “al
contrario”.
‣ Viene utilizzato per generare immagini composte dai modelli rilevati dai diversi strati.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
DeepDream
‣ L'interpretabilità è ancora una questione aperta in deep learning.
‣ Nel caso delle immagini, sappiamo che ogni livello estrae progressivamente le
caratteristiche di livello superiore delle immagini, fino a quando il livello finale non
prende una decisione su ciò che un'immagine mostra effettivamente.
‣ Primo strato per bordi e angoli, poi strati intermedi interpretano le caratteristiche
di base e vengono utilizzati per estrarre forme e componenti (finestre, foglie,
ecc.). Lo strato finale potrebbe estrarre edifici o alberi.
‣ Un modo per visualizzarlo è capovolgere la rete e chiedere di migliorare
un'immagine di input in modo che il ruolo di ogni strato possa essere interpretato.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
DeepDream
‣ L'idea di DeepDream è quella di scegliere uno o più livelli e imitare la perdita in modo
che l'immagine “ecciti” sempre di più i livelli.
‣ La complessità delle funzionalità incorporate dipende dal livello che abbiamo scelto.
‣ Usiamo l'architettura InceptionV3.
‣ Per DeepDream gli strati di interesse sono quelli in cui le convoluzioni sono
concatenate.
‣ Dopo aver calcolato la loss per i livelli selezionati, calcoliamo i gradienti (utilizzando
l'ascesa del gradiente) alle immagini di input.
‣ Se consideriamo un’immagine di “noise”, appariranno le forme identificate da quello
specifico livello.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
Generative Adversarial Networks (GANs)
‣ Il Generative Adversarial Network (GAN) è una classe di tecniche di machine
learning in cui due reti neurali competono l'una contro l'altra.
‣ La rete generativa genera candidati, mentre la rete discriminante li valuta.
‣ La rete generativa cerca di creare nuovi campioni che sembrano simili dai dati reali
(una distribuzione originale, ad esempio i ritratti). L'obiettivo del discriminatore è
identificare se i dati forniti nell'input provengono dalla distribuzione originale o meno.
‣ L'obiettivo di formazione della rete generativa è aumentare il tasso di errore della
rete discriminante (cioè ingannare la rete discriminante). L’obiettivo del “training"
della rete discriminante è ridurre al minimo il suo tasso di errore nel discriminare
l'input.
‣ Viene utilizzato per immagini, generazione di videogiochi, immagini scientifiche, etc.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
DALL·E
‣ Introdotto a gennaio 2021, DALL·E è una versione di GPT-3 con 12 miliardi di parametri,
addestrata per generare immagini a partire da descrizioni testuali utilizzando un dataset di
coppie testo-immagine.
‣ Le sue capacità includono:
‣ Creazione di versioni antropomorfizzate di animali e oggetti;
‣ Collegamento di concetti non correlati in modi nuovi e originali;
‣ Rendering di testo;
‣ Trasformazione di immagini esistenti.
‣ DALL-E has three components: a discrete VAE, an autoregressive decoder-only Transformer
(12 billion parameters) similar to GPT-3, and a CLIP pair of image encoder and text encoder
(for ranking the images).
‣ The discrete VAE can convert an image to a sequence of tokens, and conversely, convert a
sequence of tokens back to an image. This is necessary as the Transformer does not
directly process image data.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
DALL·E 2
DALL·E 1 DALL·E 2
"un dipinto di una volpe seduta in un campo all'alba nello stile di Claude Monet"
44.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
DALL·E 2
‣ Lanciato ad aprile 2022, DALL·E è in grado di creare "immagini e arte originali e
realistiche a partire da una descrizione testuale”.
‣ È capace di combinare attributi e stili concettuali con miglioramenti visibili rispetto
alla versione precedente del sistema.
‣ Può essere utilizzato per l'editing fotorealistico e la creazione di variazioni ad alta
risoluzione. Impara le relazioni tra le immagini e il testo utilizzato per descriverle,
comprese quelle astratte.
45.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
DALL·E 2
"an astronaut riding a horse lounging in a tropical resort in
space in a photorealistic style”
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
DALL·E 3
"un dipinto di una volpe seduta in un campo all'alba nello stile di Claude Monet"
50.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
DALL·E 3
"Una band di musica folk composta da foglie autunnali antropomorfe, ciascuna che suona strumenti tradizionali
bluegrass, in un ambiente rustico punteggiato dalla luce soffusa di una luna del raccolto."
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
Stable Diffusion ‣ Si basa su un'architettura di
autoencoder basata su moduli di
denoising condizionati su input
multimodali.
‣ Il codice è disponibile
pubblicamente.
‣ Inizialmente sviluppato da LMU,
commercializzato da Stability AI.
‣ Il modello viene addestrato per
invertire il processo di aggiunta di
rumore a un'immagine, in modo che
possa generare nuove immagini
partendo da un'immagine composta
da rumore casuale e applicando
iterativamente il modello per togliere
il rumore dell’immagine.
Source: Wikimedia
Source: Bishop&Bishop. Deep Learning. 2024. Springer.
54.
AIXMOOC 2.4 mircomusolesi
Mirco Musolesi
Stable Diffusion ‣ Processo Forward: Il modello inizia
con i dati originali e aggiunge piccole
quantità di rumore in diversi
passaggi. Questo processo
trasforma gradualmente i dati in puro
rumore.
‣ Processo Backward: Il modello
impara ad invertire il processo di
aggiunta del rumore. Partendo dal
puro rumore, rimuove gradualmente
il rumore passo dopo passo per
ricostruire i dati originali.
‣ L'idea chiave è che, imparando a
invertire il processo di aggiunta del
rumore, il modello può generare
nuovi campioni di dati simili a quelli di
addestramento.
Source: Wikimedia
Source: Bishop&Bishop. Deep Learning. 2024. Springer.