**Stable Diffusion** on syväoppimiseen perustuva tekoälyohjelmisto, joka tuottaa kuvia tekstimuotoisesta kuvauksesta. Ohjelmisto julkaistiin syyskuussa 2022.

Ohjelmiston on kehittänyt Münchenin yliopiston CompVis-tutkimusryhmä professori Björn Ommerin johdolla.
SD:n jatkokehitysversio on kesäkuussa 2023 julkaistu SDXL, joka on yhteensopiva vanhemman version työkalujen kanssa.

Muista vastaavista tekoälyohjelmistoista Stable Diffusion eroaa siten, että se ei vaadi supertietokonetta ja on ilmaiseksi ladattavissa ja käytettävissä kotikoneella. Ohjelmiston käyttämä tekoälymalli on koulutettu miljardeilla kuvilla ymmärtämään esim. miltä auto näyttää tai miltä tietty taidetyyli näyttää. Malli on julkaistu CreativeML Open RAIL-M -lisenssillä käytettäväksi. Toisista ohjelmistoista Stable Diffusion eroaa myös siten että siitä ei ole sensuroitu sopimattomia termejä, alastomuutta tai julkisuuden henkilöiden kuvia.

Stable Diffusion on ollut myöhemmin laajan käyttäjien jatkokehityksen kohteena.
Ohjelmistoon on lisäosia, kuten VAE:t (Variable Auto Encoder), joka on malli, joka parantaa kuvan laatua tekoälypohjaisella jälkikäsittelyllä.
Alkuperäinen SD käytti yleisesti `vae-ft-mse-840000-ema-pruned`-VAE:a korjaamaan kuvissa olleita ongelmia ("vertavuotavat silmät").
LoRA:t (Low-Rank Adaptation of Large Language Models) ovat puolestaan täsmäkoulutettuja malleja, joita voidaan käyttää SD:n varsinaisen ison mallin päällä. Jos käyttäjä haluaisi esimerkiksi laadukkaita kuvia Pokémoneista, voidaan malli täsmäkouluttaa pokémonien kuvilla tarvitsematta luoda kokonaista mallia.
Lisämalleja erityisiin tarkoituksiin jaetaan esimerkiksi civitai.com-sivustolla.

Ohjelmiston käyttö vaatii 10 Gt näyttömuistia ja CUDA-laskentaa tukevan näytönohjaimen, mitä käytännössä tarkoittaa Nvidia RTX -sarjan näytönohjaimia.
Ohjelmiston julkaisuaikaan tällainen laitteisto maksaa reilusti alle 2000 euroa.

Ohjelmistolle on myös tehty asennuspaketteja (kuten Easy Diffusion), jolla sen saa asennettua kotikoneelle yhdestä paketista muutaman kymmenen gigatavun latauksella. Paketti myös päivittää itsensä käynnistettäessä.
Ohjelmistolle on myös tehty web-selaimessa toimivia käyttöliittymiä kuten ComfyUI ja AUTOMATIC1111 (ja AUTOMATIC1111:n forkkauksina mm. Anapnoe UX ja Vladmandic).

Toiminta
--------

Diffuusiomalli perustuu yksinkertaistaen siihen, että koulutuskuvaan lisätään Gaussin kohinaa, kunnes kuva on kokonaisuudessaan kohinaa. Nyt mallin avulla ajetaan tämä prosessi takaperin, ja tekoäly luo yksityiskohtia, joita olisi alkuperäisessä kuvassa. Näin satunnaista kohinaa käytetään siemenenä uusien kuvien luomiseen.
Diffuusiomalli on perimmiltään parametrisoitu Markovin ketju.

Stable Diffusion on koulutettu LAIONin (Large-scale Artificial Intelligence Open Network) keräämällä datasetillä, jonka Common Crawl -projekti on kerännyt internetistä. LAIONin tietokanta sisältää viisi miljardia kuvaa tekstimuotoisine kuvauksineen.

Mallin koulutetukseen käytettiin alun perin 256 kappaletta NVidia A100 -GPU:ta Amazonin pilvessä. Tämä vei 150 000 tuntia koneaikaa, jonka kustannus 600 000 US-dollaria.
Projektia sponsoroi Lontoossa ja Palo Altossa toimiva startup Stability AI. Mallin luominen on ongelmallista kotikäyttäjille, sillä se vaatii 30 Gt muistia, jota ei ole kotikäyttöön myytävissä näytönohjaimissa. Omia malleja on silti tehty, kuten 4chanin waifu-diffusion, joka on optimoitu anime-tyylisille kuville.

Alun perin malli koulutettiin 512×512-resoluution kuvilla, mikä rajoittaa luotavien kuvien laatua. 2.0-julkaisu pystyy tuottamaan natiivisti myös 768×768-kokoisia kuvia. Tämä versio sisältää myös upscale-filtterin, joka skaalaa kuvia suurempaan kokoon jopa 2048x2048-resoluutioon.

Esimerkkejä
-----------

* sihteeri sihteeri
* punakaartilaiset punakaartilaiset
* cyberpunk-tyylinen kaupunkimaisema cyberpunk-tyylinen kaupunkimaisema
* katu Espanjassa katu Espanjassa
* yleinen ongelma on raajojen ja kasvojen luominen yleinen ongelma on raajojen ja kasvojen luominen

Katso myös
----------

* DALL-E
* Midjourney

Lähteet
-------

1. ↑  Stable Diffusion v2.1 and DreamStudio Updates 7-Dec 22 *Stability AI*.  7.12.2022. Viitattu 4.5.2023. (englanniksi)
2. ↑  How to Run Stable Diffusion Locally to Generate Images *News, Tutorials, AI Research*.  23.8.2022. Viitattu 4.5.2023. (englanniksi)
3. 1 2  Revolutionizing image generation by AI: Turning text into images *www.lmu.de*. Viitattu 8.1.2023. (englanniksi)
4. ↑
5. ↑
6. ↑
7. ↑
8. ↑  Stable Diffusion *github.com*.  27.6.2023. Viitattu 27.6.2023. (englanniksi)
9. ↑
10. ↑
11. ↑  Generating images with Stable Diffusion *Paperspace Blog*.  24.8.2022. Viitattu 8.1.2023. (englanniksi)
12. ↑  Denoising Diffusion Probabilistic Models (.pdf) *arxiv.org*.  (englanniksi)
13. ↑  Andy Baio: Exploring 12 Million of the 2.3 Billion Images Used to Train Stable Diffusion's Image Generator *Waxy.org*.  30.8.2022. Viitattu 8.1.2023. (englanniksi)
14. ↑   *Twitter*.
15. ↑  CompVis/stable-diffusion-v1-4 · Hugging Face *huggingface.co*.
16. ↑  Kyle Wiggers: A startup wants to democratize the tech behind DALL-E 2, consequences be damned *TechCrunch*.  12.8.2022.  (englanniksi)
17. ↑  Anthony Mercurio: Waifu Diffusion *github.com*.  4.5.2023.
18. ↑  Anthony Mercurio: Waifu Diffusion *github.com*.  4.5.2023.
19. ↑  Stable Diffusion 2.0 Release *Stability AI*. Viitattu 8.1.2023. (englanniksi)

Aiheesta muualla
----------------

* Easy Diffusion -asennuspaketti
* Stability Matrix -asennus- ja päivityspaketti
* How to use models