kompetanseguiden
Hva er maskinlæring?
Hva er maskinlæring – og hvor kan du lære det? I denne artikkelen får du en rask introduksjon til hva maskinlæring går ut på, mens du i verktøyet øverst kan finne ut hvor og hvordan du kan lære det – basert på dine egne kriterier for læringen.
Tilbake til kompetanseguidens hovedside
Maskinlæring (ML) er en gren av kunstig intelligens som innebærer å lære algoritmer til å gjenkjenne mønstre og sammenhenger i store datasett, og gjøre prediksjoner eller ta avgjørelser på bakgrunn av dataene. Python og R er vanlige språk å bruke innenfor maskinlæring.
Lars Erlend Leganger er AI-rådgiver i PwC. Vi har bedt ham om å fortelle litt om maskinlæring.
Kort oppsummert; hva er maskinlæring?Maskinlæring er algoritmer (oppskrifter) for å hente ut innsikt fra data. Oppskriftene beskriver fremgangsmåter for å bygge modeller som beskriver sammenhenger og mønstre i dataene. Parametrene («innstillingene») i modellen tilpasses dataene i henhold til oppskriften, så en og samme oppskrift/algoritme vil gi opphav til forskjellige modeller avhengig av hvilke data den «lærer» fra.
Hva brukes maskinlæring til i 2020? Når er det viktig å kunne dette?I teorien kan maskinlæring brukes i alle situasjoner der det skal gjøres prediksjoner eller vurderinger der følgende er tilfelle:
- Data er tilgjengelig digitalt (strukturert eller ustrukturert)
- Prosessen er stabil og utføres mange ganger av mange personer, med digitale verktøy
- Vurderingene i prosessen kan deles opp i små steg som hver for seg kan «mentalt» prosesseres av et menneske på 2–3 sekunder
- Det er mulig å definere et objektivt og kvantisert mål på om en vurdering/beslutning/handling har vært vellykket
Noen konkrete eksempler på anvendelser: predikere kredittrisiko (ja eller nei til boliglån, kredittkort, osv.), predikere risiko for skadeutbetaling i forsikring (avgjøre pris, om du kan få rabatt, hvor mye penger forsikringsselskapet må ha i reserve), bilde-/video-/audio-analyse (alt fra Tesla-autopilot, til å telle lus på oppdrettsfisk, til «HEY GOOGLE PLAY DESPACITO ON SPOTIFY»), prediktivt vedlikehold (predikere at en svikt vil skje før den oppstår, basert på sensordata om temperatur, vibrasjoner, spenning, osv.)
Det er viktig at du eller noen andre i teamet ditt kan maskinlæring hvis dere jobber med et produkt eller en tjeneste der systematiske datadrevne vurderinger er en viktig del av verdiskapningen til produktet eller tjenesten.
Er det noen vanlige språk, rammeverk eller verktøy som er særlig knyttet til maskinlæring?Python brukes mye i forskning og prototyping. Populære rammeverk for maskinlæring er Scikit-learn, Tensorflow og Torch. En del med statistikkbakgrunn foretrekker R i prototyping-fasen. Ikke uvanlig med Java eller C# når ting skal settes i produksjon.
Hvordan er vanskelighetsgraden og læringskurven? Hvilke forkunnskaper er det eventuelt en fordel å ha hvis man ønsker å sette seg inn i det?Forholdsvis grei læringskurve. Det finnes mange API-er, auto-ML-løsninger og «standard»-modeller en kan ta utgangspunkt i for å få greie modeller opp og kjøre.
Det er nyttig med forkunnskaper i enten programmering eller statistikk, og gjerne begge. Skal man bruke maskinlæring til å løse forretningsproblemer er det også nødvendig med litt prosessforståelse og domenekunnskap. (Som vanlig er kryssfunksjonelle team ofte løsningen.)
Hvilke ulemper eller utfordringer ser du med maskinlæring?
AI/ML har vært på toppen av hype-kurven en stund – jeg tror folk overvurderer konsekvensene på kort sikt, og undervurderer konsekvensene på lang sikt.
Hovedutfordringen slik jeg ser det er at AI/ML gjør det lettere å omsette kapital til arbeidskraft – i.e. du kan i økende grad kjøpe eller bygge roboter/dataprogrammer for å løse oppgaver du tidligere trengte mennesker for å løse. Det kan fort bidra til at de rikere blir enda rikere, og at de fattige blir fattigere.
Ellers fører AI/ML-fremskritt til at vi blir tvunget til å tenke over hvordan vi vil gjøre individuelle beslutninger og vurderinger – i mange områder har vi tradisjonelt vært begrenset av teknologi og således sluppet å ta stilling til når/om/hvordan vi vil gjøre individuell forskjellsbehandling, men bedre AI/ML gjør i større grad individualisert behandling teknisk gjennomførbar, da må vi som samfunn avgjøre hva vi vil individualisere og hva vi bevisst vil la være. Det er mange paralleller til tilsvarende etiske problemstillinger innenfor f.eks. bioteknologi.
Så har du jo de som bekymrer seg for de langsiktige konsekvensene dersom vi en dag skulle lykkes i å bygge kunstig generell intelligens – det er en egen historie …
Hva er forhistorien til maskinlæring, og hvordan har utviklingen vært?Fagområdet kunstig intelligens har eksistert siden femtitallet, og begeistring og forventningen rundt det har gått i bølger opp gjennom. Mønsteret er at en periode med begeistring og høye forhåpninger følges av en «AI-vinter» med lite interesse og investeringer når det viste seg at ting var vanskeligere enn en først trodde.
Vi er mange som er spent på om også denne runden av begeistring vil følges av en AI-vinter
En har forsøkt å bygge den kunstige intelligensen med forskjellige verktøy opp gjennom, fra ekspertregler (If. then. else if … then …), til markovkjeder, til nå sist hvor det er AI bygget med maskinlæringsalgoritmer som er «hot». Vi er mange som er spent på om også denne runden av begeistring vil følges av en AI-vinter, eller om det er denne gangen det virkelig tar av (på godt og vondt).
Hvordan ser du for deg at maskinlæring kan videreutvikles?Hovedbegrensningen til AI/ML i dag er at modellene er dårlige på å forstå kausalitet; de finner korrelasjoner/sammenhenger, men ikke hvorfor sammenhengen er der. Kausalitetsforståelse er en forutsetning for at AI skal kunne løse også mer generelle, sammensatte problemer.
Andre videreutviklingsområder er å få bedre kontroll på konfidens/usikkerhet i modellestimatene, og å bygge bedre verktøy for å støtte samspill mellom AI og mennesker – som gjør det mulig for ikke-teknologer å jobbe som «AI-trenere/-sjefer/-kollegaer» som kan forstå og ettergå en eller flere AI-ers vurderinger og gi AI-ene feedback for videre læring.
Hvilke råd kan du gi til en som ønsker å lære seg dette?
AI/ML er et av mange verktøy en kan bruke for å løse forretningsproblemer. Det er mange typer kompetanse et team trenger for å kunne bruke AI/ML der det er fornuftig:
Forretningsforståelse (for å forstå problemet som skal løses), data engineering (for å hente ut og tilgjengeliggjøre data relevant for forretningsproblemet som skal løses), statistikk (for å utforske og forstå de tilgjengelige dataene, og muligheter og begrensninger ved de forskjellige maskinlæringsalgoritmene), og IT-utvikling (for å gå fra «proof of concept»/prototyp til løsninger som kan settes i produksjon på en skalerbar måte).
Hvis en spesifikt er ute etter å lære seg mer om maskinlæring-delen av AI-verdikjeden finnes det mange gode nettbaserte kurs som kan tas ved siden av øvrige studier/jobb.