Maskinlæring er en spesialisering innen kunstig intelligens hvor man bruker statistiske metoder for å la datamaskiner finne mønstre i store datamengder. Vi sier at maskinen «lærer» i stedet for å bli programmert.

Faktaboks

Etymologi
fra engelsk machine learning
Også kjent som

kunstig intelligens

Det å lære kalles også å trene opp en modell. For å «trene», behøver man data. Datasettet deles typisk opp i et treningssett og et testsett. Modellen trenes opp på treningssettet, og så undersøkes det om modellen har lært noe ved å teste det på testsettet. Dette er data modellen ikke har sett før, og det vil avsløre hvorvidt den har «lært» det den skal. Har modellen bare memorert dataene, det samme som å pugge en tekst uten å forstå den, vil den ikke gjøre det bra når den testes.

Siden 2015 har det blitt populært med «overføringslæring» (engelsk: «transfer learning»), fortrinnsvis innen datasyn og språkteknologi. Her benyttes modeller som er forhåndstrent på store datasett, og hvor treningen krever mye ressurser. Den forhåndstrente modellen videretrenes for å finjusteres til nye datasett. Overføringslæring har vist seg å gi gode resultater, og stiller ofte mindre krav til størrelse på treningssettet og beregningskraft sammenlignet med å trene opp en modell fra bunnen av.

Bruksområder

Maskinlæring blir i dag brukt i alt fra selvdrevne biler, forbedret websøk, epost-filtreringer, bildegjenkjenning, språkgjenkjenning, forbedrede kompilatorer og en utvidet forståelse av menneskets genom.

Forskjellige kategorier maskinlæring

Maskinlæring kan deles opp i tre hovedkategorier: Veiledet læring, ikke-veiledet læring og forsterket læring.

Veiledet læring

Maskinen finner en ukjent funksjon fra eksempler. Den lærer å forstå at inngangsverdiene forutsier utgangsverdiene.

Et enkelt eksempel vil være å skille hunder fra fugler. Hunder har fire ben, mens fugler har bare to. I tillegg har fuglene vinger. Når modellen ser ett dyr med fire ben, er det en hund. Har dyret to ben og to vinger, er det mest sannsynlig en fugl. Dette kalles klassifisering. Hvis målet er å forutsi lengden på dyret, altså et tall, kalles det regresjon.

Denne typen maskinlæring har hatt stor suksess de siste årene, og i enkelte tilfeller, som bildegjenkjenning, gjør modellene det bedre enn mennesker.

Ikke-veiledet læring

I dette tilfellet har maskinen ikke tilgang til utgangsverdier for gitte inngangsverdier. I stedet forsøker algoritmen selv å finne strukturen i inngangsverdiene, ved for eksempel å gruppere dem i klynger. Mennesker er ekstremt gode på dette, og på dette feltet har maskinlæring langt igjen for å nå menneskelig ytelse.

Som en mellomting mellom veiledet og ikke-veiledet læring, er det også enkelte problemer som lar seg løse ved hjelp av selv-veiledet læring. Her eksisterer det heller ikke gitte utgangsverdier, men dataen kan ha en struktur man kan utnytte uten at man må spesifisere tilleggsinformasjon, som for eksempel at et bilde av en fugl faktisk er en fugl. Et eksempel på dette er språkmodellering, der man ønsker at algoritmen skal predikere deler av tekststykker, som resulterer i en språkmodell. Her har man kun teksten å jobbe med, og ingen utgangsverdier, men strukturen i tekst, som for eksempel går fra venstre til høyre i mange språk, gjør det mulig for algoritmen å lære fra datagrunnlaget alene.

Forsterket læring

I forsterket læring interagerer modellen direkte med et miljø som gir straff eller belønning. For å lære opp en hund til å løse en oppgave, kan den få en kjeks hver gang den gjør noe riktig, og noe den ikke liker, som en sitron, når den tar feil. Slik forsterkes den ønskede oppførselen, uten at det spesifiseres hvordan det skal løses. Styrken til forsterket læring er at det kan anvendes i scenarioer hvor det er mange veier til målet, og det ikke er gitt hvilken som er den beste.

Denne metoden brukes ofte til å trene opp modeller som er gode i spill. Det mest kjente eksempelet er Googles system AlphaGo som nå er verdens beste spiller i Go.

Forskjell fra kunstig intelligens

Maskinlæring er en underart av kunstig intelligens, selv om begrepene ofte brukes om hverandre. Kunstig intelligens omfatter alle intelligente systemer. Et grovt skille er mellom regelbaserte og datadrevne modeller. Regelbaserte modeller forstår begreper gjennom regler, som ofte er programmerte før modellen brukes. Dette er ikke maskinlæring.

Datadrevne modeller har ingen regler som er programmert inn på forhånd, i stedet lærer modellen slike regler på egen hånd. Forskjellen er at disse reglene ofte ikke er forståelige for mennesker, og derfor kalles modellene ofte for svarte bokser.

De siste årene snakker man gjerne om dyplæring når man mener maskinlæring.

Les mer i Store norske leksikon

Eksterne lenker

  • AlphaGo: verdens beste spiller i Go.

Kommentarer (6)

skrev Viggo Wivestad

Foreslår å endre oversettelsen "supervised/unsupervised learning" fra "overvåket/uovervåket læring" til "veiledet/ikke veiledet læring", ettersom det den mest allmenn aksepterte oversettelsen, og etter min mening også er bedre dekkende navn på metodene.

svarte Axel Tidemann

Hei Viggo, takk for innspill. Har du noen referanser til bruk av "veiledet/ikke veiledet" læring, f.eks. om det brukes i noen universitetsfag eller liknende?

svarte Viggo Wivestad

Hei igjen. Kom over oversettelsen første gang da jeg leste meg opp på GDPR fra datatilsynets rapport [1]. Et raskt google-søk gir meg også forelesningsnotater fra UiO [2] og NTNU [3]. Kan også legge til at søkekombinasjonen "veiledet læring" "kunstig intelligens" gir 1720 treff på google, mens søkekombinasjonen "overvåket læring" "kunstig intelligens"kun gir 132 treff. [1] https://www.datatilsynet.no/globalassets/global/om-personvern/rapporter/rapport-om-ki-og-personvern.pdf [2] https://www.uio.no/studier/emner/matnat/ifi/nedlagte-emner/ITSLP1100/v08/undervisningsmateriale/2008_04_15.pdf [3] http://www.idi.ntnu.no/~agnar/it272/f9/f9-99.ppt

svarte Axel Tidemann

Takk for gode eksempler. Jeg er enig, og har endret teksten.

skrev Viggo Wivestad

Hei,
Vi skulle hatt et norsk ord for "transfer learning". Ser at selv wikipedia benytter det engelske ordet for dette (https://no.wikipedia.org/wiki/Kunstig_nevralt_nettverk)

Ser at "overført læring", "overfør læring" og "overføringslæring" og "overføring av læring" blir brukt på noen tidvis tvilsomme sider:
- https://teknologiradet.no/wp-content/uploads/sites/105/2018/09/Rapport-Kunstig-intelligens-og-maskinlaering-til-nett.pdf
- https://ntnuopen.ntnu.no/ntnu-xmlui/handle/11250/2828771
- https://no.wikiup.wiki/wiki/Transfer_learning
- https://no.frwiki.wiki/wiki/Apprentissage_par_transfert
- https://www.digi.no/artikler/gjor-om-skadevare-til-bilder-for-kunne-a-gjenkjenne-dem-med-datasyn/491947
- https://hitechglitz.com/norway/alt-du-trenger-a-vite-om-overforingslaering-i-ai/
- https://www.brutalk.com/en/news/brutalk-blog/view/en-mild-introduksjon-til-overfoering-av-laering-for-dyp-laering-604713cd64f56

Personlig heller jeg mest mot "overført læring" eller "overføringslæring".

svarte Axel Tidemann

Jeg foretrekker "overføringslæring".

Kommentarer til artikkelen blir synlig for alle. Ikke skriv inn sensitive opplysninger, for eksempel helseopplysninger. Fagansvarlig eller redaktør svarer når de kan. Det kan ta tid før du får svar.

Du må være logget inn for å kommentere.

eller registrer deg