Maskinlæring, nevrale nettverk, trening og inferens.
Kunstig intelligens – grunnlag
Kunstig intelligens (AI) er eit av dei mest transformative teknologiområda i vår tid. Frå stemmeassistentar og biletgjenkjenning til sjølvkøyrande bilar og medisinsk diagnostikk — AI-system løyser oppgåver som tidlegare kravde menneskeleg intelligens.
Men kva er eigentleg kunstig intelligens, og korleis «lærer» ei maskin? I dette kapittelet skal vi utforske dei grunnleggjande prinsippa bak maskinlæring, forstå korleis nevrale nettverk fungerer, og sjå korleis trening og inferens utgjer dei to hovudfasane i eit AI-system.
Maskinlæring (ML) er ein underkategori av AI der system lærer frå data i staden for å bli eksplisitt programmerte med reglar. I staden for å skrive «viss piksel X er raud, er det eit eple», gir vi algoritmen tusenvis av bilete merkte som «eple» eller «ikkje eple», og han finn sjølv mønstera.
Dei tre hovudtypane maskinlæring:
- Rettleidd læring (supervised learning): Modellen blir trena på merkte data — kvart datapunkt har eit fasitsvar. Døme: biletklassifisering, spamfilter, sjukdomsdiagnostikk.
- Urettleidd læring (unsupervised learning): Modellen finn struktur i umerkte data — ingen fasitsvar. Døme: kundesegmentering, anomalideteksjon, dimensjonsreduksjon.
- Forsterkingslæring (reinforcement learning): Ein agent lærer gjennom prøving og feiling i eit miljø, og får løn eller straff. Døme: spelande AI (AlphaGo), robotstyring, autonom navigasjon.
Frå regelbasert til læringsbasert AI
Tradisjonell programmering følgjer ei deterministisk tilnærming: programmeraren skriv eksplisitte reglar som maskina utfører. For å lage eit spamfilter måtte ein manuelt definere reglar som «viss e-posten inneheld 'gratis' og 'klikk her', merk som spam».
Maskinlæring snur denne prosessen:
| Tradisjonell programmering | Maskinlæring | |
|---|---|---|
| Input | Reglar + data | Data + fasitsvar |
| Output | Svar | Lært modell (reglar) |
| Prosess | Programmeraren designar reglane | Algoritmen finn reglane |
Styrken til maskinlæring er at han kan oppdage subtile mønster i enorme datamengder som menneske aldri ville funne manuelt. Veikskapen er at han krev store mengder treningsdata og at dei lærte mønstera kan vere vanskelege å tolke.
Kva er hovudskilnaden mellom rettleidd og urettleidd maskinlæring?
- Inputlag: Tek imot data (t.d. pikselverdiar i eit bilete, ord i ein tekst).
- Skjulte lag (hidden layers): Handsamar informasjonen gjennom vekta koblingar. Kvart nevron reknar ut ei vekta sum av inputa sine, legg til ein bias, og sender resultatet gjennom ein aktiveringsfunksjon (t.d. ReLU, sigmoid).
- Outputlag: Gir det endelege svaret (t.d. «katt» vs. «hund», eller ein talverdi).
Matematisk gjer kvart nevron følgjande berekning:
der er inputverdiane, er vektene (styrken på koblingane), er bias (ein justerbar terskelverdi), og er aktiveringsfunksjonen som introduserer ikkje-linearitet — noko som gjer at nettverket kan lære komplekse mønster i staden for berre lineære samanhengar.
Deep learning — djupe nevrale nettverk
Deep learning er maskinlæring med nevrale nettverk som har mange skjulte lag — typisk frå 3–4 til hundrevis. Kvart lag lærer stadig meir abstrakte representasjonar av dataa:
I eit biletgjenkjenningsnettverk:
- Lag 1–2: Oppdagar enkle kantar og teksturar
- Lag 3–5: Kombinerer kantar til former (sirklar, rektangel)
- Lag 6–10: Kjenner att delar av objekt (auge, hjul, venger)
- Djupare lag: Identifiserer heile objekt og samanhengen deira
Denne hierarkiske representasjonslæringa er grunnen til at deep learning er så kraftig. Nettverket byggjer automatisk opp eit system av abstraksjonar — frå enkle til komplekse — utan at ein programmerar treng å definere dei.
Viktige typar djupe nettverk:
- CNN (Convolutional Neural Network): Spesialisert for bilete. Brukar filter (kjernar) som glir over biletet og oppdagar lokale mønster. Blir brukt i biletgjenkjenning, medisinsk bildediagnostikk og andletsgjenkjenning.
- RNN (Recurrent Neural Network): Designa for sekvensielle data (tekst, tale, tidsseriar). Har koblingar tilbake til seg sjølv slik at han kan «hugse» tidlegare input.
- Transformer: Ei nyare arkitektur som brukar merksemdsmekanismar (attention) i staden for sekvensiell prosessering. Grunnlaget for moderne språkmodellar.
Eit nevron har to input med verdiane og , vektene og , og bias . Aktiveringsfunksjonen er ReLU, definert som . Rekn ut outputen til nevronet.
Deretter brukar vi ReLU-aktiveringsfunksjonen:
Outputen til nevronet er 0,28. Sidan den vekta summen var positiv, passerer verdien uendra gjennom ReLU. Viss hadde vore negativ, ville outputen blitt 0 — dette er eigenskapen til ReLU som «stengjer av» nevron med negative verdiar, noko som gir sparsemd i nettverket.
Kvifor er aktiveringsfunksjonar nødvendige i nevrale nettverk?
1. Foroverpassering (forward pass): Data blir send gjennom nettverket og gir ein prediksjon.
2. Tapsfunksjon (loss function): Prediksjonen blir samanlikna med fasitsvaret, og feilen blir kvantifisert som eit tal — tapet.
3. Bakoverforplanting (backpropagation): Tapet blir «send bakover» gjennom nettverket, og det blir rekna ut kor mykje kvar vekt bidrog til feilen (gradientar).
4. Gradientoppdatering: Vektene blir justerte i retninga som reduserer tapet, ved hjelp av ein optimalisator (t.d. SGD, Adam).
Den mest brukte tapsfunksjonen for klassifisering er kryssentropi (cross-entropy), medan middelkvadratfeil (MSE) blir brukt for regresjon:
der er fasitsvar og er prediksjon. Læringsraten () styrer kor store steg som blir tekne i kvar oppdatering — for høg gir ustabilitet, for låg gir treg konvergens.
Overfitting og generalisering
Eit av dei viktigaste konsepta i maskinlæring er skiljet mellom trening og generalisering. Ein modell skal ikkje berre prestere godt på treningsdataa — han skal generalisere til nye, usette data.
Overfitting oppstår når modellen «puggar» treningsdataa i staden for å lære generelle mønster. Han presterer då svært godt på treningsdata, men dårleg på testdata. Det er som ein elev som har pugga alle svara på ei prøve utan å forstå stoffet — ved ei ny prøve med litt andre spørsmål feilar eleven.
Underfitting er det motsette — modellen er for enkel til å fange mønstera i dataa, og presterer dårleg på både trenings- og testdata.
Vanlege teknikkar mot overfitting:
- Regularisering: Legg til ei straff for store vekter (L1, L2), slik at modellen føretrekkjer enklare løysingar.
- Dropout: Under trening blir tilfeldige nevron deaktiverte i kvart steg, slik at nettverket ikkje kan basere seg på enkeltnevron.
- Tidleg stopp (early stopping): Treninga blir stoppa når ytinga på valideringsdataa byrjar å synke, sjølv om treningsytinga held fram med å auke.
- Dataaugmentering: Treningsdataa blir utvida kunstig — for bilete kan ein rotere, spegle, zoome og endre fargar.
Ein modell har 99 % nøyaktigheit på treningsdata, men berre 60 % på testdata. Kva er problemet?
Inferens — modellen i drift
Etter at eit nevralt nettverk er ferdig trena, blir det brukt til inferens — å gjere prediksjonar på nye data. Trening og inferens har svært forskjellige krav:
| Trening | Inferens | |
|---|---|---|
| Føremål | Lære vekter frå data | Bruke lærte vekter på nye data |
| Reknebehov | Ekstremt høgt (dagar–månader) | Lågare (millisekund–sekund) |
| Hardware | GPU-klynger med mykje VRAM | Kan køyrast på mobil, edge-einingar |
| Data | Store treningsdatasett | Enkeltinput (bilete, tekst, osv.) |
| Prosess | Forward + backward pass | Berre forward pass |
GPU-ar (Graphics Processing Units) er avgjerande for AI fordi dei kan utføre tusenvis av matriseoperasjonar parallelt — nøyaktig det nevrale nettverk treng. NVIDIA har dominert AI-hardware med sine CUDA-baserte GPU-ar (A100, H100), men alternativ veks fram:
- TPU (Tensor Processing Unit): Googles eigenutvikla AI-brikke, optimalisert for TensorFlow-berekningar.
- NPU (Neural Processing Unit): Dedikerte AI-akseleratorar i mobilprosessorar (Apple Neural Engine, Qualcomm Hexagon).
- FPGA (Field-Programmable Gate Array): Rekonfigurerbare brikker som kan skreddarsyast for spesifikke AI-oppgåver.
Trenden er at AI-inferens i aukande grad blir flytta til edge-einingar — altså til sjølve telefonen, kameraet eller sensoren — i staden for å sende data til skya. Dette gir lågare latens, betre personvern og fungerer utan internettforbindelse.
Eit sjukehus vil bruke AI til å analysere røntgenbilete for å oppdage lungebetennelse. Skildr trening og inferens for dette systemet.
- Sjukehuset (eller eit forskingsteam) samlar eit stort datasett med røntgenbilete — t.d. 100 000 bilete — der kvart bilete er merkt av radiologar som «lungebetennelse» eller «frisk».
- Eit CNN-nettverk (t.d. basert på ResNet) blir trena på dette datasettet. Treninga blir køyrd på kraftige GPU-ar (t.d. NVIDIA A100) og kan ta dagar til veker.
- Under trening blir millionar av vekter justerte gjennom backpropagation, slik at nettverket lærer å kjenne att mønster som indikerer lungebetennelse (fortetningar, infiltrat).
- Modellen blir validert på eit separat datasett for å sikre at han generaliserer og ikkje overfittar.
Inferensfasen:
- Den ferdige modellen blir installert på systemet til sjukehuset (eller i skya).
- Når ein ny pasient blir teken røntgen, blir biletet send gjennom nettverket i ein enkelt forward pass — dette tek nokre millisekund til sekund.
- Nettverket gir ein prediksjon: t.d. «87 % sannsyn for lungebetennelse» med eit varmekart som viser kva for område som utløyste alarmen.
- Radiologen brukar AI-resultatet som eit støtteverktøy for vurderinga si.
Slik blir AI-en si evne til å prosessere store datamengder raskt kombinert med den kliniske erfaringa og heilskapsforståinga til radiologen.
Kvifor er GPU-ar spesielt godt eigna for trening av nevrale nettverk?
Oppsummering
- Kunstig intelligens (AI) er system som utfører oppgåver som normalt krev menneskeleg intelligens. Maskinlæring (ML) er AI som lærer frå data gjennom rettleidd, urettleidd eller forsterkingslæring.
- Nevrale nettverk består av lag med samankobla nevron som reknar ut vekta summar og brukar aktiveringsfunksjonar for ikkje-linearitet. Deep learning brukar mange skjulte lag for hierarkisk representasjonslæring.
- Trening justerer vektene gjennom foroverpassering, tapsfunksjon, bakoverforplanting og gradientoppdatering. Overfitting blir motverka med regularisering, dropout og tidleg stopp.
- Inferens er bruk av den ferdige modellen på nye data — krev langt mindre reknekraft enn trening og kan køyrast på edge-einingar.
- GPU-ar er sentrale for AI-trening på grunn av massiv parallell berekningskapasitet, med alternativ som TPU, NPU og FPGA for spesialiserte bruksområde.
Du skal designe eit AI-system for eit transportselskap som skal predikere forseinkingar i kollektivtrafikken. Skildr: (a) Kva type maskinlæring ville du brukt, og kva data ville du trena modellen på? (b) Skisser ei passande nettverksarkitektur og grunngi valet. (c) Forklar korleis du ville oppdaga og handtert overfitting under treninga. (d) Diskuter skilnaden mellom trening og inferens for dette systemet — kva blir kravd av hardware i kvar 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.