Maskinlæring, nevrale nettverk, trening og inferens.
Kunstig intelligens – grunnlag
Kunstig intelligens (AI) er et av de mest transformative teknologiområdene i vår tid. Fra stemmeassistenter og bildegjenkjenning til selvkjørende biler og medisinsk diagnostikk — AI-systemer løser oppgaver som tidligere krevde menneskelig intelligens.
Men hva er egentlig kunstig intelligens, og hvordan «lærer» en maskin? I dette kapittelet skal vi utforske de grunnleggende prinsippene bak maskinlæring, forstå hvordan nevrale nettverk fungerer, og se hvordan trening og inferens utgjør de to hovedfasene i et AI-system.
Maskinlæring (ML) er en underkategori av AI der systemer lærer fra data i stedet for å bli eksplisitt programmert med regler. I stedet for å skrive «hvis piksel X er rød, er det et eple», gir vi algoritmen tusenvis av bilder merket som «eple» eller «ikke eple», og den finner selv mønstrene.
De tre hovedtypene maskinlæring:
- Veiledet læring (supervised learning): Modellen trenes på merket data — hvert datapunkt har et fasitsvar. Eksempler: bildeklassifisering, spamfilter, sykdomsdiagnostikk.
- Uveiledet læring (unsupervised learning): Modellen finner struktur i umerket data — ingen fasitsvar. Eksempler: kundesegmentering, anomalideteksjon, dimensjonsreduksjon.
- Forsterkningslæring (reinforcement learning): En agent lærer gjennom prøving og feiling i et miljø, og mottar belønning eller straff. Eksempler: spillende AI (AlphaGo), robotstyring, autonom navigasjon.
Fra regelbasert til læringsbasert AI
Tradisjonell programmering følger en deterministisk tilnærming: programmereren skriver eksplisitte regler som maskinen utfører. For å lage et spamfilter måtte man manuelt definere regler som «hvis e-posten inneholder 'gratis' og 'klikk her', merk som spam».
Maskinlæring snur denne prosessen:
| Tradisjonell programmering | Maskinlæring | |
|---|---|---|
| Input | Regler + data | Data + fasitsvar |
| Output | Svar | Lært modell (regler) |
| Prosess | Programmereren designer reglene | Algoritmen finner reglene |
Styrken til maskinlæring er at den kan oppdage subtile mønstre i enorme datamengder som mennesker aldri ville funnet manuelt. Svakheten er at den krever store mengder treningsdata og at de lærte mønstrene kan være vanskelige å tolke.
Hva er hovedforskjellen mellom veiledet og uveiledet maskinlæring?
- Inputlag: Mottar data (f.eks. pikselverdier i et bilde, ord i en tekst).
- Skjulte lag (hidden layers): Bearbeider informasjonen gjennom vektede koblinger. Hvert nevron beregner en vektet sum av sine inputer, legger til en bias, og sender resultatet gjennom en aktiveringsfunksjon (f.eks. ReLU, sigmoid).
- Outputlag: Gir det endelige svaret (f.eks. «katt» vs. «hund», eller en tallverdi).
Matematisk gjør hvert nevron følgende beregning:
der er inputverdiene, er vektene (styrken på koblingene), er bias (en justerbar terskelverdi), og er aktiveringsfunksjonen som introduserer ikke-linearitet — noe som gjør at nettverket kan lære komplekse mønstre i stedet for bare lineære sammenhenger.
Deep learning — dype nevrale nettverk
Deep learning er maskinlæring med nevrale nettverk som har mange skjulte lag — typisk fra 3–4 til hundrevis. Hvert lag lærer stadig mer abstrakte representasjoner av dataene:
I et bildegjenkjenningsnettverk:
- Lag 1–2: Oppdager enkle kanter og teksturer
- Lag 3–5: Kombinerer kanter til former (sirkler, rektangler)
- Lag 6–10: Gjenkjenner deler av objekter (øyne, hjul, vinger)
- Dypere lag: Identifiserer hele objekter og deres sammenheng
Denne hierarkiske representasjonslæringen er grunnen til at deep learning er så kraftig. Nettverket bygger automatisk opp et system av abstraksjoner — fra enkle til komplekse — uten at en programmerer trenger å definere dem.
Viktige typer dype nettverk:
- CNN (Convolutional Neural Network): Spesialisert for bilder. Bruker filtre (kjerner) som glir over bildet og oppdager lokale mønstre. Brukes i bildegjenkjenning, medisinsk bildediagnostikk og ansiktsgjenkjenning.
- RNN (Recurrent Neural Network): Designet for sekvensielle data (tekst, tale, tidsserier). Har koblinger tilbake til seg selv slik at den kan «huske» tidligere input.
- Transformer: En nyere arkitektur som bruker oppmerksomhetsmekanismer (attention) i stedet for sekvensiell prosessering. Grunnlaget for moderne språkmodeller.
Et nevron har to inputer med verdiene og , vektene og , og bias . Aktiveringsfunksjonen er ReLU, definert som . Beregn nevronets output.
Deretter bruker vi ReLU-aktiveringsfunksjonen:
Nevronets output er 0,28. Siden den vektede summen var positiv, passerer verdien uendret gjennom ReLU. Hvis hadde vært negativ, ville outputen blitt 0 — dette er ReLUs egenskap som «stenger av» nevroner med negative verdier, noe som gir sparsomhet i nettverket.
Hvorfor er aktiveringsfunksjoner nødvendige i nevrale nettverk?
1. Foroverpassering (forward pass): Data sendes gjennom nettverket og gir en prediksjon.
2. Tapsfunksjon (loss function): Prediksjonen sammenlignes med fasitsvaret, og feilen kvantifiseres som et tall — tapet.
3. Bakoverforplantning (backpropagation): Tapet «sendes bakover» gjennom nettverket, og det beregnes hvor mye hver vekt bidro til feilen (gradienter).
4. Gradientoppdatering: Vektene justeres i retningen som reduserer tapet, ved hjelp av en optimalisator (f.eks. SGD, Adam).
Den mest brukte tapsfunksjonen for klassifisering er kryssentropi (cross-entropy), mens middelkvadratfeil (MSE) brukes for regresjon:
der er fasitsvar og er prediksjon. Læringsraten () styrer hvor store steg som tas i hver oppdatering — for høy gir ustabilitet, for lav gir treg konvergens.
Overfitting og generalisering
Et av de viktigste konseptene i maskinlæring er skillet mellom trening og generalisering. Et modell skal ikke bare prestere godt på treningsdataene — den skal generalisere til nye, usette data.
Overfitting oppstår når modellen «pugger» treningsdataene i stedet for å lære generelle mønstre. Den presterer da svært godt på treningsdata, men dårlig på testdata. Det er som en elev som har pugget alle svarene på en prøve uten å forstå stoffet — ved en ny prøve med litt andre spørsmål feiler eleven.
Underfitting er det motsatte — modellen er for enkel til å fange mønstrene i dataene, og presterer dårlig på både trenings- og testdata.
Vanlige teknikker mot overfitting:
- Regularisering: Legger til en straff for store vekter (L1, L2), slik at modellen foretrekker enklere løsninger.
- Dropout: Under trening deaktiveres tilfeldige nevroner i hvert steg, slik at nettverket ikke kan basere seg på enkeltnevroner.
- Tidlig stopp (early stopping): Treningen stoppes når ytelsen på valideringsdataene begynner å synke, selv om treningsytelsen fortsetter å øke.
- Dataaugmentering: Treningsdataene utvides kunstig — for bilder kan man rotere, speile, zoome og endre farger.
En modell har 99 % nøyaktighet på treningsdata, men bare 60 % på testdata. Hva er problemet?
Inferens — modellen i drift
Etter at et nevralt nettverk er ferdig trent, brukes det til inferens — å gjøre prediksjoner på nye data. Trening og inferens har svært forskjellige krav:
| Trening | Inferens | |
|---|---|---|
| Formål | Lære vekter fra data | Bruke lærte vekter på nye data |
| Regnebehov | Ekstremt høyt (dager–måneder) | Lavere (millisekunder–sekunder) |
| Hardware | GPU-klynger med mye VRAM | Kan kjøres på mobil, edge-enheter |
| Data | Store treningsdatasett | Enkeltinput (bilde, tekst, osv.) |
| Prosess | Forward + backward pass | Kun forward pass |
GPU-er (Graphics Processing Units) er avgjørende for AI fordi de kan utføre tusenvis av matriseoperasjoner parallelt — nøyaktig det nevrale nettverk trenger. NVIDIA har dominert AI-hardware med sine CUDA-baserte GPU-er (A100, H100), men alternativer vokser frem:
- TPU (Tensor Processing Unit): Googles egenutviklede AI-brikke, optimalisert for TensorFlow-beregninger.
- NPU (Neural Processing Unit): Dedikerte AI-akseleratorer i mobilprosessorer (Apple Neural Engine, Qualcomm Hexagon).
- FPGA (Field-Programmable Gate Array): Rekonfigurerbare brikker som kan skreddersys for spesifikke AI-oppgaver.
Trenden er at AI-inferens i økende grad flyttes til edge-enheter — altså til selve telefonen, kameraet eller sensoren — i stedet for å sende data til skyen. Dette gir lavere latens, bedre personvern og fungerer uten internettforbindelse.
Et sykehus vil bruke AI til å analysere røntgenbilder for å oppdage lungebetennelse. Beskriv trening og inferens for dette systemet.
- Sykehuset (eller et forskningsteam) samler et stort datasett med røntgenbilder — f.eks. 100 000 bilder — der hvert bilde er merket av radiologer som «lungebetennelse» eller «frisk».
- Et CNN-nettverk (f.eks. basert på ResNet) trenes på dette datasettet. Treningen kjøres på kraftige GPU-er (f.eks. NVIDIA A100) og kan ta dager til uker.
- Under trening justeres millioner av vekter gjennom backpropagation, slik at nettverket lærer å gjenkjenne mønstre som indikerer lungebetennelse (fortetninger, infiltrater).
- Modellen valideres på et separat datasett for å sikre at den generaliserer og ikke overfitter.
Inferensfasen:
- Den ferdige modellen installeres på sykehusets system (eller i skyen).
- Når en ny pasient tas røntgen, sendes bildet gjennom nettverket i en enkelt forward pass — dette tar noen millisekunder til sekunder.
- Nettverket gir en prediksjon: f.eks. «87 % sannsynlighet for lungebetennelse» med et varmekart som viser hvilke områder som utløste alarmen.
- Radiologen bruker AI-resultatet som et støtteverktøy for sin vurdering.
Slik kombineres AI-ens evne til å prosessere store datamengder raskt med radiologens kliniske erfaring og helhetsforståelse.
Hvorfor er GPU-er spesielt godt egnet for trening av nevrale nettverk?
Oppsummering
- Kunstig intelligens (AI) er systemer som utfører oppgaver som normalt krever menneskelig intelligens. Maskinlæring (ML) er AI som lærer fra data gjennom veiledet, uveiledet eller forsterkningslæring.
- Nevrale nettverk består av lag med sammenkoblede nevroner som beregner vektede summer og bruker aktiveringsfunksjoner for ikke-linearitet. Deep learning bruker mange skjulte lag for hierarkisk representasjonslæring.
- Trening justerer vektene gjennom foroverpassering, tapsfunksjon, bakoverforplantning og gradientoppdatering. Overfitting motvirkes med regularisering, dropout og tidlig stopp.
- Inferens er bruk av den ferdige modellen på nye data — krever langt mindre regnekraft enn trening og kan kjøres på edge-enheter.
- GPU-er er sentrale for AI-trening på grunn av massiv parallell beregningskapasitet, med alternativer som TPU, NPU og FPGA for spesialiserte bruksområder.
Du skal designe et AI-system for et transportselskap som skal predikere forsinkelser i kollektivtrafikken. Beskriv: (a) Hvilken type maskinlæring ville du brukt, og hvilke data ville du trene modellen på? (b) Skisser en passende nettverksarkitektur og begrunn valget. (c) Forklar hvordan du ville oppdaget og håndtert overfitting under treningen. (d) Diskuter forskjellen mellom trening og inferens for dette systemet — hva kreves av hardware i hver fase?
Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.