C’è un esperimento che chiunque può fare con una vecchia TV analogica sintonizzata su un canale vuoto: fissare la neve dello schermo abbastanza a lungo da iniziare a vederci dentro delle forme. Il cervello cerca strutture anche dove non ce ne sono. I modelli di diffusione — la tecnologia dentro Stable Diffusion, DALL·E e Midjourney — fanno una cosa sorprendentemente simile, ma al contrario del nostro cervello non si limitano a immaginare le forme nel rumore: le tirano fuori davvero, un passo alla volta, finché dalla neve emerge una fotografia. Il trucco è che prima hanno passato l’addestramento a fare il lavoro opposto: distruggere milioni di immagini vere, per imparare com’è fatta la distruzione.
L’andata che rovina con metodo, il ritorno che indovina il disturbo e il viaggio dal rumore all’immagine: nel libro.
Leggi «Rumore e ritorno: come funziona la diffusione» nel libro →
Prima si impara a distruggere
Il processo di partenza, detto forward, non richiede alcuna intelligenza: si prende un’immagine vera e le si aggiunge una spolverata di rumore casuale. Poi un’altra. Poi un’altra ancora, per centinaia o migliaia di passi, finché dell’immagine originale non resta nulla: solo statica pura, indistinguibile dalla neve della TV. È una catena di degradazione graduale, come una fotografia lasciata al sole che sbiadisce un po’ ogni giorno — con la differenza che qui ogni «giorno» di sbiadimento è perfettamente noto e controllato, perché il rumore lo aggiungiamo noi.
Questo passaggio è il colpo di genio nascosto del metodo: trasforma un problema impossibile («genera un’immagine dal nulla») in milioni di problemi facili e ben definiti («ecco un’immagine leggermente sporca: dimmi qual era il rumore che l’ha sporcata»). Per ogni foto del dataset possiamo produrre a costo zero infinite versioni degradate, a ogni livello di degradazione, sapendo sempre esattamente quale rumore abbiamo aggiunto. Il materiale d’esame se lo fabbrica da solo.
Poi si impara a riparare
A questo punto entra in scena la rete neurale, tipicamente una U-Net o, nei modelli più recenti, un transformer. Il suo compito durante l’addestramento è uno solo: data un’immagine rumorosa e l’indicazione di quanto rumore contiene, predire il rumore che è stato aggiunto. Non l’immagine pulita: il rumore. La perdita è una banale differenza quadratica tra il rumore vero e quello predetto — niente duelli tra reti, niente equilibri instabili come nei GAN. È uno degli obiettivi di addestramento più semplici e stabili di tutto il deep learning, ed è il motivo principale per cui la diffusione ha vinto.
L’analogia giusta è quella del restauratore. Un restauratore esperto, davanti a un affresco danneggiato, non «inventa» il dipinto: riconosce il danno — la crepa, la muffa, lo scolorimento — e lo separa da ciò che c’è sotto. La rete impara migliaia di forme di danno a ogni livello di gravità, e imparando a riconoscere il danno impara, implicitamente, com’è fatto un affresco integro.
La generazione: il film proiettato al contrario
Finito l’addestramento, generare un’immagine significa proiettare il film della distruzione al contrario. Si parte da rumore puro, generato a caso. Si chiede alla rete: quanto di questo è rumore? Si sottrae una piccola frazione della sua stima, e l’immagine diventa un filo meno caotica. Si ripete: a ogni passo la rete rivede il risultato e toglie ancora un po’ di rumore. Dopo qualche decina di passi — i modelli moderni ne usano tra 20 e 50, i primi ne richiedevano mille — dalla statica è emersa un’immagine nitida e coerente che non esisteva da nessuna parte.
Non si costruisce l’immagine aggiungendo pennellate: la si libera togliendo rumore, come uno scultore che non aggiunge marmo ma leva il superfluo.
Perché tanti passi, invece di togliere tutto il rumore in un colpo solo? Perché la stima della rete è affidabile solo localmente. All’inizio, davanti a statica quasi pura, la rete può solo abbozzare strutture vaghe — qui una massa scura, là una zona di cielo. Man mano che il rumore cala, l’immagine parziale vincola sempre di più le scelte successive: la massa scura diventa un gatto, il gatto acquista il pelo, il pelo i riflessi. Le decisioni grossolane vengono prese presto, i dettagli fini alla fine. È una raffinazione progressiva, non una rivelazione istantanea.
In addestramento il rumore si aggiunge alle immagini vere (freccia tratteggiata, da destra a sinistra); in generazione la rete percorre la catena al contrario, togliendo rumore un passo alla volta.
Il testo entra dalla porta di servizio
Fin qui il modello genera immagini plausibili, ma a caso. Per obbedire a un prompt — «un gatto arancione su un divano verde» — la descrizione testuale viene convertita in vettori numerici da un encoder linguistico e iniettata nella rete a ogni passo di denoising, tramite un meccanismo di attention. In pratica il restauratore lavora con un committente accanto che a ogni passaggio ripete che cosa deve emergere dal rumore.
Un trucco chiamato classifier-free guidance rende il condizionamento più netto: a ogni passo il modello calcola due stime, una con il prompt e una senza, e poi esagera la differenza tra le due. È una manopola che l’utente spesso può regolare: più guidance significa immagini più fedeli al testo ma meno naturali, meno guidance significa più libertà creativa. Molti parametri «magici» delle interfacce di generazione sono esattamente questo.
Il problema dei costi e la mossa di Stable Diffusion
Fare centinaia di passi di rete neurale su un’immagine da milioni di pixel è costoso. L’idea che ha reso la generazione accessibile a chiunque — introdotta dai modelli di diffusione latente, di cui Stable Diffusion è il rappresentante più noto — è di non lavorare affatto sui pixel. Un autoencoder comprime prima l’immagine in una rappresentazione latente molto più piccola; tutta la diffusione avviene in quello spazio compresso; solo alla fine il decoder riconverte il risultato in pixel. È come restaurare un bozzetto in scala ridotta e poi riprodurlo a grandezza naturale: quasi tutto il lavoro avviene sulla versione piccola, e i conti diventano abbastanza leggeri da girare su una GPU consumer.
La ricerca successiva ha attaccato l’altro collo di bottiglia, il numero di passi: tecniche di distillazione insegnano a un modello «studente» a comprimere in uno o due passi il percorso che il maestro fa in cinquanta. È il fronte su cui diffusione e GAN, curiosamente, tornano a somigliarsi.
Perché vi riguarda
I modelli di diffusione sono il motore di quasi tutta l’immagine sintetica che incontrate oggi, e si stanno estendendo ad audio, video e persino alla progettazione di molecole e proteine — ovunque serva generare strutture complesse e si possa definire una versione «rumorosa» del dato. Capire il principio vi dà tre cose concrete: sapete perché la generazione ha un costo per passo (e perché le opzioni «turbo» producono immagini più piatte), sapete cosa regola davvero la manopola della guidance, e avete un’intuizione onesta di cosa questi sistemi fanno — non copiano immagini esistenti, ma hanno distillato da milioni di esempi una nozione statistica di come il mondo visivo è fatto, abbastanza precisa da farlo riemergere dal rumore. Il che è, insieme, la loro forza tecnica e il cuore delle controversie sul loro addestramento.

I commenti sono riservati agli iscritti.
Accedi per commentare