A tanítás egyetlen véletlen lépésen
A diffúzió tanítása meglepően egyszerű, és éppen ez az egyik nagy erőssége. Nem kell végigjátszani a teljes zajosítási láncot minden tanításnál. Egyetlen lépésre koncentrálunk, amit véletlenül választunk. Fogunk egy tanítóképet, sorsolunk egy véletlen lépésszámot valahol a folyamat elejétől a végéig, és sorsolunk egy adag friss Gauss zajt. Ezután a negyedik leckében látott zárt alakú ugrással azonnal előállítjuk ehhez a lépéshez tartozó zajos képet. Ezt a zajos képet és a lépés sorszámát adjuk a hálónak, és megkérjük, találja ki, mennyi zaj került rá.
- Tanítókép kiválasztásaFogunk egy valódi képet a tanítóadatból, ez lesz a tiszta kiindulópont.
- Véletlen lépés sorsolásaSorsolunk egy lépésszámot valahol a folyamat elejétől a végéig, hogy a háló minden zajszintet gyakoroljon.
- Zaj sorsolása és rákeveréseEgy adag friss Gauss zajt sorsolunk, és zárt alakban azonnal előállítjuk a lépéshez tartozó zajos képet.
- A háló becsléseA zajos képet és a lépés sorszámát a hálóba adjuk, ami megbecsüli a rákevert zajt.
- Veszteség és javításÖsszevetjük a becsült zajt a valódival, és a háló súlyait a hiba csökkentése felé igazítjuk.
A veszteségfüggvény
A tanítás egy nagyon egyszerű veszteségfüggvényt (loss function) használ. Mivel pontosan tudjuk, mekkora zajt sorsoltunk és kevertünk a képre, össze tudjuk hasonlítani a háló becslését a valódi zajjal. A DDPM tanulmány egyszerűsített vesztesége a valódi zaj és a becsült zaj közötti átlagos négyzetes eltérés (mean squared error). Minél közelebb esik a becslés a valódi zajhoz, annál kisebb a veszteség. A tanítás ezt a veszteséget csökkenti sok millió véletlen kép, lépés és zaj kombinációján, amíg a háló megbízhatóan meg nem tanulja megbecsülni a zajt bármely zajszinten. Nincs szükség bonyolult ellenfélre vagy kényes egyensúlyra, mint a GAN-nál, ez teszi a tanítást stabillá.
A valódi és a becsült zaj közötti átlagos négyzetes eltérés. A DDPM tanulmány ezt az egyszerűsített alakot használja, ami stabil és jól tanítható.
A mintavételezés, kép a zajból
Amikor a háló megtanulta a zajbecslést, jöhet a generálás, amit mintavételezésnek (sampling) hívunk. Itt semmilyen tanítókép nem kell. Húzunk egy adag friss Gauss zajt, ez lesz a kiindulópont, és éppen olyan, mint az előre folyamat végállapota. Ezután lépésről lépésre haladunk visszafelé. Minden lépésben megkérdezzük a hálót, mennyi zaj van a jelenlegi képen, kivonjuk a becsült zaj megfelelő arányát, és a folyamat legvégéig egy kevés friss zajt is hozzáadunk, hogy a minta változatos maradjon. Ahogy a lépések fogynak, a kép egyre tisztább lesz, és az utolsó lépés után egy teljes, korábban nem látott kép áll elő.
A tanítás és a mintavétel különbsége
Érdemes látni, miben tér el a két eljárás, mert ez magyarázza a diffúzió jellemző erősségeit és gyengéit. A tanítás egyetlen véletlen lépésen dolgozik, ezért gyors és jól párhuzamosítható, sok kép sok különböző lépését lehet egyszerre feldolgozni. A mintavétel ezzel szemben szükségszerűen sorozatos, mert minden lépés az előző eredményére épül, és a folyamatot elejétől végig kell járni. Ez az oka annak, hogy a diffúzió tanítása stabil, a képgenerálás viszont lassabb, mint egy GAN egyetlen ugrása. A kutatás egyik fő iránya éppen az, hogyan lehet a mintavétel lépésszámát csökkenteni a minőség megtartása mellett.
Tanítás
- Egyetlen véletlen lépésen dolgozik
- Zárt alakkal azonnal előáll a zajos kép
- Egyszerű négyzetes veszteség
- Gyors és jól párhuzamosítható
Mintavételezés
- Tiszta zajból indul
- Minden lépés az előzőre épül
- Végig kell járni a láncot
- Sorozatos, ezért lassabb
Két eljárás, egy háló. A tanítás egy véletlen lépésen, egyszerű négyzetes veszteséggel javítja a hálót. A mintavétel ugyanezt a hálót sok lépésen át alkalmazza tiszta zajból egy kész képig.
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 →