Generování obrazu


Ať vás článek inspiruje, více si povíme na školení!


Vyrobit si promptem téměř dokonalý obrázek a stát se tak kreativním digitálním malířem je dechberoucí zážitek…příkladů efektivního komerčního nasazení však – snad s vyjímkou marketingu – najdeme v porovnání s ostatnními doménami poměrně málo. Jde o krásné obrázky, ale zatím jsou jen krásné, nejsou přesné, leckdy fyzikálně správné (vysvětlím v textu dále).

Digitálně malovat rozhodně stojí za vyzkoušení a to i přesto, že se u většiny modelů nedávají trial verze zdarma a budete si muset účet nejdřív nabít nějakým minimálním kreditem (cca 10USD). Může za to velká uživatelská poptávka a skutečnost, že tvorba obrázků chce hodně výpočetní grafiky. Doporučuju vyzkoušet některé z nejznámějších modelů jako Midjourney (která se (zatím) promptuje přes externí aplikaci Discord, což komplikuje integraci do vlastního řešení, ale umí např funkci zoom-out, tedy rozšíření a dopočítání obrázku, anebo inpainting, tedy překreslení vybrané části obrázku), DALL-E 3 (který je součástí ChatGPT 4 – oboje z dílny společnosti OpenAI – a dokáže elegantně pomoct s formulací promptu, kterého se mimochodem dobře drží) a Stable Diffusion, který je jediným open source modelem.

Pojďme si vysvětlit, jak se vlastně stroje naučily malovat a poté poukážu na některá úskalí (oboje spolu totiž souvisí, uvidíte později).

Ty nejpokročilejší modely dnes fungují tak, že se trénovací obraz s textovým popisem nejdřív zašumí (diffusion) a model se z toho učí predikovat přidaný šum. Po naučení se postup obrátí: na vstupu je šum a textový popis (ano, generativní modely v sobě obsahují textové modely) a model postupně šum „odstraňuje“, čímž generuje obrázek. Nevýhodou této architektury je nesmírná výpočetní náročnost a nutnost celý proces několikrát v cyklech opakovat. Proto existují alternativní architektury generování obrázku, jako např General Adversarial Network (GAN), kdy se využívá dvou soupeřících modelů: Generátoru, jehož cílem je generovat obrázky a Detektiva, který dokáže porovnat výstupy Generátoru s reálnými obrázky. Generátor nejdřív startuje z absolutního šumu a Detektiv mu dává zpětnou vazbu, jestli se k obrázku blíží. Generátor tak nemá na začátku relevantní vstupy, vygeneruje tisíce obrázků, pošle je na Detektiva a dostane zpětnou vazbu. Druhou rundu nakreslí o něco lépe a celý proces se ve smyčce opakuje dokola, přičemž Generátor i Detektiv rostou souběžně. To do momentu, do kdy se nenaruší rovnováha a jeden z nich začne být moc dobrej (např Detektiv začne vše 100% zamítat, čímž nedá Generátoru zpětnou vazbu, ze které by se mohl učit), tím začne být model nestabilní a je potřeba zásahu, který např zpomalí učící schopnosti Detektiva. GAN umí skvělé realistické obrázky a stojí například za legendárním https://thispersondoesnotexist.com/

Finetuning

Finetuning obrazových modelů není nic jiného než využití předtrénovaných vah a dotrénování modelu vlastními daty. Smysl to může mít ve scénářích, kdy máte vlastní autorské řešení (např jste autor Futuramy) a chcete specializovaný model, který bude přesně dodržovat tento styl. Další možnost, ve které bude nepochybně hodně peněz a není zachycena v běžných modelech, jsou obrázky pro dospělé.

Na co si dá pozor?

Modely na generování obrazu se stále neumí vypořádat s některými nástrahami fyzikálního světa (je např problém umístit sedícího papouška na rameno) a taky se (zatím) perou s textem (budou mít problém nakreslit tričko s nápisem „Nirvana“).

Neméně důležité je si uvědomit, že stroje vidí jinak než my, lidé, čehož se dá zneužít. Takovým typickým cíleným útokem může být data poisoning, kterým se obrázek zašumí způsobem, který není lidským okem zaznamenatelný, přitom AI algoritmus dokonale zmate, viz příklad na obrázku níže:

A závěrem platí to stejné jako u všech ostatních kapitol: experimentujte, zkoušejte různé prompty a bavte se u toho 🙂


Chcete příležitosti AI pochopit lépe?