Opas tekstipohjaiseen kuvangenerointiin asiasisällöissä

Osa 2. Miltä kuvat näyttävät?

Vertti Luostarinen
9 min readJun 16, 2021

Tässä osassa esittelen käytännön esimerkkien kautta, millaista tekoälykuvitusten soveltaminen on. Arvioin vuoden 2021 kesäkuun Tiviin generoimiani kuvituksia ja avaan työprosessiani niiden parissa. Lopuksi vedän yhteen oppimaani ja vertailen eri kuvangenerointityökirjoja.

Käytännön sovellutuksia

Tein kuvangeneroinnin kokeita yhteistyössä Tivin ja Mikrobitin toimittajan Samuli Leppälän kanssa. Aloitin tekemällä kuvituksen hänen vanhaan erilaisia sykemittareita vertailevaan artikkeliinsa. Sen jälkeen jatkoin generoimalla kuvitusta artikkeliin, joka käsitteli tätä projektia ja Dall-E:tä (maksumuuri).

Tarkastelen generoinnin tuloksia ja niiden onnistuneisuutta kahden kysymyksen näkökulmasta: Istuuko kuva jutun kontekstiin? Ja onko se esteettisesti miellyttävä?

Molemmat kysymykset ovat tietenkin hyvin subjektiivisia; kontekstiin istumisen tärkeys on, paradoksaalista kyllä, hyvin pitkälti kiinni kontekstista. Jotkut mediat ja juttutyypit sallivat vapaampia visuaalisia assosiaatioita kuin toiset. Myös aihe vaikuttaa tähän; sykemittarijutussa pyöritään selkeästi paljon konkreettisemmalla tasolla kuin kuvangenerointia käsittelevässä artikkelissa, ja se heijastuu myös siihen, miten tarkkoja kuvitusten täytyy olla.

Esteettinen miellyttävyys on vielä monitulkintaisempaa. Olen pyrkinyt tarkoituksellisesti eroon generoiduille kuville ominaisesta visuaalisesta sekavuudesta ja ”outouden laakso” -efektistä, kohti ”ihmismäisempää” ja lehtikuvakontekstissa tutumpaa jälkeä. On kunkin itse päätettävissä, edustavatko valintani sitä esteettistä suuntaa, johon tekoälykuvituksia pitäisi kuljettaa. Osa generoitujen kuvien uniikkiudesta vääjäämättä katoaa, jos niistä yrittää tehdä liian inhimillisiä.

Kokeiden tarkoituksena oli tutkia kuvangeneroinnin soveltamista journalismiin käytännön tasolla, joten pidin arviointikriteerini tarkoituksella konkreettisina. Monet kuvat ovat hienoja omalla tavallaan, mutta eivät oikein sovi siihen käyttötarkoitukseen, joka niille on asetettu. Blogin kolmannessa osiossa lähden ns. ”perä edellä puuhun” ja visioin uudenlaisia konteksteja, joihin kuvat voisivat istua.

Tekoälyn kanssa työskentelyyn kuuluu väistämättä ihmisyyden, itsensä ja sen rajojen pohtimista, toisinaan jopa eksistentiaalista ahdistusta. Ne kuuluvat tavallaan työnkuvaan. Vaikka olenkin yrittänyt pitää huomioni melko konkreettisina, filosofisia sivupolkuja ei kokonaan voi välttää.

Generointiin liittyy myös paljon kantapään kautta oppimista; tässä luvussa yritän havainnollistaa ajatusprosessiani ja työskentelyni etenemistä. En ole seurannut mitään systemaattista metodologiaa, vaan antanut prosessin ohjata itseään. Se on vain yksi esimerkki siitä, miltä kuvangeneroinnin kanssa työskenteleminen voi näyttää, mutta aiheesta kiinnostuneille se kertoo ainakin jotain siitä, mitä odottaa ja mitä kannattaa välttää. Tekoälyn teknisistä aspekteista sekä sen huippusuorituksista saa lukea paljon, mutta selontekoja siitä, miten sen kanssa konkreettisesti työskennellään, on paljon vähemmän.

Osan lopussa vertailen koetulosteni perusteella eri järjestelmien vahvuuksia ja heikkouksia ja yritän koota yhteen oppimaani. Mitään yleispätevää työkalua ei ole käytössä, vaan eri tilanteisiin kannattaa valita erilainen työkirja. Työkirjoissa on eroja paitsi siinä, minkälaista teknologiaa ne käyttävät, myös siinä, millaisella datalla ne on koulutettu ja mitä ne tuottavat. Osa tuottaa yksittäisiä kuvia, osa vaikkapa 40 kuvaa kerralla.

Sykemittarit

Sykemittariartikkeli osoittautui hyväksi esimerkiksi sen kaltaisesta jutusta, jossa tekoäly ei mielestäni voi tuottaa mitään ilmeistä lisäarvoa. Kyseisessä artikkelissa arvioidaan kolmen eri kohdista kehoa sykettä mittaavien laitteiden tarkkuutta, ja paljon loogisempaa oli laittaa juttuun valmiita tuotekuvia laitteista itsestään. Tarjolla olevista jutuista se kuitenkin oli kaikkein abstraktein. Vaikka lopulta minä ja Samuli olimmekin yhtä mieltä siitä, että kuvillani ei ollut paikkaa kyseisessä artikkelissa, niiden tuottaminen paljasti paljon siitä, mihin teknologia tällä hetkellä pystyy ja mihin ei.

Loin ensimmäisen kuvitukseni Aleph2Image-työkirjalla. Se hyödyntää Dall-E:n VAE:ta. Käytin työkirjan tekijöiden ohjeiden mukaan tässä kohtaa syötteitä, joissa sama asia toistettiin vähän eri sanoin. Sen kuulemma piti parantaa systeemin tarkkuutta. Vähitellen huomasin kuitenkin, että melkein yhtä usein se sai järjestelmän hämmentymään siitä, mitä kuvassa pitäisi olla ja yritin jatkossa pitää syötteet tiiviinä.

“Running man, a man who is running”.

Samulin mielestä ”kuvan tausta tuo jostain syystä mieleen arcade-hallin. Jännittävää, että kuvan suhteellisen abstraktit elementit herättävät tarkkoja mielikuvia.” Itselläni nousee kuvaa katsellessa ajatus jatkuvasti teknistyvästä yhteiskunnasta, joka periaatteessa linkittyykin sykemittareihin ja biohakkeroinnin kulttuuriin.

Oman kokemukseni perusteella tällaisia assosiaatioita herää kuitenkin melko harvoin, eikä luotettavaa tapaa tuottaa niitä ole. Colaboratoryssa pyörivää koodia ei voi käskeä tuottamaan tietynlaisia ajatuksia herättäviä kuvia, vaan kuvien tarkka sisältö pitää kuvailla. Yllättävyys on melkein aina taattua, mutta kompleksisten assosiaatioiden herättäminen on henkilökohtaisempaa ja hankalasti mitattavampaa. Sykemittarivertailua kuvitettaessa sille ei ainakaan ole sijaa.

Seuraavassa kokeilussani havaitsin, että VAE:ta käyttävällä järjestelmällä oli vaikeuksia hahmottaa yhdyssanoja. Jos sille antoi yhdyssanan, se yleensä approksimoi jonkinlaisen tilastollisen yhdistelmän yksittäisistä sanoista sen sijaan, että yrittäisi tuottaa niiden yhdistelmää. Näin ainakin tulkitsen sen, mitä se yritti tehdä esimerkiksi tässä kuvassa: ”heart rate monitor”. Samankaltaisia hahmottamisen vaikeuksia ei ollut pelkkiä GANeja hyödyntävillä työkirjoilla.

“Heart rate monitor”.

Käyttämäni VAE-työkirjat tunkivat kuvat aina todella täyteen informaatiota. Ne useimmiten koostuvat tavallaan ”maisemista”, joissa vilisee tekstisyötteeseen enemmän tai vähemmän liittyviä pienempiä objekteja. Seuraavaksi siirryin kokeilemaan GANeja, jotka puolestaan olivat melko hyviä luomaan yhden selkeän objektin kuvan keskelle.

Huomasin kuitenkin GANeja käyttäessäni, että kuvien tyyli yksipuolistui. Tekstisyötteen perusteella CLIP valikoi GANista ns. latentin koordinaatin. Koska kuvat eivät ole järjestelmän sisällä kuvina, vaan merkkijonoina, prosessi alkaa sillä, että paikannetaan tällainen alkupiste, jonka pohjalta aletaan rakentaa uutta kuvaa.

Tämä ”alkukuva” pitkälti määritti sitä, miltä lopullinenkin kuva tuli näyttämään. Vaikka syötteenä oli yhä pelkästään ”heart rate monitor”, tuotti GAN toistuvasti kuvia, joissa toistui eläinmäisiä hahmoja nurmikolla, tosin sykemittarimaisilla lisäkkeillä varustettuina:

“Heart rate monitor”.

Tässä on se latentti koordinaatti, josta sykemittarikuvien generointiprosessi sai alkunsa. Samankaltaisuus on mielestäni merkillepantavaa:

GANin “alkukuva”

Koska GAN on koulutettu myös WikiArt-datasetillä, jossa on kuvataidetta, se osaa matkia myös piirrosten ja maalausten tyyliä. Yritin rikkoa kuvien kaavamaisuutta ja kokeilla jotain aivan muuta. Aloin generoida piirustuksia. Kuinka ollakaan, kuvien vaihtelevuus ja laatu parani.

“Drawing of a running woman”.

Kuvien epämääräisyys verhoutuu helpommin silloin, kun kuva ei yritäkään olla valokuva, vaan sen ilmiasu on kuvataidemainen. Kuvalle antaa paljon enemmän anteeksi ja siitä tulee ikään kuin ihmismäisempi. Päädyinkin pian järjestään aina lisämään ”a painting of” tai ”a drawing of” -etuliitteen kaikkiin syötteisiini. Järjestelmä osaa mennä jopa askelen pidemmälle, sillä se osaa matkia joidenkin yksittäisten taiteilijoiden kädenjälkeä. Esimerkiksi ”a running man in the style of Monet” näyttää tältä:

“A running man in the style of Monet”.

Olen nähnyt toisten tekemiä selvästi ”valokuvamaisempia” kuvia, joihin on käytetty ”a photograph of” -etuliitettä, mutten itse havainnut sen tekevän eroa tekoälykuvien tyylissä. Syöte ”a photo of a heart rate monitor, a type of device” teki kuvista kalamaisia:

“A photo of a heart rate monitor, a type of device”

Eläimet nurmikolla, kalat, Wikiartista otetut viivapiirrokset ja monet muut ovat BigGANin datasettejä ja niiden jäljet oppii tunnistamaan kuvista. Tässä törmätään jälleen kerran teknologian rajoituksiin; GANin on aloitettava jostain, ja siksi kuvat väistämättä heijastelevat alkuperäistä datasettiä tai yrittävät yhdistellä tekstistä saatuja piirteitä kuviin, toisinaan melko groteskein seurauksin. Parhaiten tämän puutteen saa verhottua tekemällä kuvista ”kuvataidetta” käyttämällä etuliitteitä.

Toinen ratkaisu on editoida latenttia koordinaattia joksikin toiseksi, mutta tässäkin menettelyssä on ongelmansa. Järjestelmän löytämä aloituspiste on valikoitunut siksi, että se on paras. Valitsemalla toisen sattumanvaraisen pisteen todennäköisesti heikentää kuvan laatua. Omat kokeiluni koordinaatin muuttamiseksi tuottivat joko sumeaa mössöä tai pelkkää erroria.

Kolmas ratkaisu datasettien aiheuttamaan kaavamaisuuteen on sekä varmin, että työläin. GAN-työkirjoja voi myös itse kouluttaa omilla dataseteillä. Tällöin kuvien tyyliä pääsisi kontrolloimaan paljon enemmän ja myös kuvien sisällöstä tulisi spesifimpää ja uniikimpaa. Datasettien kokoaminen ja GANien kouluttaminen ovat kuitenkin pitkiä ja työläitä prosesseja. Siinä kohtaa ei enää puhuttaisi työnkulusta, jossa toimittaja voi vain nappia painamalla tuottaa uusia kuvia, vaan useita päiviä kestävästä työstä kuvien tuottamiseksi. Toki, kun järjestelmä kerran on koulutettu, voi palata takaisin nopeampaan työskentelyyn. Pitkällä tähtäimellä GANien itse kouluttamisessa on siis etunsa, varsinkin jos tiedossa on, että suunnilleen samoista aiheista tullaan kirjoittamaan enemmän juttuja. Minulla ei kuitenkaan ollut aavistustakaan, mistä olisin voinut saada satoja rojaltivapaita kuvia sykemittareista, joten tässä esimerkissä GANien itse kouluttaminen ei tullut kysymykseen.

Aloin seuraavaksi tutkia hajontaa tarkemmin. Syöte ”a woman running in the woods” tuotti seuraavanlaisen kavalkadin kuvia:

“A woman running in the woods”.

Kuten huomata saattaa, kuvat ovat melko samanlaisia keskenään. Tämä on hyvä tietää, sillä tekstisyötteen toimivuuden voi yleensä päätellä vain muutaman kuvan jälkeen. Vaikka hajontaa tapahtuu, järjestelmä on melko konsistentti. Täydellistä otosta voi jäädä odottelemaan tai sitten voi lopettaa generoinnin ja vaihtaa syötettä.

Ihmishahmot tuntuvat olevan tekoälylle hankalia. Syöte ”a photo of a man a dog running” tuotti hienoja maisemia, mutta vähemmän tunnistettavia hahmoja:

”a photo of a man a dog running”

Yleisesti ottaen kuvangenerointi luonnistui paremmin elottomien kuin elollisten objektien kanssa. Ja jos syötteessä oli useita eri hahmoja, esimerkiksi tässä tapauksessa mies ja koira, ei tekoäly aina osannut erotella niitä toisistaan, vaan ne sulautuivat yhteen. Lopulta päädyin käyttämään lähinnä ”jossain on jotain”-muotoisia yksinkertaisia syötteitä. Kuten edellä mainitsin, VAE-työkirjoissa ongelma on päinvastainen: yksittäistä, selkeää hahmoa on hankala saada aikaan, mutta useita pienempiä hahmoja kylläkin.

”Tekoälykästä kuvitusta” -artikkeli

Samuli antoi minulle kolme visuaalista ideaa, joiden pohjalta generoin materiaalia Tivin kesäkuun numerossa ilmestyneeseen juttuun. Kaksi niistä synnytti jotain kuvitukseksi kelpaavaa, kolmas ei niinkään. Tällä kertaa aihe oli abstraktimpi, tekoäly, joten kuvien epäspesifiys toimi niiden eduksi.

Kuva 1. Ihmishahmon siluetti seisoo laaksossa, jota ympäröi korkeat jyrkänteet. On pimeää. (Miten outoa laaksoa voisi kuvata?)

Kuva 2. Turhautunut toimittaja selaa tietokoneella kuvituskuvia. Hänen päästään nousee savua.

Kuva 3. Tekoäly (kone, robotti yms.) lyö kättä toimittajan kanssa. Toimittajalla on kädessä muistikirja ja kynä. Koneella on kaulassa kamera.

Prosessia, jossa tällaisia ideoita muokataan syötteiksi, kutsutaan maailmalla ”prompt engineeringiksi”. Pitää olla jonkunlainen ymmärrys siitä, miten visuaaliset ideat saadaan ulos koneesta. Tässä auttoivat sykemittarijutun kanssa tekemäni havainnot.

Ideoista selkeästi helpoin toteuttaa oli ensimmäinen. ”Outouden laaksoa”, esteettistä käsitettä, jolla nimitetään tekoälyn tuottaman sisällön herättämää vierauden tunnetta, tahdottiin havainnollistaa konkreettisena laaksona. Tiesin, että outous oli jotain, joka kuvaan tulisi luontaisesti ilman sen erikseen mainitsemista, joten käytin syötettä ”a painting of a man in a valley”. Käytin GAN-työkirjaa, sillä yksittäinen hahmo ja maisemat ovat sen vahvuuksia. Niistä valikoitui juttuun seuraava otos:

“A painting of a man in a valley”.

Seuraavaksi testailin erilaisia syötteitä, joilla saisin visualisoitua turhautuneen toimittajan. Tällainen skenaario osoittautui vaikeaksi, sillä kuvaideassa oli paljon hyvin spesifejä yksityiskohtia. Lopulta päädyin hyvin yksinkertaiseen syötteeseen: ”a sitting man with smoke coming from his head”. Tällä kertaa kuvitus linkittyi juttuun vähän mutkikkaammin, sillä vaikka valmis kuva ilmentääkin ehkä uusien ideoiden kuvittelua, se ei aivan ole sitä, mitä lähdettiin hakemaan. Käytin myös tässä GANia, jotta se istuisi tyylillisesti yhteen edellisen kanssa. Merkille pantavaa on, että koska en tällä kertaa spesifioinut taustaa, se jäi yksiväriseksi.

“A sitting man with smoke coming from his head”.

Kolmas kuvaidea robotista ja toimittajasta paiskaamassa kättä oli kaikkein vaikein, sillä siinä oli paitsi kaksi erillistä hahmoa, myös paljon yksityiskohtia. GANit eivät tässä tilanteessa tulleet kysymykseen, joten hyödynsin VAE:ta. Lopulta sainkin aikaan kuvan, jossa on halutut elementit, mutta jossa kuvana itsessään on paljon parantamisen varaa. ”A woman and a robot shake hands in an office”:

“A woman and a robot shake hands in an office”.

Yhteenveto

Taulukko eri järjestelmien vahvuuksista kokeilujeni perusteella. Tiedot Dall-E:n toiminnasta ovat peräisin OpenAI:n omasta blogista.

Kenties hieman arvattavasti Dall-E:n oman VAE:n tulokset olivat lähimpänä sitä, mihin OpenAI väittää oman täyden versionsa Dall-E:stä pystyvän. Silti ne jäävät toistaiseksi vielä kauas sen monipuolisuudesta ja tasokkuudesta. Omassa blogipostauksessaan OpenAI listaa hurjan määrän asioita, joihin Dall-E pystyy, mutta joihin nämä avoimet järjestelmät toistaiseksi eivät. Tärkein niistä on omasta mielestäni yksityiskohtaisuus: jos mielessä on jokin hyvin spesifi idea, mikään määrä prompt engineeringiä ei välttämättä saa työkirjoista sitä vastaavia kuvia ulos. Ideoiden täytyy olla konkreettisia ja simppeleitä. On osattava ottaa huomioon käytettävän järjestelmän vahvuudet ja heikkoudet.

Arvioisin, että tällä hetkellä GAN-pohjaiset työkirjat istuvat kuvittamiseen kaikkein parhaiten niiden vähäisen hajonnan ja ”kuvataidemaisuuden” ansiosta. Kunhan oikeanlaisen syötteen keksii, voi Colaboratory-työkirjan jättää pyörimään välilehdelle pariksi tunniksi ja sen jälkeen valikoida parhaan tuloksen vaikkapa neljästäkymmenestä kuvasta. En kuvailisi prosessia mitenkään sataprosenttisen luotettavaksi, mutta ihan riittäväksi. Kuvituksen generointiin ei kulu kovinkaan paljoa aktiivista työaikaa, jos tietää, mitä tekee.

Uskottavia ”fotorealistisia” kuvia vapaassa jaossa olevilla järjestelmillä ei tällä hetkellä voi luoda, ja se voi toisaalta olla hyväkin asia. Se selittää kenties, miksei internet ole vielä täyttynyt tällä metodilla tuotetuista ”todisteista” Suomen muinaisista kuninkaista tai muusta humpuukista. Sen sijaan uskottavan, kuvataitelijamaisen kuvituksen tekemiseen kone kykenee.

Kannattaa kuitenkin pitää tekniikan käyttöönottoa pohtiessa mielessä se, että sen tuottama sisältö on väistämättä jossain määrin ”epäinhimillistä”. Se, onko se hyvä vai huono asia, riippuu käyttäjästä ja käyttökohteesta. Pettymyksiltä välttyy, kun ei aseta tekoälylle epärealistisia vaatimuksia, vaan ymmärtää sen vahvuudet ja heikkoudet.

Seuraavassa osassa tarkastelen tekoälykuvitusten käyttöönottoon liittyviä käytännöllisiä ja eettisiä haasteita. Lopuksi pohdin myös hieman kuvangenerointitekoälyn tulevaisuutta ja sitä, millaisia uudenlaisia sovellutuskohteita uudenlainen teknologia voi tuoda mukanaan.

--

--