L.33Partea 6 / Imaginile
Cuprins

Zgomotul ca material

Ca să înveți o rețea neuronală să deseneze, ai nevoie de exerciții clare: o problemă și răspunsul ei corect. Pentru text a fost simplu — ascundeai cuvântul următor dintr-o carte și puneai modelul să-l ghicească. Dar cum înveți o mașină să deseneze o imagine întreagă din nimic? Răspunsul genial al modelelor de difuzie a fost să răstoarne problema: dacă nu știm cum să creăm o imagine de la zero, știm cu siguranță cum s-o distrugem. Zgomotul aleatoriu, vechiul inamic din transmisiile de date, devine aici lutul curat din care se naște orice formă.

Termeni cheie: proces direct (difuzie înainte) nivel de zgomot programul zgomotului (noise schedule) saltul direct la pasul t

O sarcină care se naște din propria distrugere

Când antrenăm un model de limbaj, natura textului ne oferă un dar nesperat: fiecare propoziție își conține propriul profesor. Luăm orice articol sau carte din lume, acoperim cuvântul de la final și întrebăm rețeaua: „ce urmează?”. Pentru lumea vizuală nu există însă un astfel de catalog. Un pictor nu așază vopseaua doar de la stânga la dreapta, pixel cu pixel, iar nimeni nu a fotografiat miliarde de tablouri pe jumătate terminate alături de varianta lor finală.

Marea deblocare a venit dintr-o idee împrumutată din fizica statistică: în loc să încercăm să pictăm o capodoperă dintr-un foc, luăm o fotografie clară și o degradăm treptat, după un plan riguros. Îi adăugăm o pulbere minusculă de purici digitali (zgomot aleatoriu), apoi încă puțin, și încă puțin, pas cu pas, până când orice urmă din imaginea inițială se șterge complet. Această călătorie controlată spre haos se numește proces direct (sau difuzie înainte) și nu cere nicio inteligență: este o simplă rețetă matematică.

Magia acestei distrugeri deliberate este că produce automat miliarde de exerciții perfecte, fără niciun efort omenesc. La fiecare pas intermediar cunoaștem două lucruri sigure: cum arată imaginea parțial mâncată de purici și exact ce cantitate de zgomot tocmai i-am presărat deasupra. Cine învață o rețea neuronală să privească imaginea murdărită și să ghicească zgomotul adăugat îi oferă tocmai cheia cu care se va putea reface, mai târziu, drumul înapoi.

Imaginați-vă un tablou lăsat într-o încăpere veche, peste care se așază în fiecare secundă un fir microscopic de praf. Nimeni nu împrăștie praful anume; el se depune după o regulă fizică știută. Și tocmai fiindcă regula este precisă, putem socoti cum arăta pânza cu doar o secundă înainte.

Cum se adaugă praful: rețeta unei diluții atente

Dacă am arunca pur și simplu pixeli luminoși peste o fotografie la fiecare pas, valorile ar crește necontrolat, iar pânza ar deveni curând un alb orbitor. Pentru a păstra totul în frâu, procesul direct funcționează ca o diluție atentă: la fiecare pas, imaginea existentă este mai întâi estompată puțin (micșorată cu o fracțiune), iar apoi i se adaugă o cantitate de zgomot proaspăt calculată la milimetru, cât să umple exact locul lăsat liber.

Calculele sunt gândite pentru imagini a căror variație (împrăștiere a valorilor) este egală cu unu. Imaginea simplă din desenul de mai jos este mai domoală la plecare, așa că variația ei urcă treptat spre unu pe măsură ce zgomotul ia locul conținutului util, în loc să rămână fixă. Cifrele de sub figură arată limpede această predare treptată de ștafetă.

Partea care mai supraviețuiește din imaginea de la început la pasul t definește așa-numitul nivel de zgomot. La pasul zero, semnalul util este 100%, iar zgomotul este inexistent. Pe măsură ce pașii curg, imaginea de plecare se subțiază continuu, până când la pasul o mie nu mai rămâne din ea decât o fantomă matematică: întregul ecran e ocupat de zgomot pur, standard.

Praful care se așază
0
Aceeași imagine, la șase niveluri

Programul zgomotului: tempoul destrămării

Cât zgomot se adaugă la fiecare pas nu este lăsat la întâmplare. Șirul acestor proporții se stabilește dinainte și se numește programul zgomotului (sau noise schedule). De acest ritm depinde unde anume pe parcurs se produce marea destrămare a formelor.

Ceea ce contează cu adevărat pentru recunoaștere este raportul dintre cât a rămas din imagine și cât zgomot s-a adunat. Locul în care acest raport trece prin unu marchează cumpăna procesului: până acolo imaginea cântărește mai greu decât praful; după aceea, haosul preia comanda. Un program bine alcătuit oferă rețelei destui pași atât pentru a descurca formele mari, cât și pentru a învăța texturile fine.

Cât rămâne din imagine, pas cu pas

Saltul direct: o mie de pași într-o singură clipită

Procesul direct ascunde o însușire matematică remarcabilă, fără de care antrenarea ar fi impracticabil de lentă. Ca să ajungem la pasul opt sute, nu trebuie să simulăm anevoios opt sute de adăugiri succesive. Deoarece zgomotul gaussian adunat de mai multe ori rămâne tot un zgomot gaussian, praful acumulat se poate comprima într-un singur pas uriaș.

Putem scrie direct imaginea murdărită de la orice pas t printr-o simplă formulă ce leagă fotografia de plecare de un eșantion proaspăt de zgomot. Pentru fiecare exercițiu de antrenare, calculatorul alege un pas t la întâmplare, sare instantaneu acolo și îi cere rețelei să ghicească zgomotul ascuns în amestec.

Drumul lung și saltul, comparate

De ce ne oprim în zgomot curat: poarta universală

La capătul celor o mie de pași nu obținem o imagine doar ușor blurată sau parțial distrusă, ci ceva ce nu se mai deosebește cu absolut nimic de un ecran de zgomot pur, generat de la zero. Această pierdere desăvârșită nu este un eșec, ci însăși cheia de boltă a generării.

Dacă împinse până la capăt toate imaginile din lume ajung în exact același punct statistic — o mare uniformă de purici — atunci drumul înapoi poate începe de oriunde! Putem lua o coală proaspătă de zgomot aleatoriu, fără nicio legătură cu vreo fotografie din trecut, și coborî pe cărarea învățată către o imagine coerentă, cu totul nouă. Toate drumurile s-au dizolvat în același haos universal, așa că din acel haos se poate pleca spre oricare dintre ele.

Experimentul de mai jos ia două imagini complet diferite, le conduce pe amândouă până la capătul procesului direct și măsoară dacă rezultatele se mai deosebesc în vreun fel. La sfârșit, originea lor este complet ștearsă.

Două imagini, același capăt

Drumul înainte este pură aritmetică mecanică: degradarea se face după o formulă simplă și nu cere nicio învățare. În schimb, drumul înapoi nu poate fi dedus direct: din zgomot curat s-ar putea naște miliarde de imagini posibile, iar pe ecran nu scrie de unde s-a plecat. Lecția următoare dezvăluie ce anume învață rețeaua în locul certitudinii și cum, dintr-un simplu furnicar, începe să se contureze o formă.