“Uno scultore non aggiunge marmo. Parte da un blocco grezzo e toglie tutto ciò che non è la statua.”
La generazione come denoising
Un modello di diffusione è addestrato su un'idea semplice, quasi ingenua. Prendi un'immagine reale, aggiungici un po' di rumore casuale e insegna a un modello a eliminarlo. Fallo su tutti i livelli di rumore, dal leggermente sgranato fino al rumore puro. Il modello diventa esperto in una cosa: data un'immagine rumorosa, prevedere una versione leggermente più pulita.
Per generare, parti da rumore puro (rumore casuale) e applichi questo passo di denoising ancora e ancora. Ogni passaggio elimina un po' di rumore, e poiché il modello ha imparato come sono fatte le immagini vere, il rumore si risolve in un'immagine coerente. La generazione non è altro che denoising, eseguito dal nulla.
Come il prompt la dirige
Un denoising puro produrrebbe un'immagine plausibile, ma non la tua immagine. Il prompt interviene come guida: a ogni passo di denoising, il modello è condizionato sul tuo testo, orientando il risultato verso un'immagine che corrisponde alla descrizione. Il testo viene convertito in una rappresentazione (usando quel tipo di spazio condiviso immagine-testo che vedremo nel capitolo 6) che il denoiser può seguire.
Ecco perché lo stesso prompt dà immagini diverse ogni volta (parti da un rumore casuale diverso), e perché piccole modifiche al prompt possono cambiare radicalmente il risultato: stai pilotando un processo, non recuperando un'immagine. Il prompt è un campo di forza sul denoising, non una chiave di ricerca.
Lavorare in piccolo: la diffusione latente
Fare denoising direttamente di un'immagine a piena risoluzione è estremamente costoso (milioni di pixel, centinaia di passi). La svolta che ha messo la generazione di immagini alla portata dell'hardware comune è stata lavorare in uno spazio compresso. Un encoder riduce l'immagine a una piccola rappresentazione "latente", tutto il denoising costoso avviene lì, poi un decoder riespande il risultato a piena risoluzione.
Questo approccio di diffusione latente, diffuso intorno al 2022, spiega perché i generatori di immagini sono passati da curiosità di laboratorio a strumenti che girano su una GPU da gaming. L'idea (fare il lavoro difficile in uno spazio compresso) ritorna ovunque nell'IA efficiente.
Cosa spiega questo sull'IA per le immagini
L'immagine del denoising spiega le stranezze che hai osservato. Perché le immagini impiegano tempo a generarsi (molti passi). Perché i dettagli come le mani e il testo storicamente venivano fuori distorti (i dettagli fini e strutturati sono difficili da recuperare dal rumore). Perché puoi guidare, fare inpainting e variare un'immagine (puoi intervenire nel denoising). E perché gli output non sono deterministici (rumori di partenza diversi). La stranezza non è casualità: è il meccanismo che traspare.
Una riga per ciascuno
- I modelli di diffusione generano partendo da rumore puro e togliendolo progressivamente finché non emerge un'immagine.
- Sono addestrati aggiungendo rumore a immagini vere e imparando a invertirlo: la generazione esegue questa inversione dal nulla.
- Il prompt guida ogni passo di denoising; i diversi rumori di partenza spiegano perché lo stesso prompt dà immagini diverse.
- La diffusione latente fa il lavoro costoso in uno spazio compresso, ed è ciò che ha messo la generazione di immagini alla portata dell'hardware comune.
Dove andare ora