Blog
Kako izgledaju AI generirane slike?
Kratki odgovor – (otprilike) kako god želite. Uz dovoljno pokušaja i sreće, naravno. Za dulji odgovor prvo slijedi kratko objašnjenje kako generiranje slike iz teksta danas uopće funkcionira. Ili možete samo preskočiti malo niže i vidjeti neke primjere.
Difuzijski modeli
Pristup temeljen na difuziji novo je rješenje za probleme generativnih modela i važan faktor u nedavnom uspjehu modela za generiranje slike iz teksta. Pokušaj prijevoda objašnjenja iz originalnog rada slijedi:
Osnovna ideja, inspirirana statističkom fizikom, je sporo i sistematski uništavati strukturu u razdiobi podataka kroz iterativni proces unaprijedne difuzije. Nakon toga učimo obrnuti proces difuzije koji ponovno uspostavlja strukturu u podacima, time dobivajući fleksibilan i traktabilan generativni model podataka.
Ideja definitivno nije jednostavna, ali detalji procesa i statistička svojstva koja ga čine tako moćnim nisu nešto s čime se može pozabaviti u kratkom članku. Tako da ćemo napraviti zabavnu stvar i sve to preskočiti; nakon jedne slike i nekoliko rečenica. Jednostavni prikaz procesa unaprijedne difuzije prikazan je na slici ispod. Zadatak obrnutog procesa bio bi naučiti popraviti sliku, dok se učenje događa između koraka procesa. Objašnjenje možda ne sadrži sve relevatne informacije, ali trebalo bi pomoći razjasniti proces difuzije.
Tekst i DALL-E
Model koji je započeo novi val u području generiranja slike iz teksta jest DALL-E, napravljen od strane OpenAI-a. Koristi enkoder-dekoder arhitekturu transformera kako bi enkodirao tekst i dekodirao sliku iz danog teksta. Slike normalne, pa čak i niske rezolucije sadrže malo previše informacija da bi bile lako dekodirane (generirane), tako da je u DALL-E-ovoj arhitekturi dodan korak između izlaza dekodera i generirane slike. Ovo je korak u kojemu difuzija ulazi u priču, ne u slučaju DALL-E-a već u slučaju njegove novije inačice DALL-E 2, i preuzima svjetla pozornice. Pristup temeljen na difuziji pomogao je DALL-E-u 2 da dostigne potpuno novu razinu. A da to nije bio OpenAI s DALL-E-om 2, bila bi to neka druga arhitektura temeljena na difuziji i objavljena u sličnom vremenskom periodu od strane njihove konkurencije.
Korištenje difuzije potaknulo je arhitekture modela za generiranje slike iz teksta da evoluiraju. Kombinacija reprezentacija teksta sa šumom u procesu popravljanja slike prvi je korak koji čini difuziju tekstom specificiranih slika mogućom. Unatoč tome povezivanje slike i teksta nije toliko jednostavno, pa se u ovom dijelu procesa koristi još jedan model kako bi se poboljšao prijenos konteksta kojim tekst specificira kakvu sliku želimo generirati.
CLIP, također razvijen od strane OpenAI-a treniranjem na zadatku predviđanja točnog opisa slike iz velikog skupa mogućih izbora uči sličnosti vizualnih koncepata slike s tekstualnim konceptima opisa. CLIP-ova arhitektura definirana je tako da se za slike i njihove opise računaju numeričke reprezentacije slike i teksta među kojima se potom uče povezanosti. DALL-E 2 koristi CLIP za računanje numeričke reprezentacije teksta. Za generiranje numeričke reprezentacije slike iz numeričke reprezentacije teksta koristi se model koji se sastoji od dekoder dijela transformer arhitekture nazvan “prior” (apriori vjerojatnost distribucije).
Zadnji korak u generiranju slike je korištenje modificirane verzije još jednog OpenAI-evog modela, GLIDE-a. GLIDE je difuzijski model za generiranje slike iz teksta tako da procesom obrnute difuzije restaurira sliku iz šuma uz korištenje numeričke reprezentacije teksta kao dodatnog konteksta. U modificiranoj verziji umjesto šuma koristi se numerička reprezentacija slike koju pruža “prior”. DALL-E 2 je kombinacija raznih OpenAI-evih modela od kojih svaki predstavlja state-of-the-art u svojem području.
Napokon, krenimo sa zabavnim dijelom
U prošlom odlomku, spomenuta je činjenica da OpenAI i DALL-E 2 imaju konkurenciju. Pogledat ćemo o kome se točno radi. Počet ćemo s kratkim uvodom svakog od modela, pokazati primjere slika generiranih istim modelom i dati neke informacije o tome kako ga isprobati.
Vrijedi napomenuti da svi navedeni modeli za određeni tekstualni upit generiraju više slika. Također, dopuštaju i opciju regeneriranja s istim upitom, koji bi svaki puta trebalo generirati novi skup slika. Iz tog razloga, kako bi prikaz bio realniji, za neke od primjera tekstualnog upita bit će priložene najbolje i najgore generirane slike (subjektivni odabir autora teksta).
Upoznajmo natjecatelje.
Stable Diffusion
Razvijen od strane Stability.AI, Stable Diffusion je nedavno doživio svoju prvu razinu puštanja u javnost. Trenutno se može isprobati besplatno u online verziji na platformi Huggingface. Nažalost, nije uvijek moguće isprobati model na platformi zbog prevelikog broja zahtjeva. Stable Diffusion je također dostupan u beta verziji desktop aplikacije DreamStudio, također razvijene od strane Stability.AI-ja, čija je Lite verzija dostupna i u web pregledniku. To nas dovodi do najzanimljivijeg svojstva ovog modela. Može se koristiti i na (vrlo dobrom) korisničkom računalu, jer mu je potrebno “samo” 10 GB VRAM-a na GPU-u. Korištenje modela putem API-ja još nije omogućeno.
Idemo na primjere. Budući da je službeni javni prostor za testiranje konstantno zauzet, alternativu smo pronašli na platformi Lexica, “tražilici za Stable Diffusion”, na kojoj je moguće pronaći već generirane slike i besplatno generirati nove.
Nažalost koncept tri sunca je ovdje nekako pobjegao, ali vidimo da je model uspio u najboljem slučaju generirati lijepe slike zalaska. U najgorim slučajevima vidimo poprilično nerazumijevanje, gdje u jednoj uopće nema sunca. Broj 3 nije imao nekog utjecaja dok nije napisan riječima, nakon čega je generirao 3 stvorenja (slika 4). Iz ovog razloga, idući upit je odabran malo konzervativnije, te su istražene dvije varijacije originalnog upita.
Upit: sports car driving through the desert
Osim nedostatka automobila na jednoj slici i malo promašenih kadrova, nema puno zamjerki na ove slike. Scenarij pomalo izgleda kao videoigra, pa je isproban malo drugačiji pristup.
upit: sports car driving through the desert, 2D digital art
upit: sports car driving through the desert, analog photograph
Midjourney
Midjourney je model razvijen u istoimenom nezavisnom istraživačkom laboratoriju. Nema previše informacija o samom modelu, arhitekturi, korištenim podacima itd. Ili ih barem nije lako pronaći. Midjourneyu se pristupa preko Discorda (freeware VoIP aplikacija dizajnirana za gaming zajednicu). Prijavljivanjem u Midjourneyev Discord kanal preko njihove web stranice ulazite u zajednicu ljudi koja konstantno generira nove slike. Preko jednostavne naredbe Discordovom Midjourney botu sami generirate svoje slike. Nažalost, zabava besplatne verzije završava nakon 25 generiranih upita. Nakon toga, najjeftinija opcija košta 10$ mjesečno i dozvoljava generiranje oko 200 upita mjesečno.
Osnovnim upitom generiraju se 4 slike, te se potom otvaraju mogućnosti, regeneriranje za isti upit, povećanje dimenzija i generiranje varijacije za svaku od 4 slike. Opcije su prikazane na sljedećem primjeru.
Koncepti izgledaju dobro uz razinu apstraktnosti koju ovaj upit dopušta. Sve slike izgledaju više umjetnički nego realno, te je iz tog razloga isproban dodatak “hyperrealistic”, koji nije značajno pomogao. Varijacije također izgledaju dobro, promijenjeni su određeni detalji, ali u potpunosti je zadržan glavni koncept. Povećanja dodaju razinu detalja, ali slike i dalje nisu pretjerano detaljne.
Primjer jedne uvećane slike uz dodavanje parametra “hiperrealistic” u upit:
upit: “planet earth inside of a snowball, by the window, mountains in the background “
Primjer djelomično apstraktnog upita pokazuje probleme prilikom prijenosa određenih koncepata. Primjer dolje lijevo jedini pokazuje određeno razumijevanje “pored prozora”, dok niti jedna slika ne pokazuje izričito planet Zemlju. Naravno, ovaj upit bi mogao biti znatno bolje zadan i sam koncept planeta Zemlje unutar snježne kugle nije lagan zadatak iz više razloga. Krajnji rezultat je unatoč navedenim problemima vrlo zanimljiv.
DALL-E 2
Ranije opisani DALL-E 2, razvijen od strane OpenAI-ja i dostupan na njihovoj web stranici ili putem API-ja. Prvih 50 generiranja (4 slike po upitu) je besplatno, nakon čega je moguće kupiti još 115 za 15$.
Evo i nekih primjera. Svaki upit regeneriran je jednom te su odabrani najzanimljiviji primjeri za najzanimljivije upite. Tijekom eksperimentiranja DALL-E je pokazao zavidno razumijevanje nekih koncepata te mogućnost jako dobrog ispunjavanja detaljnih upita, ali također i poprilično razočarao kod nekih ne pretjerano kompliciranih upita. Zaključak je da je potrebno jako dobro specificirati traženu sliku, te je tako moguće doći do stvarno zanimljivih rezultata.
Upit: river in a rainforest
Upit: river in a rainforest from above
Iz ova dva upita vidi se dobro razumijevanje i utjecaj ranije navedene preciznosti, gdje dodavanje “odozgo” u upit u potpunosti mijenja perspektivu svih generiranih slika. Također vidimo jedan primjer koji je odudarao od ostalih realističnih slika, gdje prašuma od gore izgleda u potpunosti digitalno.
Upit: a record player standing on a table next to a money tree plant in a white modern living room, records standing on the shelf above
Koncept police s pločama nije prenesen na fotografiju niti na jednom od primjera. Unatoč tome, na prvoj slici biljka izgleda kao ona koja je navedena u upitu, te ostatak odgovara opisu. Na drugom primjeru gramofon i biljka izgledaju pomalo kao igračke.
Nakon ovih kratkih analiza, slijedi još nekoliko primjera zanimljivih pokušaja, sa samo jednim primjerom za svaki upit i bez ikakvih komentara.
Za kraj…
Nakon ovog dugog putovanja, (relativno) puno upita i slika, jedino što je ostalo za reći jest da se najbolji dojam o radu ovih modela može dobiti samostalnim isprobavanjem. Također, vrlo je zabavno i možete postati dio zajednice ljudi koji šalju upite, generiraju slike i istražuju mogućnosti state-of-the-art umjetne inteligencije. Sretno generiranje 🙂
Literatura:
- The recent rise of diffusion-based models, Maciej Domagała, https://deepsense.ai/the-recent-rise-of-diffusion-based-models/
- Deep Unsupervised Learning using Nonequilibrium Thermodynamics, Sohl-Dickstein et al., https://arxiv.org/abs/1503.03585
- Zero-Shot Text-to-Image Generation, Ramesh et al., https://arxiv.org/abs/2102.12092
CLIP: Connecting Text and Images, OpenAI blog (više autora)., https://arxiv.org/abs/2102.12092 - How DALL-E 2 Actually Works, Ryan O’Connor, https://openai.com/blog/clip/
- Stable Diffusion Launch Announcement, https://stability.ai/blog/stable-diffusion-announcement