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

A fordított folyamat és a zajbecslő háló

Itt van a modell szíve. A fordított folyamat az a rész, amit a háló megtanul, hogy a zajból visszaépítse a képet. A trükk meglepően egyszerű, a háló nem a tiszta képet találgatja, hanem azt becsüli meg, mennyi zaj került a képre, és azt vonjuk ki belőle. Ebben a leckében megnézzük a zajbecslő hálót és a DDPM tanulmány által használt U-Net architektúrát.

Vissza a tananyaghoz


A fordított folyamat mint tanult Markov lánc

Az előre folyamat rögzített és nem tanul, a fordított folyamat (reverse process) ezzel szemben pontosan az, amit a háló megtanul. Ez is egy Markov lánc, de az ellenkező irányba halad. Tiszta zajból indul, és lépésenként egyre kevésbé zajos képhez jut, egészen a kész képig. A DDPM tanulmány szerint minden egyes visszalépés szintén egy Gauss átmenet, aminek a paramétereit a háló becsli meg. A modell tehát nem egy ugrással próbál zajból képet varázsolni, hanem sokszor alkalmazza ugyanazt a kis zajtalanító lépést, pontosan tükrözve az előre folyamat sok apró zajosító lépését.


xT zaj x₂ x₁ x₀ kép − kevés zaj − kevés zaj A háló minden lépésben egy kicsit tisztít a képen.
A fordított folyamat a tükörképe az előrének. Tiszta zajból indul, és a tanult zajtalanító lépést sokszor alkalmazva jut el a kész x₀ képig.

A zajt becsüljük, nem a képet

A DDPM tanulmány egyik legfontosabb felismerése az, hogy a hálónak nem a tiszta képet érdemes megjósolnia, hanem a hozzáadott zajt. A háló bemenete egy zajos kép és annak a lépésnek a sorszáma, ahol éppen tartunk, a kimenete pedig a becslés arról, hogy mennyi és milyen zaj került rá. Ha a zajbecslés jó, akkor azt a megfelelő arányban kivonva a képből egy kicsit tisztább képet kapunk. Ez a zajbecslő megközelítés, amit a szakirodalom epszilon becslésnek (epsilon prediction) nevez, egyszerűbbé és stabilabbá teszi a tanulást, mint ha közvetlenül a képet próbálnánk megjósolni. A becsült zajból egyszerű számítással áll elő a következő, kevésbé zajos kép.


zajos kép xₜ lépés sorszáma, t zajbecslő háló U-Net becsült zaj epsilon kivonás tisztább kép xt−1 A háló megmondja, mennyi zaj van a képen, ezt kivonva jutunk egy lépéssel közelebb a tiszta képhez.
A zajbecslő háló bemenete a zajos kép és a lépés sorszáma, kimenete a becsült zaj. A zajt a megfelelő arányban kivonva kapjuk a következő, tisztább képet.

Miért kell a lépés sorszáma

Egyetlen háló látja el az összes lépést, nem tanítunk ezerféle külön hálót. Ahhoz azonban, hogy a háló tudja, éppen hol tart a folyamatban, meg kell mondanunk neki a lépés sorszámát. Ez azért fontos, mert a folyamat elején, amikor a kép már majdnem tiszta, egészen más finom igazításra van szükség, mint a folyamat elején, amikor még szinte minden zaj. A lépés sorszáma egy beágyazott formában érkezik a hálóba, és ettől ugyanaz a háló másképp viselkedik a különböző zajszinteken. Így egyetlen megtanult zajtalanító lépés rugalmasan alkalmazkodik a folyamat minden szakaszához.


Az U-Net architektúra

A DDPM tanulmány a zajbecslő hálóhoz U-Net architektúrát használ. Az U-Net neve az U betűre utaló alakjából ered. A háló először fokozatosan összenyomja a képet, egyre kisebb, de egyre elvontabb belső leírásokat készít, majd ugyanígy fokozatosan visszanagyítja azt a kimeneti méretre. Ami az U-Netet különösen alkalmassá teszi erre a feladatra, azok az úgynevezett átugró kapcsolatok (skip connections). Ezek a lenyomó és a visszanagyító oldal azonos szintjeit kötik össze, így a finom, helyi részletek nem vesznek el a tömörítés során. Ez a képfeldolgozásban bevált forma, mert egyszerre kezeli a kép nagy léptékű szerkezetét és az apró részleteket, ami pontosan a zajtalanításhoz kell.


tömör átugró kapcsolatok, a részletek átmentése lenyomás, elvontabb leírás visszanagyítás, kimeneti méret U-Net zajos kép becsült zaj
Az U-Net alakja. A bal oldal fokozatosan lenyomja a képet elvontabb leírásokká, a jobb oldal visszanagyítja. Az átugró kapcsolatok átmentik a finom részleteket.

1

A lényeg egy mondatban. A fordított folyamat sok tanult zajtalanító lépésből áll, és minden lépésben ugyanaz az U-Net zajbecslő háló mondja meg, mennyi zajt kell kivonni a képből, a lépés sorszámától függően.


← 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 →