Diffusion
Mikä on diffusion generatiivisessa tekoälyssä?
Diffuusio (engl. diffusion) on yksi tapa tuottaa sisältöä generatiivisessa tekoälyssä. Menetelmä on erityisen tunnettu kuvageneroinnin yhteydessä, mutta sen soveltaminen tekstimallienkin puolella on yleistymässä.
Miten diffuusio toimii?
Diffuusiomalleissa tekoäly aloittaa kaaoksellisesta satunnaiskohinaa muistuttavasta tilasta ja muokkaa sitä vaihe vaiheelta kohti haluttua lopputulosta. Prosessi tapahtuu iteratiivisesti: malli tarkentaa kuvaa tai tekstiä vähän kerrallaan usean vaiheen kautta.
Esimerkiksi kuvamalleissa malli lähtee liikkeelle täysin sumeasta "kohinakuvasta", ja käyttäjän antamien avainsanojen perusteella se alkaa vähitellen muodostaa tunnistettavia muotoja, värejä ja yksityiskohtia, kunnes lopputuloksena on valmiiksi generoitu kuva.
Diffuusio myös tekstin tuottamisessa
Perinteiset tekstimallit (kuten GPT) tuottavat tekstiä yksi sana tai merkki (token) kerrallaan. Diffuusiomallien ideana on se, että koko tekstin runko tuotetaan kerralla, ja sitä hiotaan vaiheittain tarkemmaksi.
Tällä on muutamia etuja:
-
Nopeampi generointi: Pitkätkin tekstit saadaan valmiiksi vähemmillä vaiheilla.
-
Kokonaisuuden hallinta: Malli pystyy arvioimaan koko tekstin rakennetta yhdellä kertaa, mikä voi johtaa yhtenäisempään lopputulokseen.
-
Tarkempi muokkaus: Jos haluat muuttaa vain tietyn osan tekstistä, diffuusiomalli voi "samentaa" vain sen kohdan ja generoida sen uudelleen – ilman että muun tekstin rakennetta tarvitsee koskea. Tämä toimii samalla periaatteella kuin kuvien osittainen uudelleengenerointi (inpainting).
Esimerkki: ohjelmakoodin muokkaus
Kuvitellaan, että sinulla on valmis koodipätkä, ja haluat muuttaa vain yhden funktion toimintaa. Diffuusiomalli voisi tuottaa uuden version vain tästä funktiosta säilyttäen muun koodin entisellään ja vieläpä noudattaen alkuperäisen koodin muotoilua ja tyyliä automaattisesti. Näin sinun ei tarvitse erikseen selittää mallille, miltä muun koodin pitäisi näyttää.