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

A generatív modellek térképe, az autoenkódertől a diffúzióig

A diffúzió nem a semmiből érkezett. Egy fejlődési vonal legújabb állomása, amely az autoenkóderrel kezdődik, a variációs autoenkóderen és a generatív ellenséges hálón át vezet a diffúziós modellig. Ebben a leckében egy térképre tesszük a négy fő megközelítést, hogy lássuk, mit tud mindegyik, és miért lett a diffúzió a képgenerálás egyik vezető módszere.

Vissza a tananyaghoz


Az autoenkóder, a tömörítés gondolata

A vonal az autoenkóderrel (autoencoder) indul. Ez két hálórészből áll. Az enkóder (encoder) a bemenetet, például egy képet, egy jóval kisebb belső leírássá, a látens kódvá (latent code) sűríti, a dekóder (decoder) pedig ebből a tömör leírásból próbálja visszaállítani az eredetit. A háló akkor tanul jól, ha a visszaállított kép közel áll az eredetihez, ezért a tömör kódnak a lényeget kell megőriznie. Az autoenkóder önmagában nem igazi generatív modell, mert nem tudunk csak úgy értelmes új kódot kitalálni, amiből a dekóder hihető képet rajzol. De az alapötlet, hogy a képek egy alacsony dimenziós látens térben (latent space) leírhatók, minden későbbi módszer alapja lett.


Bemeneti kép enkóder látens kód dekóder Visszaállított kép a szűk kód rákényszeríti a hálót, hogy a lényeget őrizze meg
Az autoenkóder egy szűk látens kódba sűrít, majd abból állít vissza. A tömör kódnak a lényeget kell tartalmaznia, ez a látens tér ötletének magja.

A variációs autoenkóder, valószínűségi csavar

A variációs autoenkóder (variational autoencoder, VAE) az autoenkódert alakítja valódi generatív modellé. A trükk az, hogy a látens kódot nem egyetlen pontnak tekinti, hanem egy valószínűségi eloszlásnak, és a látens térre egy sima előfeltevést, egy prior eloszlást tesz. Így a látens tér folytonos és rendezett lesz, ezért utána egyszerűen húzhatunk belőle egy véletlen pontot, és a dekóder abból hihető új képet rajzol. A tanításhoz az úgynevezett reparaméterezési trükkre (reparameterization trick) van szükség, amely lehetővé teszi, hogy a véletlen mintavétel ellenére a háló szokásos módon tanuljon. A VAE mintái hihetők és sokfélék, de gyakran kissé elmosódottak.


A generatív ellenséges háló, a versengés ereje

A generatív ellenséges háló (generative adversarial network, GAN) egészen más elvre épül, egy versenyre. Két háló küzd egymással. A generátor (generator) véletlen zajból képet gyárt, a diszkriminátor (discriminator) pedig azt próbálja eldönteni, hogy egy kép valódi tanítókép vagy a generátor hamisítványa. Ahogy a diszkriminátor egyre jobban leplezi le a hamisítványokat, a generátor kénytelen egyre meggyőzőbb képeket készíteni. A GAN nagyon éles, részletgazdag képeket tud előállítani, de a tanítása kényes. Könnyen instabillá válik, és megjelenhet a móduszösszeomlás (mode collapse) jelensége, amikor a generátor csak néhányféle képet gyárt a teljes változatosság helyett.


Autoenkóder tömörítés és visszaállítás VAE valószínűségi látens tér GAN generátor és diszkriminátor Diffúzió fokozatos zajtalanítás A közös cél mindegyiknél ugyanaz, új, hihető mintát venni az adatok eloszlásából. A megközelítés más, a diffúzió sok apró, könnyű lépésre bontja a feladatot.
A négy fő család egy fejlődési vonalon. Mindegyik ugyanazt a célt szolgálja, de más úton. A diffúzió sok kicsi zajtalanító lépésre bontja a nehéz feladatot.

A diffúziós modell helye

A diffúziós modell (diffusion model) a legfrissebb a sorban, és a képgenerálásban ma az egyik legerősebb. Az ötlete meglepően egyszerű. Ahelyett hogy egyetlen ugrással próbálna zajból képet csinálni, sok apró, könnyű lépésre bontja a feladatot. Előbb megtanulja, hogyan lehet egy képet fokozatosan zajjá alakítani, majd megtanulja ennek a fordítottját, a zaj lépésről lépésre való eltávolítását. Ez a fokozatosság teszi a tanítást stabillá, és ez adja a diffúzió két nagy erősségét a GAN-hoz képest, a kiváló minőséget és a nagy változatosságot. Cserébe a mintavétel lassabb, mert nem egy, hanem sok lépésből áll. A következő leckétől ezt a mechanizmust nézzük meg közelebbről.


GAN

  • Egyetlen lépésben gyárt képet
  • Nagyon éles, részletgazdag
  • Gyors mintavétel
  • Kényes tanítás, móduszösszeomlás fenyeget

Diffúzió

  • Sok apró zajtalanító lépésből épít
  • Kiváló minőség és nagy változatosság
  • Stabil, jól kiszámítható tanítás
  • Lassabb mintavétel a sok lépés miatt

4

Négy állomás, egy cél. Autoenkóder, VAE, GAN és diffúzió. Mind ugyanazt akarja, új mintát venni az adatok eloszlásából, de más úton. A diffúzió a nehéz feladatot sok könnyű lépésre bontja, ettől lesz stabil és jó minőségű.


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