Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Diffusjonsmodeller og Probabilistiske Generative Tilnærminger | Teoretiske Grunnlag
Generativ KI

bookDiffusjonsmodeller og Probabilistiske Generative Tilnærminger

Forståelse av diffusjonsbasert generering

Diffusjonsmodeller er en kraftig type AI-modell som genererer data – spesielt bilder – ved å lære hvordan man reverserer en prosess med å legge til tilfeldig støy. Tenk deg å se et klart bilde gradvis bli uklart, som statisk på en TV. En diffusjonsmodell lærer å gjøre det motsatte: den tar støyende bilder og rekonstruerer det opprinnelige bildet ved å fjerne støy trinn for trinn.

Prosessen involverer to hovedfaser:

  • Fremoverprosess (diffusjon): legger gradvis til tilfeldig støy på et bilde over mange trinn, og ødelegger det til ren støy;
  • Omvendt prosess (avstøying): et nevralt nettverk lærer å fjerne støyen trinn for trinn, og rekonstruerer det opprinnelige bildet fra den støyende versjonen.

Diffusjonsmodeller er kjent for sin evne til å produsere bilder av høy kvalitet og realisme. Treningsprosessen er vanligvis mer stabil sammenlignet med modeller som GANs, noe som gjør dem svært attraktive innen moderne generativ AI.

Denoising Diffusion Probabilistic Models (DDPMs)

Denoising diffusion probabilistic models (DDPMs) er en populær type diffusjonsmodell som benytter probabilistiske prinsipper og dyp læring for å fjerne støy fra bilder på en trinnvis måte.

Fremoverprosess

I fremoverprosessen starter vi med et ekte bilde x0x_0 og legger gradvis til Gaussisk støy over TT tidsskritt:

q(xtxt1)=N(xt;1βtxt1,βtI)q(x_t|x_{t-1})= \mathcal{N}(x_t;\sqrt{1-\beta_t}x_{t-1},\beta_tI)

Hvor:

  • xtx_t: støyet versjon av input ved tidsskritt;
  • βt\beta_t: liten variansplan som styrer hvor mye støy som legges til;
  • N\mathcal{N}: Gaussisk fordeling.

Den totale støyen som er lagt til frem til steg kan også uttrykkes som:

q(xtx0)=N(xt;αˉtx0,(1αˉt)I)q(x_t|x_0)= \mathcal{N}(x_t;\sqrt{\={\alpha}_t}x_0,(1-\={\alpha}_t)I)

Hvor:

  • αˉt=s=1t(1βs)\=\alpha_t=\prod_{s=1}^t(1-\beta_s)

Omvendt prosess

Målet med modellen er å lære den omvendte prosessen. Et nevralt nettverk parameterisert av θ\theta predikerer gjennomsnitt og varians for den avstøyede fordelingen:

pθ(xt1xt)=N(xt1;μθ(xt,t),Σθ(xt,t))p_\theta(x_{t-1}|x_t) = \mathcal{N}(x_{t-1};\mu_\theta(x_t,t), \Sigma_\theta(x_t,t))

hvor:

  • xtx_t: støybilde ved tidsskritt tt;
  • xt1x_{t-1}: predikert mindre støybilde ved steg t1t-1;
  • μθ\mu_\theta: predikert gjennomsnitt fra det nevrale nettverket;
  • Σθ\Sigma_\theta: predikert varians fra det nevrale nettverket.

Tapfunksjon

Opplæring innebærer å minimere forskjellen mellom faktisk støy og modellens predikerte støy ved å bruke følgende mål:

Lsimple=Ex0,ϵ,t[ϵϵ0(αˉtx0+1αˉtϵ,t)2]L_{simple} = \mathbb{E}_{x_0, \epsilon, t} \left[ ||\epsilon - \epsilon_0 \left( \sqrt{\=\alpha_t}x_0 + \sqrt{1-\=\alpha_t}\epsilon, t \right)||^2 \right]

hvor:

  • xtx_t: opprinnelig inngangsbilde;
  • ϵ\epsilon: tilfeldig Gaussisk støy;
  • tt: tidsskritt under diffusjon;
  • ϵθ\epsilon_\theta: nevralt nettverks prediksjon av støy;
  • αˉt\={\alpha}_t: Produkt av støyplanens parametere opp til steg tt.

Dette hjelper modellen å bli bedre til å fjerne støy, og forbedrer dens evne til å generere realistiske data.

Score-basert generativ modellering

Score-baserte modeller er en annen klasse av diffusjonsmodeller. I stedet for å lære den omvendte støyprosessen direkte, lærer de score-funksjonen:

xlogp(x)\nabla_x\log{p(x)}

hvor:

  • xlogp(x)\nabla_x\log{p(x)}: gradienten til log-sannsynlighetstettheten med hensyn til inngangen xx. Denne peker i retning av økende sannsynlighet under datadistribusjonen;
  • p(x)p(x): sannsynlighetsfordelingen til dataene.

Denne funksjonen forteller modellen i hvilken retning bildet bør bevege seg for å bli mer lik ekte data. Disse modellene bruker deretter en samplingsmetode som Langevin-dynamikk for gradvis å flytte støyete data mot områder med høy sannsynlighet for data.

Score-baserte modeller arbeider ofte i kontinuerlig tid ved bruk av stokastiske differensialligninger (SDEer). Denne kontinuerlige tilnærmingen gir fleksibilitet og kan produsere høykvalitetsgenereringer på tvers av ulike datatyper.

Bruksområder innen høyoppløselig bildegenerering

Diffusjonsmodeller har revolusjonert generative oppgaver, spesielt innen høyoppløselig visuell generering. Fremtredende bruksområder inkluderer:

  • Stable Diffusion: en latent diffusjonsmodell som genererer bilder fra tekstbeskrivelser. Den kombinerer en U-Net-basert denoiseringsmodell med en varians-autokoder (VAE) for å operere i latent rom;
  • DALL·E 2: kombinerer CLIP-innbeddinger og diffusjonsbasert dekoding for å generere svært realistiske og semantiske bilder fra tekst;
  • MidJourney: En diffusjonsbasert bildegenereringsplattform kjent for å produsere høykvalitets, kunstnerisk stiliserte bilder fra abstrakte eller kreative beskrivelser.

Disse modellene brukes til kunstgenerering, fotorealistisk syntese, inpainting, superoppløsning og mer.

Sammendrag

Diffusjonsmodeller markerer en ny æra innen generativ modellering ved å behandle datagenerering som en stokastisk prosess i reversert tid. Gjennom DDPM-er og score-baserte modeller oppnår de robust trening, høy prøve-kvalitet og overbevisende resultater på tvers av ulike modaliteter. Deres forankring i sannsynlighets- og termodynamiske prinsipper gjør dem både matematisk elegante og praktisk kraftfulle.

1. Hva er hovedideen bak diffusjonsbaserte generative modeller?

2. Hva bruker DDPMs fremoverprosess for å legge til støy ved hvert steg?

3. Hvilket av følgende beskriver best rollen til score-funksjonen xlogp(x)\nabla_x\log{p(x)} i score-basert generativ modellering?

question mark

Hva er hovedideen bak diffusjonsbaserte generative modeller?

Select the correct answer

question mark

Hva bruker DDPMs fremoverprosess for å legge til støy ved hvert steg?

Select the correct answer

question mark

Hvilket av følgende beskriver best rollen til score-funksjonen xlogp(x)\nabla_x\log{p(x)} i score-basert generativ modellering?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 9

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 4.76

bookDiffusjonsmodeller og Probabilistiske Generative Tilnærminger

Sveip for å vise menyen

Forståelse av diffusjonsbasert generering

Diffusjonsmodeller er en kraftig type AI-modell som genererer data – spesielt bilder – ved å lære hvordan man reverserer en prosess med å legge til tilfeldig støy. Tenk deg å se et klart bilde gradvis bli uklart, som statisk på en TV. En diffusjonsmodell lærer å gjøre det motsatte: den tar støyende bilder og rekonstruerer det opprinnelige bildet ved å fjerne støy trinn for trinn.

Prosessen involverer to hovedfaser:

  • Fremoverprosess (diffusjon): legger gradvis til tilfeldig støy på et bilde over mange trinn, og ødelegger det til ren støy;
  • Omvendt prosess (avstøying): et nevralt nettverk lærer å fjerne støyen trinn for trinn, og rekonstruerer det opprinnelige bildet fra den støyende versjonen.

Diffusjonsmodeller er kjent for sin evne til å produsere bilder av høy kvalitet og realisme. Treningsprosessen er vanligvis mer stabil sammenlignet med modeller som GANs, noe som gjør dem svært attraktive innen moderne generativ AI.

Denoising Diffusion Probabilistic Models (DDPMs)

Denoising diffusion probabilistic models (DDPMs) er en populær type diffusjonsmodell som benytter probabilistiske prinsipper og dyp læring for å fjerne støy fra bilder på en trinnvis måte.

Fremoverprosess

I fremoverprosessen starter vi med et ekte bilde x0x_0 og legger gradvis til Gaussisk støy over TT tidsskritt:

q(xtxt1)=N(xt;1βtxt1,βtI)q(x_t|x_{t-1})= \mathcal{N}(x_t;\sqrt{1-\beta_t}x_{t-1},\beta_tI)

Hvor:

  • xtx_t: støyet versjon av input ved tidsskritt;
  • βt\beta_t: liten variansplan som styrer hvor mye støy som legges til;
  • N\mathcal{N}: Gaussisk fordeling.

Den totale støyen som er lagt til frem til steg kan også uttrykkes som:

q(xtx0)=N(xt;αˉtx0,(1αˉt)I)q(x_t|x_0)= \mathcal{N}(x_t;\sqrt{\={\alpha}_t}x_0,(1-\={\alpha}_t)I)

Hvor:

  • αˉt=s=1t(1βs)\=\alpha_t=\prod_{s=1}^t(1-\beta_s)

Omvendt prosess

Målet med modellen er å lære den omvendte prosessen. Et nevralt nettverk parameterisert av θ\theta predikerer gjennomsnitt og varians for den avstøyede fordelingen:

pθ(xt1xt)=N(xt1;μθ(xt,t),Σθ(xt,t))p_\theta(x_{t-1}|x_t) = \mathcal{N}(x_{t-1};\mu_\theta(x_t,t), \Sigma_\theta(x_t,t))

hvor:

  • xtx_t: støybilde ved tidsskritt tt;
  • xt1x_{t-1}: predikert mindre støybilde ved steg t1t-1;
  • μθ\mu_\theta: predikert gjennomsnitt fra det nevrale nettverket;
  • Σθ\Sigma_\theta: predikert varians fra det nevrale nettverket.

Tapfunksjon

Opplæring innebærer å minimere forskjellen mellom faktisk støy og modellens predikerte støy ved å bruke følgende mål:

Lsimple=Ex0,ϵ,t[ϵϵ0(αˉtx0+1αˉtϵ,t)2]L_{simple} = \mathbb{E}_{x_0, \epsilon, t} \left[ ||\epsilon - \epsilon_0 \left( \sqrt{\=\alpha_t}x_0 + \sqrt{1-\=\alpha_t}\epsilon, t \right)||^2 \right]

hvor:

  • xtx_t: opprinnelig inngangsbilde;
  • ϵ\epsilon: tilfeldig Gaussisk støy;
  • tt: tidsskritt under diffusjon;
  • ϵθ\epsilon_\theta: nevralt nettverks prediksjon av støy;
  • αˉt\={\alpha}_t: Produkt av støyplanens parametere opp til steg tt.

Dette hjelper modellen å bli bedre til å fjerne støy, og forbedrer dens evne til å generere realistiske data.

Score-basert generativ modellering

Score-baserte modeller er en annen klasse av diffusjonsmodeller. I stedet for å lære den omvendte støyprosessen direkte, lærer de score-funksjonen:

xlogp(x)\nabla_x\log{p(x)}

hvor:

  • xlogp(x)\nabla_x\log{p(x)}: gradienten til log-sannsynlighetstettheten med hensyn til inngangen xx. Denne peker i retning av økende sannsynlighet under datadistribusjonen;
  • p(x)p(x): sannsynlighetsfordelingen til dataene.

Denne funksjonen forteller modellen i hvilken retning bildet bør bevege seg for å bli mer lik ekte data. Disse modellene bruker deretter en samplingsmetode som Langevin-dynamikk for gradvis å flytte støyete data mot områder med høy sannsynlighet for data.

Score-baserte modeller arbeider ofte i kontinuerlig tid ved bruk av stokastiske differensialligninger (SDEer). Denne kontinuerlige tilnærmingen gir fleksibilitet og kan produsere høykvalitetsgenereringer på tvers av ulike datatyper.

Bruksområder innen høyoppløselig bildegenerering

Diffusjonsmodeller har revolusjonert generative oppgaver, spesielt innen høyoppløselig visuell generering. Fremtredende bruksområder inkluderer:

  • Stable Diffusion: en latent diffusjonsmodell som genererer bilder fra tekstbeskrivelser. Den kombinerer en U-Net-basert denoiseringsmodell med en varians-autokoder (VAE) for å operere i latent rom;
  • DALL·E 2: kombinerer CLIP-innbeddinger og diffusjonsbasert dekoding for å generere svært realistiske og semantiske bilder fra tekst;
  • MidJourney: En diffusjonsbasert bildegenereringsplattform kjent for å produsere høykvalitets, kunstnerisk stiliserte bilder fra abstrakte eller kreative beskrivelser.

Disse modellene brukes til kunstgenerering, fotorealistisk syntese, inpainting, superoppløsning og mer.

Sammendrag

Diffusjonsmodeller markerer en ny æra innen generativ modellering ved å behandle datagenerering som en stokastisk prosess i reversert tid. Gjennom DDPM-er og score-baserte modeller oppnår de robust trening, høy prøve-kvalitet og overbevisende resultater på tvers av ulike modaliteter. Deres forankring i sannsynlighets- og termodynamiske prinsipper gjør dem både matematisk elegante og praktisk kraftfulle.

1. Hva er hovedideen bak diffusjonsbaserte generative modeller?

2. Hva bruker DDPMs fremoverprosess for å legge til støy ved hvert steg?

3. Hvilket av følgende beskriver best rollen til score-funksjonen xlogp(x)\nabla_x\log{p(x)} i score-basert generativ modellering?

question mark

Hva er hovedideen bak diffusjonsbaserte generative modeller?

Select the correct answer

question mark

Hva bruker DDPMs fremoverprosess for å legge til støy ved hvert steg?

Select the correct answer

question mark

Hvilket av følgende beskriver best rollen til score-funksjonen xlogp(x)\nabla_x\log{p(x)} i score-basert generativ modellering?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 9
some-alt