Diffusjonsmodellen beskrives gjennom en sekvens av stokastiske variabler xtx_t, hvor den fremovergående prosessen følger en Markov-kjede som uttrykkes ved overgangen q(xtxt1)q(x_t|x_{t-1}). Denne prosessen karakteriseres ved en variansplan {αt}\{\alpha_t\}, der hvert αt\alpha_t styrer mengden støy som tilføres ved hvert tidssteg. Modellen antar at støyen er Gaussisk med null gjennomsnitt og enhetlig kovarians, og ved å benytte en reparametrisering kan hvert steg i prosessen uttrykkes som

xt=αtxt1+1αtεt1x_t = \sqrt{\alpha_t} x_{t-1} + \sqrt{1 - \alpha_t} \varepsilon_{t-1}

der εt1\varepsilon_{t-1} er standard normal støy. Ved å iterere denne relasjonen får vi en eksplisitt formulering som knytter xtx_t direkte til x0x_0, nemlig

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

der αˉt=i=1tαi\bar{\alpha}_t = \prod_{i=1}^t \alpha_i. Denne uttrykksformen viser hvordan initialverdien gradvis «utvannes» med økende støy som funksjon av tt, og hvordan overgangsfordelingen q(xtx0)q(x_t|x_0) er en Gaussisk fordeling med kjent middelverdi og varians.

Det omvendte problemet, bakover-diffusjonen, handler om å rekonstruere en tidligere tilstand xt1x_{t-1} gitt en senere tilstand xtx_t. Denne prosessen er vesentlig for generative oppgaver hvor man ønsker å gå fra et sterkt støyet signal til et mer strukturert, opprinnelig eksempel. Selve bakoverfordelingen q(xt1xt)q(x_{t-1}|x_t) er analytisk vanskelig å utlede direkte, men ved å betinge på x0x_0 blir det mulig å skrive

q(xt1xt,x0)=N(xt1μq(xt,x0),Σq(t)),q(x_{t-1}|x_t, x_0) = \mathcal{N}(x_{t-1} | \mu_q(x_t, x_0), \Sigma_q(t)),

hvor μq\mu_q og Σq\Sigma_q kan utledes ved fullføring av kvadrater og utnyttelse av egenskapene til lineære Gaussiske modeller. Variansen Σq(t)\Sigma_q(t) avhenger kun av tt og variansplanen, og middelet μq\mu_q er en lineær kombinasjon av xtx_t og x0x_0, noe som gjenspeiler den lineære strukturen i prosessen.

I praksis modelleres bakover-prosessen ved en parametrisk fordeling pθ(xt1xt)p_\theta(x_{t-1}|x_t) med kjent kovarians Σq(t)\Sigma_q(t) og et gjennomsnitt μθ(xt;t)\mu_\theta(x_t; t) som estimeres ved et nevralt nettverk. Dette nettverket trenes ved maksimalisering av en variansavgrensning (ELBO), som består av en rekonstruksjonsterm og flere KL-divergenser. Variansavgrensningen inkluderer blant annet en KL-divergens mellom den eksakte bakoverfordelingen q(xt1xt,x0)q(x_{t-1}|x_t, x_0) og modellens anslag pθ(xt1xt)p_\theta(x_{t-1}|x_t).

Et viktig teoretisk verktøy i denne sammenheng er den lukkede formen for KL-divergensen mellom to Gaussiske fordelinger med samme kovarians, som kan uttrykkes eksplisitt gjennom forskjellen i middelverdier og kovariansmatriser. Dette muliggjør effektiv trening av modellen ved gradientbaserte metoder.

Modellen bygger dermed på en sammenveving av stokastiske prosesser, lineær algebra og variansinferens, som til sammen gir et kraftig rammeverk for generativ modellering. En dyp forståelse av både fremover- og bakover-diffusjonsprosessen, samt deres probabilistiske karakter, er essensielt for videre arbeid med diffusjonsmodeller.

Det er viktig å merke seg at valget av variansplan {αt}\{\alpha_t\} har betydelig innvirkning på modellens ytelse og stabilitet. Selv om αt\alpha_t ofte settes på forhånd, kan også læring av denne planen forbedre resultatene. Videre innebærer antagelsen om at bakover-prosessen er Gaussisk med kjent kovarians en tilnærming som forenkler treningen, men samtidig introduserer et kompromiss i modellens nøyaktighet. Derfor må man være oppmerksom på at diffusjonsmodellen i praksis er en tilnærming til en ideell, men analytisk uoverkommelig, sannsynlighetsfordeling.

Den underliggende markov-antakelsen, som sikrer at q(xtxt1,,x0)=q(xtxt1)q(x_t|x_{t-1}, \dots, x_0) = q(x_t|x_{t-1}), spiller en avgjørende rolle i at modellens komplekse høy-dimensjonale dynamikk kan dekomponeres i en serie enklere overganger. Dette muliggjør effektiv sampling og treningsalgoritmer som ellers ville vært urealistiske.

I tillegg til teoretisk innsikt er det essensielt å forstå hvordan denne rammeverket kan anvendes i praksis, blant annet ved implementasjon av nevrale nettverk for estimasjon av bakovermidler, valg av egnede tapsfunksjoner og evaluering av genererte prøver. Videre kan man undersøke sammenhengen mellom diffusjonsmodeller og andre generative modeller som normaliseringsflyter og variational autoencodere, og hvordan kombinasjoner av disse kan lede til forbedrede resultater.

Hva er Neural Tangent Kernel og hvorfor er det viktig for nevrale nettverk?

Neural Tangent Kernel (NTK) representerer et sentralt konsept i forståelsen av hvordan nevrale nettverk oppfører seg, særlig når nettverkene blir ekstremt brede. I motsetning til tidligere tilnærminger som betraktet nevrale nettverk som Gaussian Processes (GP) på grunn av sentralgrenseteoremet, fokuserer NTK på korrelasjonen mellom gradientene til nettverkets output med hensyn til parametrene, gitt et par inputverdier. Formelt uttrykkes NTK som produktet av gradientene til nettverksfunksjonen f(x; θ) med hensyn til parametrene θ for to forskjellige input x og x′.

For å intuitivt forstå relevansen av NTK, kan vi sammenligne med en lineær kernel-regresjonsmodell. Der er kernelfunksjonen simpelthen produktet av funksjonsrepresentasjonene av inputene. I tilfelle lineær regresjon kan denne funksjonen også uttrykkes som gradienten til modellens output med hensyn til parametrene. På denne måten er NTK en naturlig generalisering av den lineære kernel til nevrale nettverk.

Ved trening av nevrale nettverk med gradient descent kan parameteroppdateringene betraktes som en kontinuerlig dynamikk i parameterrommet. Dette leder til at endringen i nettverksoutput over tid kan uttrykkes som en differensialligning hvor NTK-matrisen inngår som en dynamisk koeffisient. Det viktigste resultatet her er at i grensetilfellet med uendelig bredde, konvergerer NTK til en tiduavhengig matrise K*, som styrer hele læringsdynamikken. Dermed kan nettverkets output over tid uttrykkes som en eksponentiell av funksjonen til K*, som sikrer at output konvergerer mot treningsmålene.

Selve utledningen av NTK bygger på backpropagation, der gradientene til nettverksoutput med hensyn til parametrene i hvert lag uttrykkes ved hjelp av delvis deriverte av aktiveringsfunksjoner og vekter. Ved å definere rekursive uttrykk for disse gradientvektorene, kan man systematisk kalkulere NTK som en sum av indre produkter mellom gradienter og funksjonsrepresentasjoner i ulike lag. Dette knytter sammen den geometriske strukturen i parameterrommet med nettverksarkitekturens lagvise oppbygning.

NTK er ikke bare en matematisk kuriositet, men har dyp betydning for å forstå hvorfor og hvordan nevrale nettverk generaliserer og lærer effektivt. Siden NTK-matrisen i praksis bestemmer læringshastigheten og stabiliteten til nettverket, kan innsikt i dens egenskaper gi retningslinjer for arkitekturdesign, valg av aktiveringsfunksjoner og initialisering.

Det er vesentlig å forstå at selv om NTK nærmer seg en konstant i grensetilfellet uendelig bredde, vil reelle nevrale nettverk med begrenset bredde kunne vise tidsvariasjoner i NTK, noe som påvirker treningsdynamikken. Likevel gir analysen av det asymptotiske tilfellet et verdifullt idealbilde som gjør komplekse nevrale nettverk matematisk tilgjengelige.

En annen viktig dimensjon er hvordan NTK knytter sammen kernel-metoder og dype nevrale nettverk, og slik kan gi et teoretisk fundament for å kombinere fordelene ved begge tilnærminger. For leseren er det derfor kritisk å ikke bare forstå definisjonen og utledningen av NTK, men også implikasjonene for læring, generalisering og arkitekturvalg i praktisk maskinlæring.

Det bør også bemerkes at NTK er nært knyttet til gradientenes struktur og aktiveringsfunksjonenes deriverte, noe som understreker betydningen av valg av aktiveringsfunksjoner og vektenes initialisering for nettverks oppførsel og læring.

Hvordan forbedrer Batch Normalization, Dropout og tidlig stopp læringsprosessen i nevrale nettverk?

Batch Normalization (BN) og Dropout er to sentrale teknikker for å forbedre treningen av nevrale nettverk, spesielt med hensyn til generaliseringsevne og stabilitet. BatchNorm1d brukes når input er én-dimensjonale vektorer, som for eksempel i fullt tilkoblede lag, mens BatchNorm2d benyttes for to-dimensjonale input som bilder. Formålet med batch normalisering er å standardisere input til hvert lag i nettverket under treningen, noe som bidrar til raskere konvergens og stabilisering av læringsprosessen.

Dropout fungerer ved å tilfeldig sette noen aktiveringer i laget til null med en sannsynlighet p under trening. Dette betyr at hvert nevron bare er til stede med sannsynlighet 1-p i treningsfasen, mens alle nevroner er aktive i testfasen, men vektene skaleres for å kompensere for dette. Denne mekanismen kan betraktes som en form for modellgjennomsnitt, hvor nettverket lærer å forutsi ved å ta hensyn til flere mulige delnettverk. Dermed reduseres risikoen for overtilpasning og modellens robusthet overfor støy og ukjent data økes.

I PyTorch kan Dropout implementeres som et lag og enkelt kombineres med andre lag i nettverket. Det er viktig å spesifisere dropout-sannsynligheten, men om dette utelates, benyttes vanligvis p=0.5 som standard. Dropout bidrar altså til å forhindre overtrening ved å tilføre stokastisitet og tvinge modellen til å ikke bli for avhengig av enkelte nevroner.

Tidlig stopp (early stopping) er en annen effektiv metode for å forhindre overfitting. Ved å følge valideringstapet under trening, kan man stoppe treningen når dette tapet begynner å øke, selv om treningstapet fortsatt synker. Dette sikrer at modellen ikke trenes så mye at den bare tilpasser seg treningsdataene og mister evnen til å generalisere til nye data. Tidlig stopp krever kontinuerlig overvåkning av valideringsytelsen og lagring av modellen med beste valideringsresultat.

I tillegg til disse teknikkene er det vanlig å bruke regulering som L2-regularisering, som legger til en straff for store parametre i tapfunksjonen. Dette kan også tolkes som å justere læringsprosessen for å holde parameterne innenfor visse grenser, noe som kan forbedre generaliseringsevnen.

Nevrale nettverk har en bemerkelsesverdig evne til å tilnærme enhver kontinuerlig funksjon, noe som forklares gjennom deres uttrykksevne (expressivity). Bruken av aktiveringsfunksjoner som Sign-funksjonen illustrerer hvordan nettverket kan dele opp inputrommet i regioner definert av hyperplan, der hvert lag bidrar til å bygge mer komplekse funksjoner ved å kombinere enklere indikatorfunksjoner. For eksempel kan et enkelt nevralt nettverk med to lag representere en indikatorfunksjon for et polygon ved å kombinere indikatorer for hver side av polygonet. Dette viser hvordan sammensetning av lineære separasjoner kan skape svært fleksible funksjonsklasser, og er kjernen i hvorfor nevrale nettverk fungerer så effektivt i mange komplekse oppgaver.

Det er viktig å forstå at disse metodene—batch normalisering, dropout, tidlig stopp og regulering—ikke bare forbedrer treningens hastighet eller stabilitet, men også har dyp innvirkning på modellens evne til å generalisere til ny data. Sammen bidrar de til å redusere modellens sårbarhet for overtilpasning og sikrer at læringen ikke bare blir en reproduksjon av treningssettet, men et reelt grep om underliggende mønstre.

Å kombinere disse teknikkene krever forståelse av hvordan de påvirker hverandre under trening. For eksempel kan dropout øke behovet for lengre treningstid, mens batch normalisering ofte gjør treningen mer robust og tillater høyere læringshastigheter. Tidlig stopp krever på sin side en nøyaktig monitorering av valideringsfeil for å finne balansen mellom under- og overtrening.

Hvordan kan nevrale nettverk approximere komplekse funksjoner og hvorfor konvergerer gradient descent?

Universell approksimasjonsteoremet beskriver den bemerkelsesverdige egenskapen til fullstendig tilkoblede nevrale nettverk: enhver kontinuerlig funksjon fra et lukket og begrenset område i ℝⁿ til ℝ kan tilnærmes arbitrært godt. Selv om den generelle bevisføringen krever avanserte matematiske verktøy, forenkles situasjonen betydelig når man begrenser seg til Lipschitz-kontinuerlige funksjoner. En slik funksjon oppfyller en betingelse om at forskjellen i funksjonsverdier mellom to punkter ikke overstiger et konstant multiplisert med avstanden mellom punktene.

Denne innsikten gir en intuitiv tilnærming til hvordan et nevralt nettverk kan konstrueres for å approximere en Lipschitz-kontinuerlig funksjon: Man deler det opprinnelige området inn i mange små regioner hvor funksjonen er tilnærmet konstant. For hver region kan man definere en indikatorfunksjon som «slår på» nettverket i den regionen, multiplisert med den tilnærmede funksjonsverdien i området. Summen av disse delvis overlappende nettverkene gir til slutt en god approksimasjon av funksjonen over hele domenet.

Når det gjelder optimering av nevrale nettverk, er gradient descent et fundamentalt verktøy. Metoden bygger på ideen om å justere parametrene i retning motsatt av gradienten for å minske verdien på en tapsfunksjon. En førsteordens Taylor-tilnærming forklarer hvorfor dette alltid fører til en nedgang i funksjonsverdien, så lenge læringsraten er tilstrekkelig liten og positiv. Mer formelt kan man ved å anta en øvre grense for Hessian-matriksens egenverdier påvise at en passende valgt læringsrate garanterer nedgang i tapsfunksjonen etter hvert trinn.

Konvergensen av gradient descent kan analyseres under ulike betingelser. Dersom tapsfunksjonen er sterkt konveks, det vil si at Hessian-matrisen har en positiv nedre grense på egenverdiene, oppnås en lineær konvergensrate. Det innebærer at differansen mellom funksjonsverdien ved iterasjon t og minimum avtar eksponentielt med antall steg. For rent konvekse funksjoner, uten sterk konveksitet, avtar denne differansen i stedet med en rate på om lag 1/t, hvilket er langsommere men fortsatt garanterer fremgang.

I praksis brukes ofte stokastisk gradient descent (SGD) som estimerer gradienten på bakgrunn av et delsett av data. Selv om konvergensraten kan avvike noe, spesielt i støyete omgivelser, finnes det teoretiske resultater som under visse betingelser viser at SGD konvergerer med en rate på O(1/√t).

Et praktisk problem med standard gradient descent er at oppdateringene kan følge et sikksakk-mønster, særlig når funksjonens landskap er sterkt anisotropisk. Dette reduserer effektiviteten i konvergensen. Momentum-metoder løser dette ved å inkorporere en form for treghet i oppdateringsretningen, hvor tidligere gradienter delvis bestemmer retningen i neste steg. Slik glattes oppdateringene ut og gir raskere framgang mot minimum. Et kjent eksempel er Nesterovs akselerasjon, som legger til et ekstra korreksjonsledd i beregningen av oppdateringen.

Det er også viktig å forstå hvordan valg av læringsrate, form på tapsfunksjonen og initialisering av parametere påvirker både hastigheten og kvaliteten på konvergensen. I reelle nevrale nettverk kan ikke de sterke konveksitetsbetingelsene alltid garanteres, noe som gjør forståelsen av disse prinsippene avgjørende for vellykket trening.

Videre er det sentralt å merke seg at nevrale nettverk, til tross for teoretiske universalitetsresultater, i praksis har begrensninger knyttet til nettverksarkitektur, datakvalitet og treningsalgoritmer. Forståelsen av både aproksimasjonsevne og optimeringsdynamikk gir derfor et fundament for å designe effektive og robuste læringssystemer.