Tilbake
4.5
Kunstig intelligens – grunnlag

4.5 Kunstig intelligens – grunnlag

Maskinlæring, nevrale nettverk, trening og inferens.

30 min
5 oppgaver
AIMaskinlæringNevrale nettverkDeep learning
Du leser den lesevennlige versjonen
Din fremgang i kapitlet
0 / 5 oppgaver

Når maskinen lærer selv

Stemmeassistenter, bildegjenkjenning, selvkjørende biler, medisinsk diagnostikk -- kunstig intelligens løser oppgaver som før krevde menneskelig intelligens. Men hva er det egentlig, og hvordan «lærer» en maskin?

AI er et paraplybegrep for systemer som gjør det som normalt krever menneskelig intelligens. Den viktigste underkategorien er maskinlæring (ML), der systemet lærer fra data i stedet for å bli programmert med regler. I stedet for å skrive «hvis pikselen er rød, er det et eple», viser vi algoritmen tusenvis av bilder merket «eple» eller «ikke eple», og den finner mønstrene selv.

Det finnes tre hovedtyper. Veiledet læring trener på merket data der hvert eksempel har et fasitsvar -- som bildeklassifisering og spamfilter. Uveiledet læring finner struktur i umerket data uten fasit -- som kundesegmentering. Og forsterkningslæring lar en agent lære av prøving og feiling med belønning og straff -- som AlphaGo. Dette er en omvending av tradisjonell programmering: før ga vi regler og data og fikk svar; nå gir vi data og fasitsvar og får ut en lært modell. Styrken er at maskinen kan finne mønstre mennesker aldri ville oppdaget; svakheten er at den krever mye data, og at mønstrene kan være vanskelige å tolke.

Nevroner, lag og dybde

Hjertet i moderne AI er det kunstige nevrale nettverket, inspirert av hjernens nevroner. Det består av sammenkoblede noder ordnet i lag: et inputlag som mottar data, ett eller flere skjulte lag som bearbeider den, og et outputlag som gir svaret. Hvert nevron gjør en enkel beregning: y=f(iwixi+b)y = f\left(\sum_{i} w_i x_i + b\right), der xix_i er inputene, wiw_i er vektene (koblingenes styrke), bb er bias, og ff er en aktiveringsfunksjon.

La oss regne på et nevron med inputer x1=0,6x_1 = 0{,}6 og x2=0,4x_2 = 0{,}4, vekter w1=0,5w_1 = 0{,}5 og w2=0,3w_2 = -0{,}3, og bias 0,10{,}1. Den vektede summen blir z=0,50,6+(0,3)0,4+0,1=0,28z = 0{,}5 \cdot 0{,}6 + (-0{,}3) \cdot 0{,}4 + 0{,}1 = 0{,}28. Med ReLU-aktiveringen f(z)=max(0,z)f(z) = \max(0, z) blir outputen 0,280{,}28. Hadde summen vært negativ, ville ReLU gitt 0 -- den «stenger av» nevroner med negative verdier.

Hvorfor trengs aktiveringsfunksjonen i det hele tatt? Fordi den introduserer ikke-linearitet. Uten den ville hele nettverket, uansett hvor mange lag, bare kunne uttrykke en enkel lineær funksjon. Aktiveringsfunksjonen lar nettverket lære komplekse mønstre. Deep learning er nettopp nevrale nettverk med mange skjulte lag, der hvert lag lærer stadig mer abstrakte trekk: i bildegjenkjenning oppdager de første lagene kanter, mellomlagene former, og de dype lagene hele objekter. Spesialiserte typer inkluderer CNN for bilder, RNN for sekvenser som tekst, og transformer for moderne språkmodeller.

📝Oppgave Quiz 1

Trening og inferens -- to verdener

Hvordan «lærer» nettverket egentlig? Gjennom trening, der vektene og biasene justeres til nettverket gir riktige svar. Det skjer i en sløyfe. Først en foroverpassering: data sendes gjennom og gir en prediksjon. Så måler en tapsfunksjon hvor feil prediksjonen er -- for regresjon brukes ofte MSE=1n(yiy^i)2\displaystyle \text{MSE} = \frac{1}{n}\sum(y_i - \hat{y}_i)^2. Deretter sendes feilen bakover med bakoverforplantning (backpropagation), som beregner hvor mye hver vekt bidro til feilen, og en optimalisator justerer vektene for å redusere tapet. Læringsraten styrer hvor store steg som tas -- for høy gir ustabilitet, for lav gir treg fremgang.

Et avgjørende skille går mellom å prestere på treningsdata og å generalisere til nye data. Overfitting er når modellen «pugger» treningsdataene -- 99 % på trening, men kanskje 60 % på test. Den har lært støy framfor mønster, som en elev som pugget alle prøvesvarene uten å forstå. Underfitting er det motsatte: modellen er for enkel og presterer dårlig overalt. Mot overfitting brukes regularisering, dropout (deaktivere tilfeldige nevroner under trening), tidlig stopp og dataaugmentering.

Når modellen er ferdig trent, brukes den til inferens -- å gjøre prediksjoner på nye data. De to fasene er svært ulike. Trening krever enormt med regnekraft (dager til måneder) og kjøres på GPU-klynger med mye minne, gjennom både forover- og bakoverpassering. Inferens krever bare en forover-passering, tar millisekunder, og kan kjøres på en mobil. GPU-er er nøkkelen til AI fordi de utfører tusenvis av matriseoperasjoner parallelt -- nettopp det nevrale nettverk trenger. Alternativer som TPU, NPU og FPGA finnes for spesialiserte oppgaver, og trenden er at inferens flyttes ut til edge-enheter som telefonen selv, for lavere forsinkelse og bedre personvern.

📝Oppgave Quiz 2

Oppsummering

Vi har sett at kunstig intelligens er systemer som utfører oppgaver som krever menneskelig intelligens, og at maskinlæring lærer fra data gjennom veiledet, uveiledet eller forsterkningslæring. Nevrale nettverk består av lag med nevroner som beregner vektede summer og bruker aktiveringsfunksjoner for ikke-linearitet, og deep learning stabler mange lag for hierarkisk læring.

Trening justerer vektene gjennom foroverpassering, tapsfunksjon, backpropagation og gradientoppdatering, og overfitting motvirkes med regularisering, dropout og tidlig stopp. Inferens bruker den ferdige modellen på nye data og krever langt mindre regnekraft, ofte på edge-enheter. GPU-er er sentrale for trening på grunn av massiv parallell beregning, med TPU, NPU og FPGA som alternativer.

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.