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.
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.
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
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ű.
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 →