Maskinlæring er en metode innen kunstig intelligens der datamaskiner lærer å finne mønstre i data i stedet for å følge bare faste regler som er programmert på forhånd. Teknologien brukes blant annet til anbefalinger på strømmetjenester, spamfiltre, bildeanalyse, svindeloppdagelse og språkmodeller.
Enkelt forklart fungerer maskinlæring ved at en algoritme får tilgang til mange eksempler, analyserer dem og justerer seg gradvis for å bli bedre til å forutsi eller klassifisere nye data.
Hva er maskinlæring?
Tradisjonell programmering bygger ofte på tydelige regler. En programmerer kan for eksempel skrive at dersom temperaturen er under null grader, skal systemet vise en advarsel om frost.
Maskinlæring fungerer annerledes. I stedet for å definere alle reglene manuelt gir man modellen data den kan lære fra. Modellen forsøker deretter å oppdage sammenhenger mellom ulike egenskaper i dataene.
Et system som skal kjenne igjen bilder av hunder kan for eksempel trenes på tusenvis av bilder. Under treningen lærer modellen hvilke visuelle mønstre som ofte forbindes med hunder. Når den senere får et bilde den aldri har sett før, kan den beregne hvor sannsynlig det er at bildet inneholder en hund.
Hvordan lærer en maskin?
Maskinlæring skjer vanligvis gjennom flere trinn. Først samles det inn data som er relevante for problemet. Dataene må deretter organiseres og ofte ryddes for feil, manglende informasjon eller andre problemer.
Deretter velges en maskinlæringsmodell. Modellen får treningsdata og lager en første prediksjon. Resultatet sammenlignes med det ønskede eller faktiske svaret, og modellen beregner hvor stor feil den gjorde.
Basert på denne feilen justerer modellen interne verdier, ofte kalt parametere. Prosessen gjentas mange ganger.
Målet er at modellen gradvis skal gjøre mindre feil.
Man kan forenkle prosessen slik:
Data → trening → prediksjon → måling av feil → justering → ny prediksjon
Etter tilstrekkelig trening testes modellen vanligvis på data den ikke har sett tidligere. Det viser om modellen faktisk har lært generelle mønstre eller bare husket treningsdataene.
Hva er en maskinlæringsmodell?
En modell er det matematiske systemet som har blitt utviklet gjennom treningen. Den inneholder mønstre og sammenhenger modellen har funnet i treningsdataene.
Tenk deg at en modell skal anslå boligpriser. Den kan trenes med informasjon om tidligere boligsalg, blant annet boligstørrelse, antall rom, beliggenhet og salgspris.
Etter treningen kan modellen få informasjon om en ny bolig og forsøke å beregne en sannsynlig pris.
Modellen kjenner ikke boligmarkedet på samme måte som et menneske. Den bruker matematiske sammenhenger den har identifisert i dataene.
Tre vanlige typer maskinlæring
Veiledet læring
Veiledet læring, eller supervised learning, bruker treningsdata der riktig svar allerede er kjent.
Hvis målet er å oppdage søppelpost, kan treningsdataene inneholde tusenvis av e-poster som allerede er merket som enten spam eller ikke spam.
Modellen lærer hvilke egenskaper som ofte kjennetegner de to kategoriene. Senere kan den klassifisere nye e-poster.
Veiledet læring brukes blant annet til prisberegning, bildegjenkjenning, kredittvurdering og klassifisering.
Ikke-veiledet læring
Ved ikke-veiledet læring, eller unsupervised learning, får modellen data uten forhåndsdefinerte riktige svar.
Oppgaven er i stedet å oppdage strukturer eller grupper i informasjonen.
En nettbutikk kan for eksempel analysere kundenes kjøpsmønstre. En algoritme kan finne grupper av kunder som handler på lignende måter, selv om ingen på forhånd har definert disse kundegruppene.
Dette brukes ofte til segmentering, mønstergjenkjenning og analyse av store datamengder.
Forsterkende læring
Forsterkende læring, eller reinforcement learning, innebærer at et system lærer gjennom konsekvensene av handlingene sine.
Systemet utfører en handling og mottar en form for belønning eller straff. Over tid forsøker det å finne handlingene som gir størst samlet belønning.
Metoden kan brukes innen blant annet robotikk, spill og enkelte typer automatiserte beslutningssystemer.
Hva er nevrale nettverk?
Nevrale nettverk er en type maskinlæringsmodell som består av mange sammenkoblede matematiske enheter, ofte organisert i lag.
Informasjon sendes gjennom disse lagene, og hvert lag kan lære forskjellige mønstre.
I bildeanalyse kan de første delene av nettverket for eksempel reagere på enkle elementer som kanter og kontraster. Senere lag kan kombinere disse mønstrene og lære mer komplekse strukturer som øyne, ansikter eller objekter.
Når et nevralt nettverk inneholder mange lag, brukes ofte begrepet dyp læring, eller deep learning.
Dyp læring har blitt spesielt viktig innen bildeanalyse, talegjenkjenning, tekstbehandling og generativ kunstig intelligens.
Hvor kommer dataene inn?
Data er helt avgjørende for maskinlæring. En modell lærer i stor grad fra informasjonen den får tilgang til.
Dårlige eller lite representative data kan derfor føre til dårlige resultater.
Hvis et system for eksempel skal kjenne igjen ulike fuglearter, men nesten alle treningsbildene viser fugler i dagslys, kan modellen få problemer med bilder tatt om kvelden.
Det er derfor viktig at treningsdataene både har god kvalitet og representerer situasjonene modellen faktisk skal brukes i.
Mer data er heller ikke automatisk bedre. Relevante og korrekte data kan være viktigere enn enorme mengder informasjon med mye støy eller feil.
Trening og bruk er to forskjellige ting
Det er nyttig å skille mellom trening og inferens.
Under treningen lærer modellen ved å analysere store mengder data og justere parameterne sine. Denne prosessen kan kreve betydelig datakraft.
Når modellen er ferdig trent, kan den brukes til å behandle nye data. Dette kalles ofte inferens.
Et bildegjenkjenningssystem kan for eksempel bruke flere dager på å bli trent, men deretter klassifisere et nytt bilde på brøkdelen av et sekund.
Hvordan vet man om modellen er god?
En maskinlæringsmodell bør testes med data som ikke ble brukt under selve treningen.
Hvis modellen får gode resultater på treningsdataene, men dårlige resultater på nye data, kan den ha blitt overtrent, også kalt overfitting.
Da har modellen lært treningsdataene for detaljert i stedet for å lære generelle mønstre.
Utviklere bruker derfor egne trenings-, validerings- og testdatasett for å måle hvor godt modellen fungerer på ukjent informasjon.
Hvilke målemetoder som brukes, avhenger av oppgaven. Det kan blant annet være nøyaktighet, presisjon, feilmargin eller hvor ofte modellen finner relevante resultater.
Et enkelt eksempel
Tenk deg at du ønsker å lage et system som skiller mellom epler og appelsiner.
Du samler informasjon om flere hundre frukter og registrerer blant annet vekt, størrelse, farge og hvilken frukt det faktisk er.
Modellen analyserer dataene og kan finne mønstre som at enkelte kombinasjoner av størrelse, farge og vekt oftere tilhører appelsiner enn epler.
Når modellen senere mottar informasjon om en ukjent frukt, bruker den de lærte sammenhengene til å beregne hvilken kategori som er mest sannsynlig.
Det er dette grunnprinsippet som ligger bak mye maskinlæring, selv om moderne modeller kan inneholde milliarder av parametere og behandle langt mer kompliserte data.
Er maskinlæring det samme som kunstig intelligens?
Ikke helt.
Kunstig intelligens er et bredt begrep for teknologier som utfører oppgaver vi forbinder med intelligent atferd.
Maskinlæring er en metode innen kunstig intelligens der systemer lærer fra data.
Dyp læring er igjen en underkategori av maskinlæring som vanligvis bruker nevrale nettverk med mange lag.
Forholdet kan derfor beskrives slik:
Kunstig intelligens → maskinlæring → dyp læring
Hva brukes maskinlæring til?
Maskinlæring finnes allerede i svært mange digitale tjenester. Teknologien kan brukes til å anbefale filmer og produkter, filtrere spam, oppdage mistenkelige betalinger, analysere medisinske bilder, oversette språk og forutsi etterspørsel.
Den brukes også innen søkemotorer, autonome systemer, talegjenkjenning, industri, cybersikkerhet og generativ AI.
Felles for mange av bruksområdene er at systemet må finne mønstre i store mengder informasjon som ville vært vanskelig å beskrive gjennom tusenvis av manuelle programmeringsregler.
Maskinlæring er ikke feilfri
En maskinlæringsmodell forstår ikke nødvendigvis informasjon på samme måte som et menneske. Den finner statistiske mønstre og bruker disse til å beregne sannsynlige resultater.
Modeller kan derfor ta feil.
Resultatene påvirkes blant annet av kvaliteten på treningsdataene, hvordan modellen er utviklet og hvor forskjellig nye data er fra dataene den ble trent på.
Maskinlæringssystemer kan også videreføre skjevheter som finnes i treningsdataene. Derfor er testing, overvåking og menneskelig vurdering viktig, særlig når teknologien brukes til beslutninger som påvirker mennesker.
Kort forklart: Hvordan funker maskinlæring?
Maskinlæring fungerer ved at en algoritme analyserer eksempler og justerer matematiske parametere for å bli bedre til en bestemt oppgave.
I stedet for at mennesker programmerer alle reglene direkte, lærer modellen mønstre fra data.
Når treningen er ferdig, kan modellen bruke disse mønstrene til å analysere informasjon den aldri har sett tidligere. Det kan være alt fra å avgjøre om et bilde viser en katt til å anslå en boligpris eller generere tekst.
Det grunnleggende prinsippet er enkelt: Modellen ser data, gjør et forsøk, måler feilen og justerer seg. Denne prosessen gjentas til resultatene blir bedre.

