En Variasjonell Autoencoder (VAE) kan forstås som en modell som estimerer en sannsynlighetsfordeling med forventningsverdi definert av en funksjon g(Wz + μ). Denne funksjonen representerer i praksis en generativ prosess hvor latentvariablene z transformeres til observasjoner x gjennom dekoderen. For lineære nevroner med aktivisering g(a) = a, tilsvarer modellen en Probabilistisk Principal Component Analysis (PPCA). Treningen av en VAE skiller seg fra en vanlig autoencoder (AE) ved at man i tillegg til rekonstruksjonstapet også inkluderer en variational loss som straffer avviket til latentfordelingen q(z|x) fra en forhåndsdefinert prior, som oftest en standard normalfordeling N(0, I).

Under treningen søker man derfor å minimere både differansen mellom de rekonstruerte og originale dataene, samt en form for avstand mellom latentfordelingen og priorfordelingen. Dette sikrer at latentrommet har egenskaper som ligner en kjent fordeling, og gir samtidig en meningsfull struktur i det latente rommet som vist i eksempler som MNIST-datasettet, hvor latentfordelingen etter trening framstår som tilnærmet normalfordelt i alle retninger. En trent VAE kan deretter brukes generativt ved å trekke prøver fra priorfordelingen og dekode disse til datasamples.

Kjernebegrepene som ligger til grunn for VAE er knyttet til informasjonsteori og statistisk avstand mellom sannsynlighetsfordelinger, særlig Kullback–Leibler-divergens (KL-divergens). KL-divergensen måler forskjellen mellom to sannsynlighetsfordelinger, men er ikke en symmetrisk avstand. En symmetrisk variant, Jensen–Shannon-divergensen, kan også benyttes. Entropi og betinget entropi beskriver usikkerheten i en fordeling, mens gjensidig informasjon måler avhengigheten mellom to variabler.

I en VAE tolkes encoder som en tilnærming q(z|x) til den ukjente, men teoretisk veldefinerte, posteriorfordelingen p(z|x). Denne tilnærmingen kalles variational inference, hvor man søker å minimere KL-divergensen mellom q(z|x) og p(z|x). Siden den sanne posterioren ikke er kjent, introduseres en prior p(z) som en antagelse om latentvariablenes fordeling. Ofte brukes en fler-dimensjonal standard normalfordeling som prior, som gjør læringsreglene håndterbare og stabiliserer modellen.

Matematisk kobles disse ideene gjennom Bayes’ regel og uttrykkes ved relasjoner som binder sammen KL-divergensen mellom encoder og posterior, samt forventningsverdien av den logaritmiske sannsynligheten for data gitt latentvariabel. Denne koblingen fører til konseptet Free Energy, som har dype paralleller til termodynamikk. Free Energy er forskjellen mellom den forventede energien og entropien til systemet, og danner grunnlaget for læringsalgoritmer som kan sees på som prosesser som søker balanse mellom modellens kompleksitet og dataens forklaringsevne.

Log-likelihood for data kan deretter uttrykkes som summen av en KL-divergens og en forventet log-sannsynlighet, som ved fjerning av en ikke-negativ KL-term gir et nedre estimat kalt Evidence Lower Bound (ELBO). ELBO er den funksjonen som optimaliseres i VAE, og dens beregning er mulig gjennom stokastiske tilnærminger. Dette gjør VAE til et kraftfullt rammeverk for generative modeller, som kan trenes effektivt og tolkes i lys av både statistikk og informasjonsteori.

Viktige elementer som leseren bør være bevisst på utover det rent matematiske er antakelsene bak priorfordelingen og konsekvensene av disse for modellens kapasitet til å fange kompleksiteten i data. Priorens form og parametrisering påvirker latentrommets struktur, og dermed modellens evne til å generalisere og generere realistiske prøver. Videre er forståelsen av KL-divergens som en asymmetrisk mål på avstand essensiell for å kunne tolke læringsdynamikken i VAE, spesielt hvordan variational loss balanserer mellom å tilpasse latentfordelingen til data og samtidig holde den nær prioren. Forståelsen av ELBO som et kompromiss mellom modellens forklaringskraft og kompleksitet er også kritisk for å bedømme kvaliteten på det trente generative systemet. I tillegg bør man være klar over de praktiske implikasjonene av variational inference, der tilnærminger og forenklinger av posterior kan påvirke resultatet, og at dette fortsatt er et aktivt forskningsfelt.

Hvordan fungerer Variasjonell Autoencoder (VAE) og dens optimalisering?

I maskinlæring møter vi ofte problemstillinger hvor data i den virkelige verden er fordelt etter en ukjent sannsynlighetsfordeling p(x)p(x). For å modellere slike data antar vi at det finnes en latent underliggende modell som beskriver dataene, uttrykt som p(x,z)p(x, z), hvor zz representerer latente variabler. Problemet blir da å lære denne modellen, men siden direkte estimering av p(x,z)p(x, z) ofte er uoverkommelig, introduserer vi en mer håndterbar fordeling q(x,z)q(x, z). Denne estimeres effektivt gjennom optimalisering, for eksempel ved hjelp av gradientbaserte metoder som gradient descent implementert med nevrale nettverk.

Optimaliseringskriteriet som benyttes, er Evidence Lower Bound (ELBO), formulert som:

ELBO=Eq(zx)[logp(xz)]KL(q(zx)p(z))\text{ELBO} = \mathbb{E}_{q(z|x)}[\log p(x|z)] - \mathrm{KL}(q(z|x) \| p(z))

Her har vi to hovedkomponenter. Den første, Eq(zx)[logp(xz)]\mathbb{E}_{q(z|x)}[\log p(x|z)], er forventet log-sannsynlighet for data gitt latente variabler og kan sees som dekoderen i VAE. Den andre komponenten, KL-divergens KL(q(zx)p(z))\mathrm{KL}(q(z|x) \| p(z)), måler avstanden mellom fordelingen som koder latente variabler q(zx)q(z|x) og en antatt fordeling p(z)p(z), kalt prioren.

Treningen av VAE innebærer dermed to sammenkoblede oppgaver: (1) Maksimere sannsynligheten for observerte data rekonstruert fra latente representasjoner, og (2) Minimere KL-divergensen mellom kodens latente fordeling og den antatte prioren. Dette balanserer modellens evne til å forklare dataene samtidig som latente variabler ikke avviker for mye fra forventede egenskaper, en prosess som ofte omtales som variational prinsipp for generative modeller. ELBO kan også tolkes som variational fri energi, et sentralt begrep i statistisk fysikk og maskinlæring.

For å gjøre denne optimaliseringen praktisk mulig i nevrale nettverk, benyttes "reparametriseringstrikset". I stedet for å prøve å differensiere gjennom en stokastisk prøvetaking, representeres latente variabler zz som en deterministisk funksjon av en normalfordelt støyvariabel ϵN(0,I)\epsilon \sim \mathcal{N}(0, I), hvor z=μ+σϵz = \mu + \sigma \epsilon. Her er μ\mu og σ\sigma parametere som nettverket lærer. Denne tilnærmingen muliggjør effektiv bakpropagering og treningen av både encoder og decoder som separate nevrale nettverk.

Den matematiske formuleringen av KL-divergensen mellom to Gaussfordelinger, en N(μ,σ2)\mathcal{N}(\mu, \sigma^2) og en standard normalfordeling N(0,1)\mathcal{N}(0,1), gir en lukket formel som uttrykkes gjennom parametrene μ\mu og σ\sigma. Dette utgjør en del av tapsfunksjonen som optimaliseres under trening. Encoder-nettverket tar inn data xx og kartlegger det til latente representasjoner zz ved hjelp av fullt tilkoblede lag som estimerer μ\mu og σ\sigma. Decoder-nettverket rekonstruerer deretter data x^\hat{x} fra zz.

For rekonstruksjonsfeilen benyttes gjerne kryssentropi eller et kvadratisk tap som tilnærming av log-sannsynligheten for data gitt latente variabler, som i tilfelle av en Gaussian antagelse for p(xz)p(x|z) tilsvarer en gjennomsnittlig Euclidsk avstand mellom originale data og rekonstruerte verdier.

Videre kan man beskrive variational encoder-decoder strukturens underliggende sannsynlighetsmodeller med to alternative fellesfordelinger: en som kombinerer den reelle datafordelingen p(x)p(x) med encoderens betingede fordeling q(zx)q(z|x), og en annen som kombinerer decoderens betingede fordeling p(xz)p(x|z) med den latente fordelingen q(z)q(z). Når disse likestilles, uttrykkes gjensidig informasjon mellom data og latente variabler gjennom disse fordelingene, og ELBO-optimaliseringen korresponderer med en balanse mellom kodingskapasitet og rekonstruksjonsnøyaktighet.

I praksis implementeres VAE gjerne som multilags perceptron-nettverk eller dype konvolusjonsnettverk, avhengig av kompleksiteten i dataene. Et klassisk eksempel er treningen på Fashion-MNIST datasett, hvor bilder med dimensjon 28x28 piksel konverteres til vektorform og mates inn i et VAE-nettverk med latent dimensjon zz mindre enn inputdimensjonen, for å oppnå en effektiv komprimering og generativ modell.

Det er essensielt å forstå at ELBO er en sammensatt objektiv funksjon som balanserer modellens evne til både å fange underliggende strukturer i dataene (gjennom latente variabler) og å generere realistiske rekonstruksjoner. VAE skiller seg fra tradisjonelle autoenkodere ved at latente variabler modelleres som stokastiske variabler med en antatt sannsynlighetsforde

Hvordan fungerer Generative Adversarial Networks (GANs) og deres læringsprosess?

Generative Adversarial Networks, eller GANs, kan forstås som et spill mellom to aktører: en generator og en diskriminator. Forestill deg en eier som ønsker å forbedre sine tegneferdigheter slik at katten ikke klarer å skille mellom ekte fisk og en tegnet fisk. Samtidig utvikler katten evnen til å bli mer kresen og gjenkjenne subtilitetene som skiller ekte fisk fra tegninger. Denne iterative konkurransen fortsetter inntil eieren har blitt så dyktig til å tegne at katten ikke lenger kan skille ekte fisk fra falske. Da oppstår en form for likevekt der generatoren har lært å lage svært realistiske prøver, mens diskriminatoren sliter med å avgjøre hva som er ekte.

I tekniske termer er GANs bygget opp av to nevrale nettverk: en generator (G) og en diskriminator (D). Diskriminatoren er en binær klassifiserer som lærer å skille mellom ekte data og data generert av generatoren. Den returnerer verdien 1 for ekte data og 0 for falske, mens generatoren prøver å lure diskriminatoren ved å produsere stadig mer overbevisende data. Denne konkurransen modelleres som et min-max spill, hvor målet er å optimalisere funksjonen L(D,G), som består av to deler: sannsynligheten for at diskriminatoren korrekt identifiserer ekte data, og sannsynligheten for at den korrekt identifiserer falske data som falske.

Under treningen oppdateres både D og G vekselvis gjennom gradientbasert optimalisering. Når man oppdaterer diskriminatoren, brukes like mange eksempler fra ekte og generert data, mens når man oppdaterer generatoren, brukes kun genererte data, fordi gradienten bare involverer diskriminatorens respons på de genererte eksemplene.

En illustrasjon med en 1D Gaussisk distribusjon viser hvordan GANs lærer. I starten er både diskriminatoren og generatoren dårlig trent, og diskriminatoren kan gi feilaktige sannsynligheter. Etter hvert som treningen skrider frem, forbedres diskriminatoren, men generatoren er fortsatt ikke god nok til å etterligne den ekte datafordelingen. Til slutt når man en tilstand der begge er godt trent, og diskriminatoren tildeler sannsynligheter rundt 0,5 fordi den ikke kan skille ekte fra generert data. Denne balansen viser hvordan GANs effektivt lærer å modellere datafordelingen.

Det sentrale målet i en GAN er å lære datafordelingen pdata(x)p_{data}(x) ved å modellere en latent fordeling pz(z)p_z(z) gjennom generatoren, som skaper en ny fordeling pGp_G i datarommet. Optimal diskriminator for en gitt generator kan uttrykkes som D(x)=pdata(x)pdata(x)+pG(x)D^*(x) = \frac{p_{data}(x)}{p_{data}(x) + p_G(x)}, som intuitivt angir sannsynligheten for at et gitt datapunkt er ekte. Optimaliseringsmålet for GAN reduseres til å minimere avstanden mellom de to fordelingene, ofte uttrykt som summen av to KL-divergenser mellom data- og generatordistribusjonen og deres gjennomsnitt, med minimum når de to fordelinger er identiske.

En populær variant av GAN er Deep Convolutional GAN (DCGAN), som benytter konvolusjonslag i både generator og diskriminator for å bedre modellere bilder. Denne arkitekturen er kjent for å være effektiv til å generere realistiske bilder. For eksempel starter generatoren med et latent vektorinput som gjennom flere transponerte konvolusjonslag og batch-normalisering blir forvandlet til et fullverdig bilde. Denne fremgangsmåten har vist seg å akselerere treningen og forbedre kvaliteten på genererte bilder betraktelig.

For å forstå GANs fullstendige potensial, må man også ha innsikt i den matematiske bakgrunnen som forbinder sannsynlighetsfordelinger, optimal diskriminator og læringsdynamikken mellom generator og diskriminator. Dette inkluderer forståelse av begreper som latent rom, sannsynlighetsmål, kryssentropi, KL-divergens og min-max optimalisering.

Det er avgjørende å huske at GANs ikke bare handler om å skape overbevisende data, men også om å lære en modell som gjenspeiler den underliggende statistiske strukturen i treningsdataene. Modellen kan derfor anvendes ikke bare for generering, men også for oppgaver som sannsynlighetsmodellering og dataforståelse. Treningen av GANs kan være utfordrende, siden balansen mellom generator og diskriminator må opprettholdes nøye for å unngå problemer som mode collapse eller at en aktør blir for dominerende.

Hva lærer en diffusjonsmodell egentlig?

Når vi betrakter diffusjonsmodeller, spesielt i lys av deres teoretiske fundament, kommer vi til kjernen av en bemerkelsesverdig innsikt: hele prosessen kan reduseres til en rekonstruksjon eller prediksjon av en opprinnelig datastruktur fra en sekvens av stokastiske forstyrrelser. Den matematiske strukturen bak dette er KL-divergens, som i denne sammenheng måler hvor nært en parametrisert tilbakedistribusjon pθ(xt1xt)p_\theta(x_{t-1} | x_t) kommer den sanne fremoverdistribusjonen q(xt1,xtx0)q(x_{t-1}, x_t | x_0).

Gjennom en rekke omskrivninger av uttrykkene for KL-divergens, observerer vi hvordan forskjellen mellom de respektive forventningsverdiene (midlene) i disse distribusjonene reduseres til et kvadratisk avvik – en klassisk tapssum. I stedet for å modellere hele sannsynlighetsrommet, fokuserer man altså på å lære et nevralnettverk εθ(xt;t)\varepsilon_\theta(x_t; t), som direkte predikerer støyen ε0\varepsilon_0 brukt i datasyntesen. Dette forvandler læringsproblemet til en enkel regresjonsoppgave.

Det interessante her er at originaldataen x0x_0 ikke trenger å estimeres eksplisitt i selve modellen. I stedet modellerer vi støyen som ble brukt til å produsere xtx_t fra x0x_0. Siden denne støyen er kjent under treningen, gir dette en naturlig og stabil læringsmekanisme. Vi utnytter formelen:

xt=αˉtx0+1αˉtε0,x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \varepsilon_0,

og gjenoppbygger ε0\varepsilon_0 fra xtx_t via et trenbart nevralt nettverk. I praksis minimerer vi da et tap uttrykt som:

Lsimple(θ)=Et,x0,ε0εθ(xt;t)ε02.L_\text{simple}(\theta) = \mathbb{E}_{t,x_0,\varepsilon_0} \left\| \varepsilon_\theta(x_t; t) - \varepsilon_0 \right\|^2.

Dette tapet er bemerkelsesverdig effektivt, og danner grunnlaget for opplæringen av moderne generative modeller som Denoising Diffusion Probabilistic Models (DDPMs). Det vesentlige poenget er at vi, i stedet for å lære hele datastrukturen, lærer modellen til å avlære støyen. Med andre ord, å reversere en stokastisk prosess med gradvis økende entropi.

Denne innsikten gir også en direkte vei til forbedring av samplingseffektivitet. Det klassiske DDPM-rammeverket simulerer en lang Markov-kjede for å generere nye prøver. Dette er effektivt, men tregt. Her introduseres DDIM (Denoising Diffusion Implicit Models), som reformulerer hele genereringsprosessen som deterministisk. Gjennom en alternativ parameterisering av prosessen, der vi fortsatt trener på samme tap LsimpleL_\text{simple}, oppnår vi raskere og mer konsistente prøver ved å unngå støy under sampling.

Mens DDPMs baserer seg på Markov-antagelsen – at hvert trinn xtx_t kun avhenger av xt1x_{t-1} – bryter DDIM denne strukturen ved å la hvert trinn avhenge direkte også av det opprinnelige datasettet x0x_0. Dette gjør sampling prosedyren ikke bare deterministisk, men også mer fleksibel. Når stokastisitetsparameteren σt\sigma_t settes til null, får man en fullstendig deterministisk sampling, hvor det ikke introduseres noen ny støy under generering. Resultatet er en jevnere og raskere prosess, uten signifikant tap av kvalitet i de syntetiske dataene.

En ytterligere implikasjon er hvordan U-Net-arkitekturen spiller inn i dette rammeverket. Dens evne til å fange informasjon på flere oppløsningsnivåer og kombinere lokal og global kontekst gjør den ideell for oppgaven med støyfjerning i diffusjonsbaserte modeller. Det er derfor ikke tilfeldig at nettopp U-Net ble brukt av Dhariwal og Nichol i deres arbeid, og senere ble en standardkomponent i denne typen modeller.

Hva som er viktig å forstå for leseren, er at selv om formelen for KL-divergens virker kompleks, skjuler den en enkel sannhet: hele modellen er strukturert rundt å predikere kjent støy. Og ved å gjøre dette nøyaktig, rekonstruerer man hele det opprinnelige datagrunnlaget – ettersom det er eneste ukjente komponent. Videre gir fleksibiliteten i valg av samplingstrategi – fra fullstendig stokastisk til deterministisk – et kraftig verktøy for å balansere mellom diversitet og konsistens i genererte data.

Et viktig poeng å merke seg er at mens opplæringsprosessen fokuserer på nøyaktig støyrekonstruksjon, er det samplingprosessen – enten gjennom DDPM eller DDIM – som bestemmer hvordan modellen manifesterer sin forståelse av data. Dermed må både treningsregime og samplingdesign nøye koordineres for å oppnå optimal ytelse.