Hogyan “alkot” a mesterséges intelligencia?

2023-06-11
Fedezzük fel, hogyan képes az AI “alkotni”, értelmezni és néha meglepően “kreatívnak” lenni.

Jó ideje nagy vitákat kavar a gépi tanulás, azon belül is kiemelt helyet kap az AI kapcsán a kreativitás kérdése. Emlékezzünk csak a díjnyertes képre, amely oly sok vita forrása lett. Sokan csodálkoznak, hogy ezek a gépi “szülemények” mennyire képesek lenyűgöző, valósághű vagy akár absztrakt képeket létrehozni.

De vajon hogyan értelmezi az AI a felhasználók által adott utasításokat? Miért tűnik úgy néha, mintha a gép "kreatívan" dolgozna, és miért nem mindig sikerül pontosan reprodukálnia azt, amit a felhasználó elvár?

Ebben a blogposztban elmélkedünk egy kicsit arról, hogyan működnek az AI képgenerátorok, mint például az OpenAI DALL-E modellje vagy a szintén népszerű Midjourney. Megvizsgáljuk, hogyan értelmezik a különböző utasításokat, miért hoznak létre néha váratlan képeket, és miért pontatlanok olykor az eredmények, még egyértelmű utasítások esetén is.


Az AI képgenerálók sokszor egyedülálló és kreatív módon interpretálják az utasításokat. Például, ha valaki azt kéri, hogy "rajzoljon egy kék méhecskét kallappal és virággal", akkor nemcsak létrehozni képes egy ilyen képet, de még azt is megválaszthatjuk, hogy milyen stílusban vagy milyen környezetben jelenik meg a méhecske.

Látható, hogy noha a kérés egy meglehetősen szürreális elképzelésre irányult, az eredmény ahhoz képest egészen meggyőző. A valóságban nem túl gyakran látunk ugyebár méhecskét kalapban...

Az AI modellek képesek szinte bármilyen tárgyat, állatot, személyt vagy helyet létrehozni.

Azonban fontos megjegyezni, hogy bár képesek lenyűgöző és realisztikus képeket létrehozni, a generált képek minősége és stílusa még mindig nagyban függ az adott képgeneráló modell képzésében használt adatoktól, valamint a leírás pontosságától és részletességétől.

A játék kedvéért: Nézzük meg a fenti méhecskénket aquarell, Picasso és gyerekkönyv-illusztráció stílusban:

Mennyire lesznek a képek hűek a felhasználó által írt promt-okhoz?

Az AI modellek képesek meglehetősen pontosan értelmezni és megjeleníteni a felhasználó által adott leírásokat, bár a végeredmény néha eltérhet a felhasználó eredeti elképzelésétől. Ez részben az AI “kreatív” interpretációs képességének köszönhető, és részben annak, hogy bizonyos fogalmak és leírások többféleképpen is értelmezhetők.

A példaképeken látható, hogy bár nagyjából követte az utasítást, mégis a képeken nem mindig mozsár látható.

A generált képek pontos megfelelése a leírásnak függ többek között a leírás részletességétől és egyértelműségétől, a modell képzésében használt adatoktól, és a konkrét alkalmazástól.

Az AI képgenerátorok folyamatos fejlődésben vannak, és valószínűleg a jövőben még tovább javulnak majd a felhasználói utasításoknak való megfelelésben.

Az AI promt-okról itt olvashatsz 

Felmerül a kérdés: Mitől kreatív egy gép? Önmagától kreatív vagy a létrehozó fejlesztők utasították arra, hogy lazán értelmezze az utasításokat?

A "kreatív interpretáció" kifejezés természetesen nem arra utal, hogy a mesterséges intelligencia önálló kreatív gondolatokkal vagy szándékkal rendelkezik. Az AI modellek nem rendelkeznek sem tudatossággal, sem érzelmekkel, sem szándékkal.

Amikor azt mondjuk, hogy az AI "kreatív", akkor azt jelenti, hogy a modell képes új és váratlan kombinációkat létrehozni a képzése során felhasznált adatok/képek alapján. Például, ha a felhasználó azt kéri, hogy "rajzoljon egy házat, amely úgy néz ki, mint egy banán", a modell képes összekapcsolni a "ház" és a "banán" koncepcióját egy olyan kép létrehozására, amit korábban még soha senki nem látott.

Ez a "kreativitás" eredménye a modell képzésének: az AI modellek hatalmas mennyiségű képadatot tanulnak meg, és képesek új képeket generálni ezek alapján. Ez a képesség azonban korlátozott a - vagyis valójában nem "érti" a képeket vagy a leírásokat ugyanúgy, ahogyan egy ember érti, és nem képes önállóan új koncepciókat létrehozni vagy a kreativitás emberi formáit alkalmazni.

Ha ugyanazt az utasítást adjuk ki többször, akkor tény, hogy az így létrehozott képek különbözőek lesznek. De vajon miért?

A gépi modellek gyakran használnak bizonyos fajta "véletlenszerűséget" a képgenerálás folyamatában. Egy úgynevezett "zajvektort" használják, amely bizonyos fokú véletlenséget hoz be a képgenerálási folyamatba, ezáltal segítve a modellt a sokféleség és a kreativitás előállításában. A zajvektort természetesen nem szabad összekeverni a “zajos kép” fogalmával, amikor a kép rossz minőségére, “zajosságára” vonatkozik a kifejezés.

Ha ugyanazt a promptot vagy leírást adjuk a képgenerálónak több alkalommal, a zajvektor változásai miatt minden alkalommal kicsit más képet fogunk kapni. Ez lehetővé teszi, hogy a modell bemutassa a lehetséges képek sokféleségét, és ne csak egyetlen "legjobb" képet hozzon létre minden leíráshoz.

A példában jól látható, hogy bár valóban különböző képeket kaptunk ugyanazon utasítás kiadásakor (lásd a fenti mozsaras képeket), de a valósághűség azért hagy némi kívánnivalót...

Azonban fontos megjegyezni, hogy a képek változása még mindig korlátozott a modell képzési adatokra és a prompt vagy leírás tartalmára. Még a zajvektor bevezetése mellett is a képgenerálók hajlamosak arra, hogy olyan képeket hozzanak létre, amelyek hasonlóak a bemeneti adatokhoz (vagyis a tanuláshoz használt képekhez).

Jogos kérdés lehet: Mitől függ a zajvektor mértéke?

A zajvektor egy olyan elem a generatív szembenálló hálózatok (GANs) működésében, amely bizonyos fokú véletlenséget hoz be a képgenerációs folyamatba. Ez a vektor, amelyet általában a generátor hálózat bemeneteként használnak, véletlenszerűen inicializálódik, és segít meghatározni a generált kép egyedi tulajdonságait.

A zajvektor mértéke vagy "erőssége" általában előre meghatározott, és nem változik a futás során. A véletlenség mértékét általában a modell fejlesztői állítják be a képzés során. Ez a beállítás lehetővé teszi az AI modell számára, hogy sokféle képet hozzon létre ugyanabból a leírásból, miközben még mindig biztosítja, hogy a képek összhangban maradjanak a leírással.

Hogyan lehetséges az, hogy egyértelmű utasítások kiadásakor is más lesz az eredmény az elvárttól?

A fenti kép létrehozásakor azt kértük, hogy 3 kutya és 3 torta legyen a képen. Ennek ellenére a 3 kutya csak egy tortát bámul... Szó se róla, a kép rendben van, de nem az utasításnak megfelelő. Valószínűleg itt is arról van szó, hogy egy tipikus képen nem szokatlan, hogy 3 kutya látható, de az, hogy 3 torta legyen egy fotón, az már sokkal ritkább. Ezért ha a "tanulás" során nem volt sok olyan kép vagy fotó, amelyen több torta látható, akkor 3 torta létrehozása a kutyás képen nehézségekbe ütközik. Nyilván nem lehetetlen, létrehozni, de több kísérletezést és munkát igényel.

Az AI modellek nem "értik" a leírásokat és az utasításokat úgy, ahogyan az emberek értik. Ehelyett a modell egy statisztikai módszert használ, amely megpróbálja megtalálni a legvalószínűbb képet, amely megfelel a leírásnak, azonban néha ez a kimenet nem pontosan felel meg a felhasználó elvárásainak.

Amikor "félre mennek" a dolgok...

Írásunk végére egy olyan képet szántunk, amely látványos, de teljesen használhatatlan eredményt mutat.

A kérés egy "citromprés" létrehozása volt. Az eredményönmagáért beszél - és valljuk be, kifejezetten rossz:



Megjegyzés: Az angol "lemon squeezer", vagyis citromprés kifejezés miatt inkább egy krumplinyomóra hasonlító tárgyat látunk az első képen. A második képpel kapcsolatban talán a "reszelőnyél" nem túl fantáziadús szó juthat eszünkbe, míg harmadikon a lapos szűrő és citromhéj reszelő kombinációját láthatjuk.

Az viszont biztos, hogy a képgeneráló jól megragadta a konyhai eszközök rozsdamentes karakterét, a citromok is nagyon jók a képen, még ha a nevezett eszköz használhatatlanok is lett...

A példából egyértelműen látszik, hogy a modell nem volt képes teljes mértékben megérteni az utasítást. A hiba valószínűleg azért következhet be, mert a modell képzése során nem találkozott elegendő példával a kívánt koncepcióra, és ezért nem képes pontosan rekonstruálni azt.

(A képek létrehozásához a Midjourney képgenerálót használtuk.)


...és hogy mire lehet használni azon kívül, hogy jó szórakozás?

Már vannak területek - főleg a design területén -, ahol jó szolgálatot tesznek az AI képgenerálók. Ha absztrakt képekre, design elemekre vagy mintázatokra van szükség, akkor nagyon jól használható eredményeket kaphatunk.


Amiről végeláthatatlan vita zajlik: Mennyire etikus emberi kreatívnak tekinteni a gép által létrehozott "alkotásokat"?

A kérdés jogos. De a válaszra egyrészt várnunk kell, másrészt mindenki gondolkozzon és érveljen kedve szerint. De annyit talán megállapíthatunk: A tendencia visszafordíthatatlan. Az AI - még ha "buta" is -, de itt van és valószínűleg velünk is marad.

***

Ha érdekel az IT, nézz szét IT képzéseink között:

Webfejlesztő →
Webszerkesztés alapjai →
Junior frontend fejlesztő →
Junior Java backend fejlesztő →
Junior szoftvertesztelő →
Junior rendszerüzemeltető →

Ha pedig a designerek munkája az izgalmasabb számodra, akkor Web és kiadvány designer képzésünket ajánljuk.