Diffúziós modellek és képgenerálás · Lecke 03

A diffúzió alapötlete, a zaj hozzáadása és visszavétele

A diffúzió lelke egy egyszerű megfigyelés. Egy képet elrontani zajjal könnyű, és ha ezt sok apró lépésben tesszük, akkor a fordítottja, a zaj eltávolítása is megtanulhatóvá válik. Ebben a leckében ráérzünk erre az intuícióra, mielőtt a következő leckékben pontosan megnéznénk az előre és a fordított folyamatot.

Vissza a tananyaghoz


Rontani könnyű, építeni nehéz

Van egy alapvető aszimmetria a világban. Egy tintacseppet vízbe ejteni és megkeverni pillanatok műve, de a szétoszlott tintát visszaparancsolni egyetlen cseppbe gyakorlatilag lehetetlen. A diffúziós modell neve épp erre a fizikai képre utal, a diffúzióra, amikor egy rendezett állapot fokozatosan összekeveredik. A képek világában ugyanez igaz. Egy fényképhez véletlen zajt keverni triviális, és ha eleget keverünk hozzá, a végén csak értelmetlen pixelkása marad. A nehéz irány a fordított, a zajból értelmes kép építése. A diffúzió zseniális húzása az, hogy nem próbálja ezt a nehéz irányt egyetlen ugrással megoldani.


tiszta kép kevés zaj több zaj majdnem zaj tiszta zaj
A zajosítás fokozatosan történik. Minden lépésben egy kevés zajt keverünk a képhez, amíg a végén már csak tiszta zaj marad, a jel minden nyoma elveszik.

A kulcsötlet, sok apró lépés

A diffúzió a nehéz feladatot szándékosan sok apró, könnyű lépésre bontja. Az egyik irány, amit előre folyamatnak (forward process) hívunk, egy képből indul, és lépésenként egy kevés zajt ad hozzá, amíg a kép teljesen zajjá nem válik. Ez a rész könnyű, hiszen zajt hozzáadni bármikor tudunk, nincs is szükség hozzá tanulásra. A modell azt tanulja meg, amit fordított folyamatnak (reverse process) nevezünk, vagyis hogyan lehet egyetlen apró lépéssel egy kicsit kevésbé zajossá tenni a képet. Ha ezt a kis lépést jól megtanulta, akkor sokszor egymás után alkalmazva tiszta zajból teljes képet tud felépíteni.


kép rész- ben zaj tiszta zaj előre folyamat, zajosítás fordított folyamat, zajtalanítás ezt a lépést tanulja a modell
A két irány. Az előre folyamat felfelé zajosít, ez egyszerű és nem igényel tanulást. A fordított folyamat lefelé zajtalanít, ezt a kis lépést tanulja meg a háló.

Miért működik a fokozatosság

A fokozatosság nem díszítés, hanem a módszer lényege. Ha egyetlen lépésben kellene tiszta zajból teljes képet varázsolni, az reménytelenül nehéz feladat lenne. De egy kicsit zajos képet egy kicsit kevésbé zajossá tenni már megoldható probléma, mert a kép szerkezete még átdereng a zajon, és a modellnek csak egy kis igazítást kell megbecsülnie. A sok könnyű lépés összege oldja meg azt, amire egyetlen nehéz lépés képtelen lenne. Ez a bontás magyarázza, miért olyan stabil a diffúzió tanítása, és miért ad ilyen jó minőségű, változatos eredményt.


  1. Vegyünk egy tanítóképetEgy valódi fénykép a tanítóadatból, amely a kiindulópont lesz.
  2. Zajosítsuk fokozatosanLépésről lépésre egy kevés zajt keverünk hozzá, amíg tiszta zajjá nem válik. Ez az előre folyamat.
  3. Tanuljuk meg a visszalépéstA háló megtanulja, hogyan lehet egyetlen lépéssel kicsit kevésbé zajossá tenni a képet.
  4. Építsünk zajból képetTiszta zajból indulva sokszor alkalmazzuk a visszalépést, amíg új, tiszta kép áll össze.

2

Két irány, egy tanulnivaló. Az előre folyamat zajosít és ingyen van. A fordított folyamat zajtalanít, és ennek a kis lépését tanulja meg a modell. Sokszor ismételve tiszta zajból lesz kép.


← Előző lecke Következő lecke →

Workshop

AI Transformation Day

Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.

Érdekel a program →