I modelli a diffusione e la freccia del tempo - Cefriel

Compatibilità
Salva(0)
Condividi

Il secondo e meno noto dei quattro articoli rivoluzionari pubblicati sugli Annalen der Physik da Albert Einstein nel suo annus mirabilis (1905), mentre lavorava come impiegato di terza classe all’Ufficio Brevetti di Berna, aveva un titolo dimesso: Sul moto delle particelle sospese in liquidi stazionari, richiesto dalla teoria cinetica molecolare del calore [1]. L’articolo indaga teoricamente un fenomeno osservato per la prima volta nel 1827 dal botanico Robert Brown, il quale osservò come minuscoli granelli di polline sospesi nell’acqua si muovevano seguendo traiettorie caotiche e imprevedibili. Einstein riprese l’ipotesi che identificava la causa del moto browniano negli urti di microscopiche e invisibili molecole d’acqua (proposta per la prima volta, pare, da Christian Wiener nel 1863), trasformandola in una legge matematica quantitativa verificabile. Pochi anni dopo, il fisico francese Jean-Baptiste Perrin verificò sperimentalmente le equazioni di Einstein [2], segnando la vittoria definitiva della teoria atomica di Dalton. Perché – potrà stupire – all’inizio del Novecento l’idea che la materia fosse fatta di atomi e molecole era ancora una semplice ipotesi teorica, avversata da alcuni dei più famosi fisici dell’epoca, come Ernst Mach e Wilhelm Ostwald.

Per derivare le leggi matematiche del moto browniano, Einstein applicò magistralmente le leggi della probabilità, dimostrando che, sebbene il movimento istantaneo della singola particella fosse imprevedibile, la distanza media percorsa era calcolabile [3]. L’articolo di Einstein inaugurò lo studio dei processi stocastici e dei sistemi fuori equilibrio, che descrivono come il calore si diffonde attraverso fluttuazioni microscopiche. Oltre un secolo dopo, i moderni modelli generativi di intelligenza artificiale a diffusione (diffusion models) sono forse gli eredi più improbabili delle intuizioni di Einstein. Questi modelli sono diventati l’architettura di riferimento per qualsiasi problema che richieda di generare dati complessi, ad alta dimensione e strutturati partendo dal … caos. L’unico campo in cui i modelli a diffusione non sono ancora la norma è la generazione di testo (“per ora”, sostengono alcuni). Inizialmente, questi modelli erano stati sviluppati per generare immagini realistiche a partire da un insieme di pixel casuali, ma oggi sono utilizzati con successo in molti campi di estremo interesse, dalla scoperta di materiali innovativi alla definizione di nuove molecole per uso terapeutico. Il modello apprende questo gioco di prestigio osservando come le immagini reali si corrompono aggiungendo rumore bianco (gaussiano) poco alla volta.

Per comprendere quanto sia straordinaria questa impresa, occorre fare una breve escursione nel mondo del Caso. Cominciamo col dire che i modelli generativi attuali – tutti i modelli generativi – funzionano eseguendo continuamente degli esperimenti che danno un risultato casuale, equivalenti concettualmente a un lancio di dadi. Ma si tratta di dati truccati e con un numero enorme di facce. A prima vista, sembra un’idea curiosa, quella di mettere in relazione un lancio di dadi con la generazione di un articolo di giornale, di un’immagine o della struttura tridimensionale di una proteina. Avrete sicuramente sentito dire che i modelli linguistici generativi (large language models) funzionano predicendo la parola successiva più probabile. In realtà, questo non è completamente corretto. Il modello non sceglie sempre la parola più probabile (se così facesse, genererebbe testi sempre uguali e ripetitivi), ma esegue un campionamento dalla distribuzione di probabilità che descrive il linguaggio umano e che il modello ha appreso in fase di addestramento. Cioè in altre parole genera parole casuali con una frequenza che rispetta le regole di quella specifica distribuzione: dato un contesto di partenza, genererà le parole più probabili con frequenza maggiore e quelle meno probabili con frequenza minore. Ma ogni generazione fa storia a sé. Questo è anche il motivo per cui il modello risponderà sempre in modo leggermente diverso alla stessa richiesta. Concettualmente, questo equivale a gettare un dado con un numero di facce uguale alla dimensione del vocabolario: possiamo immaginare che su ogni faccia del dado sia scritta una parola, e che ogni faccia abbia una probabilità diversa di apparire (cioè, il nostro dado iperdimensionale è truccato).

Ebbene, lo stesso principio è alla base anche dei modelli a diffusione. Ma quante facce ha il dado usato dai modelli a diffusione per generare, per esempio, una semplice immagine di 512 x 512 pixel a colori? Se assumiamo che su ogni faccia del dado sia stampata un’immagine diversa, cioè una combinazione unica di valori per ogni pixel, il numero totale di facce risulta 10 elevato alla potenza di 5,6 milioni [4]. In notazione decimale, sarebbe 1 seguito da 5,6 milioni di zeri. Un numero talmente mostruoso che è difficilmente comprensibile. Per confronto il numero totale di atomi stimati nell’universo osservabile è 1 seguito da 80 zeri. Naturalmente, la quasi totalità di queste combinazioni non rappresentano immagini sensate per un essere umano [5], sono rumore di fondo, caos informe. Il fatto che un modello di intelligenza artificiale riesca a generare un’immagine realistica lanciando un dado siffatto, con un numero di facce milioni di ordini di grandezza superiore al numero degli atomi nell’universo e dove quasi tutte le facce hanno stampata sopra un’accozzaglia informe di pixel, ha del miracoloso. Trovare un ago in un pagliaio è un gioco da ragazzi al confronto.

Certo, se noi conoscessimo la distribuzione di probabilità che descrive le immagini sensate, cioè una funzione definita sullo spazio delle immagini che assume valori più alti dove le immagini sono sensate, e valori vicini allo zero dove non lo sono, potremmo “estrarre a sorte” un’immagine dalle regioni dove la distribuzione ha un “picco” ed essere ragionevolmente sicuri che l’immagine estratta sia sensata. Ma questa funzione, se mai fosse esprimibile analiticamente, sarebbe incredibilmente complicata. Basti pensare che è una funzione definita in uno spazio geometrico iperdimensionale di oltre 780.000 dimensioni (512 x 512 x 3) dove ogni asse rappresenta l’intensità di uno dei tre colori di ciascuno dei pixel che formano l’immagine. Ogni punto di questo spazio iperdimensionale rappresenta quindi una specifica combinazione di pixel, ovvero un’immagine, anche se, come abbiamo visto, la quasi totalità dei punti corrispondono a immagini caotiche e insensate. La nostra funzione dovrebbe quindi assumere valori prossimi allo zero quasi ovunque, eccetto in quelle minuscole regioni dello spazio corrispondenti a immagini per noi sensate. L’impresa appare sempre più disperata.

Ma ecco l’idea geniale che ci riporta ai processi stocastici che descrivono il moto casuale dei granelli di polline sulla superficie di un liquido [6]. Noi non conosciamo la forma della distribuzione di probabilità delle immagini, ma abbiamo molti campioni da questa distribuzione: le immagini reali che possiamo raccogliere a vagonate su internet. E se partissimo da queste immagini per esplorare la conformazione della nostra distribuzione di probabilità? Ricordiamo che l’obiettivo non è memorizzare queste immagini, perché altrimenti il modello non farebbe altro che riprodurre immagini esistenti: l’obiettivo è cartografare la distribuzione di probabilità a partire dagli esempi che abbiamo a disposizione. Immaginiamo di partire da un’immagine reale, per esempio l’immagine di un gatto, rappresentata da un punto specifico nel nostro spazio geometrico iperdimensionale. Immaginiamo di alterare leggermente e in modo casuale il valore di ciascun pixel: geometricamente, questo significa spostarci leggermente dal punto iniziale per atterrare poco distante, in una direzione CASUALE. Ripetendo molte volte questo giochetto, il punto che rappresenta l’immagine iniziale descriverà una traiettoria casuale nello spazio, esattamente come un granello di polline sulla superficie dell’acqua. Possiamo immaginare questa traiettoria come un processo nel tempo, dove ad ogni istante temporale t l’immagine X(t) viene leggermente modificata variando casualmente i pixel che la compongono, creando così l’immagine X(t+1), e così via. Potremo descrivere questa traiettoria casuale usando tutte le equazioni sviluppate dai fisici, a partire dall’articolo seminale di Einstein, per descrivere i processi di diffusione, cioè processi simili alla diffusione caotica di una goccia di inchiostro in un bicchiere d’acqua. Si tratta di equazioni differenziali stocastiche, per l’appunto, cioè equazioni che descrivono un moto casuale predicendo come varia la distribuzione di probabilità che lo descrive [7]. Grazie a queste equazioni, possiamo capire come varia la distribuzione di probabilità man mano che ci allontaniamo dal punto iniziale, cioè dalla nostra immagine reale. Chiaramente, più ci allontaniamo dall’immagine iniziale modificandone casualmente i pixel, più l’immagine si degrada fino a diventare rumore puro: siamo scesi dalla vetta della distribuzione di probabilità e siamo arrivati nelle steppe infinite del caos. Ma lo abbiamo fatto a piccoli passi, aggiungendo una piccola quantità di rumore ad ogni passo, in modo che la nostra immagine al tempo t, X(t), sia solo leggermente più degradata rispetto all’immagine all’istante precedente X(t-1). Cominciamo a vedere la luce.

Adesso però abbiamo un problema: come torniamo dalle steppe alle vette? In altre parole, come possiamo ripristinare un’immagine sensata a partire dal puro rumore? Anche qui ci vengono in aiuto i fisici che hanno studiato come invertire un processo di diffusione casuale. Per esempio, Brian Anderson nel 1982 ha dimostrato che esiste un’equazione differenziale stocastica che descrive il processo di diffusione a ritroso nel tempo [8] sotto certe condizioni (quasi-staticità, processo markoviano senza memoria, ecc.). Questa equazione descrive esattamente quei processi “irreversibili” che chiunque abbia studiato anche superficialmente la termodinamica ricorda: le molecole di gas che si espandono in un contenitore, il calore che si diffonde dal corpo caldo a quello freddo, la brocca che si frantuma sul pavimento, ecc. L’equazione di Anderson, tuttavia, contiene un termine ignoto: il gradiente della distribuzione di probabilità al tempo t, che descrive la probabilità che il granello di polline all’istante t si trovi nel punto P(t) dato che si trovava in P(t-1) all’istante precedente. Se invece di granelli di polline parliamo di immagini, il termine ignoto descrive la probabilità che l’immagine degradata X(t) al passo t provenga dall’immagine X(t-1), leggermente meno degradata. Sembrerebbe che non abbiamo fatto molti progressi. E tuttavia, stimare la probabilità che l’immagine al tempo t provenga dall’immagine meno degradata al tempo t-1, se l’intervallo temporale è piccolo e quindi la variazione è modesta, è un compito affrontabile da un modello di intelligenza artificiale opportunamente addestrato. Soprattutto se la nostra trattazione matematica ci assicura che la distribuzione statistica del rumore che deve essere rimosso per tornare indietro al passo precedente rimane gaussiana. Il nostro modello quindi impara a ricostruire passo dopo passo l’immagine originaria partendo dal punto finale della sua traiettoria, stimando per ogni passo del processo inverso solo due parametri: la media e la varianza del rumore gaussiano che deve essere rimosso. Una volta che il modello ha imparato la distribuzione di probabilità sullo spazio delle immagini, può lanciare il suo dato truccato ed essere confidente di generare un’immagine sensata [9].

È opportuno prima di chiudere fermarsi un attimo per apprezzare un aspetto che non viene quasi mai evidenziato nelle tante trattazioni disponibili dei modelli a diffusione, che di solito partono spiegando come un’immagine reale venga corrotta gradualmente aggiungendo rumore casuale, e come il modello impari a ricostruirla invertendo questo processo. A seconda della trattazione, questo procedimento può essere esposto in modo più intuitivo, o attraverso decine di passaggi matematici, ma il lettore viene lasciato con la domanda di fondo: perché mai dovrei corrompere un’immagine per poi ricostruirla? Perché il povero modello dovrebbe essere costretto a scavare un’infinità di buche per poi riempirle di nuovo? Perché questo approccio dovrebbe essere migliore di altri? La ragione sta nel fatto che questo procedimento è trattabile matematicamente con equazioni precise, sviluppate nel corso di un secolo per descrivere i fenomeni fisici di diffusione e di termodinamica del non equilibrio. Avere una trattazione matematica così sofisticata non serve solo per garantire che una soluzione esista (e che quindi il modello funzioni), ma anche per trovare ottimizzazioni che rendono la soluzione efficiente (e quindi far sì che il modello non solo funzioni, ma sia anche competitivo). Oggi il panorama dei modelli a diffusione si è evoluto ben oltre l’idea iniziale del 2015. Sebbene l’obiettivo finale sia lo stesso, la comunità scientifica ha sviluppato tre approcci matematici principali: uno usa processi casuali di Markov a tempo discreto, uno il calcolo stocastico continuo e uno la geometria dei campi vettoriali [10].

Il lettore attento si starà chiedendo che fine ha fatto il Secondo Principio della termodinamica: l’energia si dissipa, l’inchiostro si espande nell’acqua e l’ordine cede il passo al disordine. L’entropia aumenta. Eppure, i modelli generativi a diffusione hanno imparato a riavvolgere il nastro del tempo: la rete neurale inverte la direzione dell’entropia locale ricostruendo immagini sensate a partire dal rumore casuale. Ma per far questo, i processori su cui gira l’algoritmo devono spendere energia elettrica, e non poca, che alla fine sarà dissipata come calore nei server. Il Secondo Principio è salvo [11].

    [1] A. Einstein, Über die von der molekularkinetischen Theorie der Wärme geforderte Bewegung von in ruhenden Flüssigkeiten suspendierten Teilchen, Annalen der Physik, 11 maggio 1905

[2] Grazie ai suoi esperimenti, confermò l’origine “atomica” del moto browniano e, en passant, calcolò con grande precisione il numero di Avogadro. Per i suoi studi sulla “struttura discontinua della materia” fu insignito del premio Nobel nel 1926.

[3] E dimostrando anche che, se Dio non gioca a dadi, qui sulla terra, a volte, il gioco d’azzardo può essere utile.

[4] Il calcolo è molto semplice, basta considerare che ogni pixel ha 256 x 3 possibili valori (256 livelli di luminosità per tre canali di colore), e che ci sono 512 x 512 pixel, quindi il numero totale di combinazioni diverse è N = (256^3)^(512 x 512)

[5] Possiamo farci un’idea di quale sia la frazione di “immagini sensate” in vari modi. Per esempio, la dimensione della datasfera nel 2026 è stata stimata da IDC in 180 Zettabyte = 1,8 x 10^23 byte, di cui circa l’80% è costituito da video e immagini. Se consideriamo una dimensione di circa 1 MB per immagini a colori di 512 x 512 pixel (sovradimensionata, ma per calcolare gli ordini di grandezza va benissimo) arriviamo a un ordine di grandezza di 10 elevato alla 17 per il numero di immagini generato in un anno dall’intera umanità: milioni di ordini di grandezza inferiore al numero totale di possibili combinazioni di 512 x 512 pixel. Anche considerando l’insieme enormemente più ampio delle immagini verosimili, cioè le immagini che hanno un’entropia (secondo Shannon) paragonabile a quella delle immagini reali, arriviamo a un ordine di grandezza di 10 elevato alla 500.000, un numero smisurato ma sempre minuscolo rispetto al numero totale di combinazioni possibili.

[6] L’idea è stata proposta per la prima volta da Jascha Sohl-Dickstein e dal suo team nel 2015: Deep Unsupervised Learning using Non-equilibrium Thermodynamics

[7] Per esempio, le equazioni di Langevin (1908) e di Fokker-Planck (1914)

[8] L’articolo di Brian Anderson “Reverse-time stochastic differential equations” (1982) è il fondamento matematico che collega la termodinamica del non equilibrio alla moderna intelligenza artificiale generativa.

[9] Se vogliamo essere pedanti, il modello in realtà impara a CAMPIONARE dalla distribuzione. Come abbiamo visto, non esiste una rappresentazione analitica compatta di questa funzione, e per memorizzare il suo valore in ogni punto del dominio non basterebbe tutta la materia dell’universo osservabile. Ma questo non è un problema, perché alla fine a noi interessa proprio generare campioni sulla base della distribuzione.

[10] L’approccio discreto è il DDPM (Denoising Diffusion Probabilistic Models), reso celebre da Ho et al. nel 2020; l’approccio continuo si chiama Score-Based SDE (Stochastic Differential Equations), introdotto da Yang Song e Stefano Ermon (2019-2020); L’approccio fluidodinamico Flow Matching / Rectified Flow è la frontiera più recente, popolarizzata tra il 2022 e il 2024 e alla base di modelli moderni come Stable Diffusion 3 o Flux.

[11] “The law that entropy increases holds, I think, the supreme position among the laws of Nature. If someone points out to you that your pet theory of the universe is in disagreement with Maxwell’s equations—then so much the worse for Maxwell’s equations. If it is found to be contradicted by observation—well, these experimentalists do bungle things sometimes. But if your theory is found to be against the second law of thermodynamics I can give you no hope; there is nothing for it but to collapse in deepest humiliation.” Sir Arthur Eddington (1928)

Recapiti
Chiara Attieri