Sisällysluettelo[Piilottaa][Näytä]
Viime vuosina generatiiviset mallit, joita kutsutaan "diffuusiomalleiksi", ovat tulleet yhä suositummiksi, ja hyvästä syystä.
Maailma on nähnyt, mihin diffuusiomallit pystyvät, kuten ylittävät GAN:t kuvasynteesissä, kiitos muutamien vain 2020- ja 2021-luvuilla julkaistujen maamerkkijulkaisujen.
Ammatinharjoittajat näkivät viimeksi diffuusiomallien käytön DALL-E2, OpenAI:n kuvanluontimalli, joka julkaistiin viime kuussa.
Monet koneoppimisen harjoittajat ovat epäilemättä uteliaita diffuusiomallien sisäisestä toiminnasta, kun otetaan huomioon niiden viimeaikainen menestys.
Tässä viestissä tarkastelemme diffuusiomallien teoreettisia perusteita, niiden suunnittelua, etuja ja paljon muuta. Lähdetään.
Mikä on diffuusiomalli?
Aloitetaan selvittämällä, miksi tätä mallia kutsutaan diffuusiomalliksi.
Termodynamiikkaan liittyvää sanaa fysiikan tunneilla kutsutaan diffuusioksi. Järjestelmä ei ole tasapainossa, jos yhdessä paikassa on suuri pitoisuus materiaalia, kuten tuoksua.
Diffuusiota on tapahduttava, jotta järjestelmä pääsee tasapainoon. Tuoksun molekyylit leviävät koko järjestelmään suuremman pitoisuuden alueelta, jolloin järjestelmä on kauttaaltaan yhtenäinen.
Kaikki muuttuu lopulta homogeeniseksi diffuusion ansiosta.
Diffuusiomallit motivoivat tämä termodynaaminen epätasapainotila. Diffuusiomallit käyttävät Markovin ketjua, joka on muuttujien sarja, jossa kunkin muuttujan arvo riippuu edellisen tapahtuman tilasta.
Ottaessamme kuvaa lisäämme siihen peräkkäin tietyn määrän kohinaa koko eteenpäin diffuusiovaiheen ajan.
Kohinaisemman kuvan tallentamisen jälkeen jatkamme seuraavan kuvan luomista sarjaan lisäämällä lisäkohinaa.
Tämä menettely suoritetaan useita kertoja. Puhdas kohinakuva syntyy, kun tätä menetelmää toistetaan muutaman kerran.
Kuinka voimme sitten luoda kuvan tästä sotkuisesta kuvasta?
Diffuusioprosessi käännetään käyttämällä a neuroverkkomallien. Samoja verkkoja ja samoja painotuksia käytetään taaksepäin diffuusioprosessissa kuvan luomiseksi t:stä t-1:een.
Sen sijaan, että verkon antaisi ennakoida kuvaa, voidaan yrittää ennustaa jokaisessa vaiheessa kohinaa, joka on poistettava kuvasta tehtävän yksinkertaistamiseksi entisestään.
Missä tahansa skenaariossa, hermoverkkojen suunnittelu on valittava tavalla, joka säilyttää tietojen ulottuvuuden.
Sukella syvään diffuusiomalliin
Diffuusiomallin komponentit ovat eteenpäin suuntautuva prosessi (tunnetaan myös nimellä diffuusioprosessi), jossa data (usein kuva) kohinataan vähitellen, ja käänteinen prosessi (tunnetaan myös käänteisdiffuusioprosessina), jossa kohinaa syntyy. muunnetaan takaisin näytteeksi kohdejakaumasta.
Kun kohinataso on riittävän alhainen, voidaan käyttää ehdollisia Gaussia näytteenottoketjun siirtymät eteenpäin prosessissa. Eteenpäin suuntautuvan prosessin helppo parametrointi johtuu yhdistämällä tämä tieto Markovin oletukseen:
q(x1:T |x0) := YT t=1 q(xt|xt−1), q(xt|xt−1) := N (xt; p 1 − βtxt−1, βtI)
Tässä viisi….T on varianssiaikataulu (joko opittu tai kiinteä), joka varmistaa riittävän korkealle T:lle, että xT on käytännössä isotrooppinen Gaussin.
Päinvastainen prosessi on silloin, kun diffuusiomallin taikuutta tapahtuu. Malli oppii kääntämään tätä diffuusioprosessia koulutuksen aikana tuoreen datan tuottamiseksi. Malli oppii yhteisjakauman as (x0:T) tuloksena aloittamalla puhtaalla Gaussin kohinayhtälöllä
(xT):=N(xT,0,I).
pθ(x0:T ) := p(xT ) YT t=1 pθ(xt−1|xt), pθ(xt−1|xt) := N (xt−1; µθ (xt, t), Σθ( xt, t))
jossa Gaussin siirtymien ajasta riippuvat parametrit löydetään. Huomioi erityisesti, kuinka Markovin formulaatio toteaa, että tietty käänteisen diffuusion siirtymäjakauma riippuu yksinomaan aikaisemmasta aikavaiheesta (tai myöhemmästä aikavaiheesta riippuen siitä, miten sitä tarkastellaan):
pθ(xt−1|xt) := N (xt−1; µθ (xt, t), Σθ(xt, t))
Malliharjoittelu
Diffuusiomallin harjoittamiseen käytetään käänteistä Markovin mallia, joka maksimoi harjoitustietojen todennäköisyyden. Käytännössä harjoittelu on analoginen negatiivisen logaritmistodennäköisyyden vaihtelun ylärajan pienentämiseen.
E [− log pθ(x0)] ≤ Eq − log pθ(x0:T ) q(x1:T |x0) = Eq − log p(xT ) − X t≥1 log pθ(xt−1|xt) q (xt|xt−1) =: L
Mallit
Meidän on nyt päätettävä, kuinka diffuusiomallimme toteutetaan, kun olemme luoneet tavoitefunktiomme matemaattiset perusteet. Ainoa eteenpäinlähetyksessä tarvittava päätös on varianssiaikataulun määrittäminen, jonka arvot tyypillisesti nousevat proseduurin aikana.
Harkitsemme vahvasti Gaussin jakauman parametrisoinnin ja malliarkkitehtuurin käyttöä käänteisessä menettelyssä.
Suunnittelumme ainoa ehto on, että sekä tulolla että lähdöllä on samat mitat. Tämä korostaa diffuusiomallien tarjoamaa valtavaa vapautta.
Alla käsittelemme näitä vaihtoehtoja tarkemmin.
Eteenpäin prosessi
Meidän on toimitettava varoitusaikataulu suhteessa eteenpäin prosessiin. Asetimme ne nimenomaan ajasta riippuviksi vakioiksi ja jätimme huomiotta sen mahdollisuuden, että ne voidaan oppia. Kronologinen aikataulu alkaen
β1 = 10-4 - βT = 0.02.
Lt muuttuu vakioksi opittavien parametrien joukkoon nähden kiinteän varianssiaikataulun vuoksi, jolloin voimme jättää sen huomioimatta harjoituksen aikana valituista arvoista riippumatta.
Käänteinen prosessi
Käymme nyt läpi päätökset, joita tarvitaan käänteisen prosessin määrittelemiseksi. Muista, kuinka kuvailimme käänteisiä Markovin siirtymiä Gaussisina:
pθ(xt−1|xt) := N (xt−1; µθ (xt, t), Σθ(xt, t))
Nyt kun olemme tunnistaneet toiminnalliset tyypit. Huolimatta siitä, että parametrointiin on monimutkaisempia tekniikoita, asetimme vain
Σθ(xt, t) = σ 2 t I
σ 2 t = βt
Toisin sanoen, pidämme monimuuttujan Gaussin tuloksena erillisistä Gausseista, joilla on sama varianssi, varianssiarvo, joka voi vaihdella ajan myötä. Nämä poikkeamat on asetettu vastaamaan edelleenlähetysprosessipoikkeamien aikataulua.
Tämän uuden muotoilun seurauksena, meillä on:
pθ(xt−1|xt) := N (xt−1; µθ (xt, t), Σθ(xt, t)) :=N (xt−1; µθ (xt, t), σ2 t I)
Tämä johtaa alla näkyvään vaihtoehtoiseen tappiofunktioon, jonka kirjoittajat havaitsivat tuottavan johdonmukaisempaa koulutusta ja ylivoimaisia tuloksia:
Lyksinkertainen(θ) := Et,x0, h − θ( √ α¯tx0 + √ 1 − α¯t, t) 2
Kirjoittajat myös piirtävät yhteyksiä tämän diffuusiomallien ja Langevin-pohjaisten pisteetsovittavien generatiivisten mallien välillä. Kuten aaltopohjaisen kvanttifysiikan ja matriisipohjaisen kvanttimekaniikan riippumattoman ja rinnakkaisen kehityksen yhteydessä, joka paljasti kaksi vertailukelpoista samojen ilmiöiden muotoilua, näyttää siltä, että diffuusiomallit ja pistemäärään perustuvat mallit voivat olla saman kolikon kaksi puolta.
Verkkoarkkitehtuuri
Huolimatta siitä, että tiivistetty häviöfunktiomme pyrkii kouluttamaan mallia Σθ, emme ole vielä päättäneet tämän mallin arkkitehtuurista. Muista, että mallilla on yksinkertaisesti oltava samat tulo- ja lähtömitat.
Tämän rajoituksen vuoksi ei luultavasti ole odottamatonta, että U-Netin kaltaisia arkkitehtuureja käytetään usein kuvan diffuusiomallien luomiseen.
Käänteisen prosessin reitillä tehdään lukuisia muutoksia käytettäessä jatkuvia ehdollisia Gaussin jakaumia. Muista, että käänteisen menettelyn tavoitteena on luoda kuva, joka koostuu kokonaislukupikseliarvoista. Siksi on tarpeen määrittää diskreetit (log) todennäköisyydet jokaiselle potentiaaliselle pikseliarvolle kaikissa pikseleissä.
Tämä saavutetaan osoittamalla erillinen diskreetti dekooderi käänteisen diffuusioketjun viimeiselle siirtymälle. arvioida tietyn kuvan mahdollisuutta x0 tietty x1.
pθ(x0|x1) = YD i=1 Z δ+(xi 0 ) δ−(xi 0 ) N (x; µ i θ (x1, 1), σ2 1 ) dx
δ+(x) = ∞ jos x = 1 x + 1 255 jos x < 1 δ−(x) = −∞ jos x = −1 x − 1 255 jos x > −1
jossa yläindeksi I tarkoittaa yhden koordinaatin poimimista ja D tarkoittaa dimensioiden lukumäärää tiedossa.
Tavoitteena tässä vaiheessa on määrittää kunkin kokonaisluvun todennäköisyys tietylle pikselille, kun otetaan huomioon kyseisen pikselin potentiaalisten arvojen jakautuminen ajassa muuttuvassa t = 1.
Lopullinen tavoite
Tiedemiesten mukaan suurimmat tulokset saatiin ennustamalla kuvan kohinakomponentti tietyllä aikavälillä. Lopulta heillä on seuraava tavoite:
Lyksinkertainen(θ) := Et,x0, h − θ( √ α¯tx0 + √ 1 − α¯t, t) 2
Seuraavassa kuvassa diffuusiomallimme koulutus- ja näytteenottomenettelyt on kuvattu ytimekkäästi:
Diffuusiomallin edut
Kuten jo todettiin, diffuusiomallien tutkimuksen määrä on moninkertaistunut viime aikoina. Diffuusiomallit tarjoavat nyt huippuluokan kuvanlaadun, ja ne ovat saaneet vaikutteita epätasapainoisesta termodynamiikasta.
Diffuusiomallit tarjoavat monia muita etuja huippuluokan kuvanlaadun lisäksi, kuten ne eivät vaadi vastustajakoulutusta.
Taisteluharjoittelun haitat ovat laajalti tiedossa, joten usein on parempi valita ei-taisteluvaihtoehtoja, joilla on sama suorituskyky ja koulutustehokkuus.
Diffuusiomallit tarjoavat myös skaalautuvuuden ja rinnakkaisettävyyden edut koulutuksen tehokkuuden kannalta.
Vaikka diffuusiomallit näyttävät tuottavan tuloksia näennäisesti tyhjästä, näiden tulosten perustana on useita harkittuja ja mielenkiintoisia matemaattisia päätöksiä ja hienouksia, ja alan parhaita käytäntöjä kehitetään edelleen.
Yhteenveto
Yhteenvetona voidaan todeta, että tutkijat osoittavat korkealaatuisia kuvasynteesilöydöksiä käyttämällä diffuusiotodennäköisyysmalleja, luokkaa piileviä muuttujamalleja, jotka ovat motivoituneita epätasapainoisen termodynamiikan ideoista.
He ovat saavuttaneet valtavia asioita huippuluokan tulostensa ja ei-taistelunsa ansiosta, ja heidän lapsenkengänsä huomioon ottaen tulevina vuosina voidaan odottaa lisää edistysaskeleita.
Erityisesti on havaittu, että diffuusiomallit ovat ratkaisevan tärkeitä kehittyneiden mallien, kuten DALL-E 2:n, toimivuudelle.
Tässä pääset käsiksi koko tutkimukseen.
Jätä vastaus