En nybegynners guide til maskinlæring

En nybegynners guide til maskinlæring

 

Maskininnlæring, deep learning eller AI.  Alle synes å diskutere det, men hva handler maskinlæring egentlig om, og hvilken verdi er det med på å skape? Vi har spurt en frilans AI og maskininnlæringsekspert for å hjelpe oss å forstå dette komplekse emnet litt bedre. Jonathan Prom Scharff jobber for tiden med sitt eget prosjekt med det formål å redusere det nasjonale energiforbruket. Dette gjør han ved å utnytte den nyeste utviklingen innen maskinlæring. Som maskinlæringskonsulent kan Jonathan også bli ansatt for maskinlæringsprosjekter i andre sektorer.

1. Hvordan utnytter bedrifter maskinlæring i dag, og hvor rask er utviklingen på dette feltet?

Dette er standardspørsmålet som folk liker å adressere på forretningsrelaterte konferanser. Vanligvis følger det med et lysbilde som sier “AI er den nye elektrisiteten” og sannsynligvis noen sitater fra en McKinsey-rapport som sier at en stor prosentandel av arbeidsplassene skal automatiseres de kommende årene. Høyttaleren vil da mest sannsynlig se på publikum og uttale de fryktede ordene “Hvis du ikke handler nå, er det bare et spørsmål om tid før du blir forkastet”. Selv om dette er sannsynligvis en god salgstaktikk – det er intet mer enn frykt som får folk til å jobbe – så er min personlige erfaring ganske annerledes. Ja, Google, Facebook og lignende selskaper, distribuerer maskinlæringsløsninger i stor skala. Og ja, mange jobber vil utvilsomt bli automatisert, men etter min erfaring bruker de fleste av de store firmaene maskinopplæring i en overraskende begrenset grad. I tilfeller der en maskinlæringsløsning brukes, er det vanligvis enten ekstremt enkelt, eller ekstremt kompleks. Dette bunner i at bedriften enten får noen interns til å implementere det, uten nok kunnskap, eller at firmaet hyrer en inn en haug med mennesker med doktorgrader som lager dette toppmoderne forskningsarkivet fra bunnen av. Begge disse ekstreme formene har en tendens til ikke å fungere så veldig bra. Den første lørsningen av åpenbare årsaker, og den andre fordi det vanligvis ikke er en teoretisk øvelse å få en maskinlæringsløsning implementert. Det handler egentlig om å få de riktige dataene, omformulere problemet slik at det passer inn i standard maskinlæringsverktøyboks, og kun benytte disse standardverktøyene. Så for å oppsummere, ja, maskinlæring vil trolig ha stor innvirkning på mange næringer, men med noen få unntak går ikke prosessen så fort.

2. So hvor generer maskinlæring verdi i dag?

Svaret på dette spørsmålet kommer nok til å variere ganske mye avhengig av hvem du spør. Personlig mener jeg maskinlæring begynner å generere mye verdi innen automatisering av “enkle” oppgaver. Nøkkelen til å identifisere om det vil være fornuftig å bruke maskinlæring for å automatisere en bestemt oppgave, er å vurdere om problemet kan brytes ned i “veldefinerte bokser”. La oss si at du vil automatisere prosessen ifm med å bestemme om du skal gi en person forsikring, eller ei. Dette kan bli omgjort til et veldefinert problem ved å si “gitt disse datapunktene, forutsi nummer 1 dersom personen skulle få forsikring, og nummer 0 dersom personen ikke skulle få forsikring”. En slik problembeskrivelse vil gjøre det sannsynlig at en maskinlæringsløsning vil lykkes. Hvis problemet derimot ble uttrykt som “gitt disse datapunktene, skriv en forsikringskontrakt”, så ville det nesten vært umulig å automatisere prosessen ved hjelp av maskinlæring. Etter min erfaring kan man imidlertid ofte gjøre et svært vanskelig problem om til et veldefinert problem ved å splitte det inn i mindre delproblemer og kompromittere litt. Så i stedet for å formulere problemet som «skriv en forsikringskontrakt», kan man si det første delproblemet som “forutsi hvilken av disse 7 standardkontrakter som ville være den rette å bruke”. De neste delproblemene kan da være å forutsi passende tall på bestemte forhåndsdefinerte steder i den valgte standardkontrakten. På den måten kan man, ved å dele et komplekst problem med noen standardiserte subproblemer, automatisere store mengder arbeid ved å bruke maskinlæring. Det viktige er å vurdere om oppgaven du vil automatisere kan bli omgjort til en veldefinert prediksjon. Så, “hvilken av disse syv mulige standardkontraktene er den riktige kontrakten?”, “Hva skal prisen være for å forsikre denne spesielle omstendigheten?”, Og så videre. Jeg tror et annet viktig poeng er å ikke prøve å automatisere for mye av arbeidsflyten. Ofte vil du være i en situasjon der du kan få 70/80 prosent av arbeidsflyten automatisert relativt raskt. I stedet for å prøve å fjerne mennesket helt fra ligningen, stopper du ved 70/80 prosent av automatiseringen. De siste 30/20 prosent  av arbeidskraften er vanligvis svært kostbart, og ofte også ganske utsatt på grunn av dette.

3. Prøv å forklare maskinlæring ved å bruke konkrete eksempler

Ok, forestill deg at du er en dommer, og du vurderer å automatisere jobben din. Hvem bryr seg om kriminelle uansett, ikke sant? Problemet med å automatisere prosessen med å dømme folk er i hovedsak at det nesten for hver regel er et unntak. Så, hvis en person måtte skrive et dataprogram som automatisk dømmer folk, så ville det kreve en stor mengde koding for å ta med alle tankevekkende særtilfeller. Videre vil selv den minste endringen i loven gjøre programmet ubrukelig.

Men hva om en lar en maskin skrive alle reglene i dataprogrammet, i stedet for et menneske?  Kan vi ikke bare gi en datamaskin mange kriminelle saker, for så å la datamaskinen regne ut reglene av seg selv? Jo, det kan vi, og denne prosessen blir ofte referert til som maskinlæring. Så maskinlæring kan betraktes som en haug med algoritmer enn kan benytte til å lære å kopiere observert atferd. Derfor, når du oppretter en automatisk dommer, vil du kopiere et datasett av tidligere saker og de medfølgende dommene. De historiske tilfellene vil da utgjøre den observerte oppførelsen, og en maskinlæringsalgoritme vil nå forsøke å komme opp med et forseggjort regelsystem som tillater å kopiere dommernes dømmelsesadferd i de historiske tilfellene.

Så, hva skjer hvis du prøver dette i virkeligheten? Vel, faktisk har det allerede blitt gjort i USA. Det første problemet folk opplevde ved utplassering av AI-dommeren var at AI-dommeren syntes å være litt rasistisk i sin straffedømmelse. Denne oppførselen var et resultat av de historiske rettsavgjørelsene som har en tendens til å gi svarte mennesker lengre dom. Derfor kopierte AI-dommeren den holdningen. Så, ideen om en maskinalgoritme som ikke er gjenstand for menneskelige forstyrrelser, er for det meste feil. Men la oss si at vi er interessert i å skape en ikke-rasistisk AI-dommer. Hvordan fjerner vi denne tendensen til å gi svarte mennesker lengre dommer? Det er her maskinlæringssystemet blir mer av en kunst enn en vitenskap. Løsningen er å enten fjerne rasistiske avgjørelser fra datasettet, eller gi informasjon om maskinens læringalgoritme, noe som gjør det mulig å lære maskinen at det denne setningen er litt rasistisk. En løsning kan også være å fjerne alle avgjørelser, som er ugunstige mot svarte mennesker. En annen måte kan være å trene AI-dommeren på de rasjonelt forhåndsinnstilte dataene. Og når AI-dommeren blir brukt i praksis, så forteller den alltid at det er en hvit person som er på prøve. På den måten vil alle mennesker bli dømt som om de var hvite.

4. Men hvilken algoritme bør du benytte for å lage en AI-dommer?

Så, la oss si at du har samlet datasettet ditt med historiske saker og tilsvarende avgjørelser som viser til holdninger du vil kopiere, og du er nå klar for å lage en AI-dommer. De fleste ville umiddelbart vendt seg til det mye omtalte nevrale nettverket og dype læringsteknikker. Personlig mener jeg at den uerfarne brukeren enkelt kan få toppmoderne resultater ved hjelp av en teknikk kjent som Gradient boosting. Utenfor maskininnlæringskonkurranser har ingen virkelig hørt om dette, men når det gjelder vinnende maskininnlæringskonkurranser, har denne algoritmen en av de aller beste prestasjonene.

5. Betyr det at deep learning er fullstendig overvurdert?

Godt spørsmål, det er da naturlig å stille seg spørsmålet om hvorfor da “alle” snakker om denne dype læringen, når det finnes noe bedre.  Den enkle versjonen av svaret er relatert til det som kalles ustrukturerte data. Så når du lager datasett av historiske tilfeller vil du vanligvis lage en strukturert representasjon av de historiske sakene. Dette betyr i hovedsak at du oppretter et regnearksammendrag av hvert tilfelle. Så regnearksammendraget kan inneholde variabler som rase, antall tidligere domfellinger, tall som angir hvor alvorlig lovbruddet var etc. For hvert historisk tilfelle fyller du inn det riktige tallet for alle variablene i regnearksammensetningen. Derfor konverterer du en rekke historiske tilfeller inn i et regneark, der hver rad tilsvarer et historisk tilfelle.

Denne strukturerte representasjonen blir så matet til en maskinlæringsalgoritme, som deretter lærer de underliggende reglene som forbinder de historiske tilfellene med de tilsvarende setningene. Problemet er at det noen ganger er det svært vanskelig å lage et regnearksammendrag av dataen. De mest fremtredende eksemplene på slike data er bilder og tekst. Så selv om det er veldig enkelt for mennesker å gjenkjenne gjenstandene som er tilstede i et bilde, var denne oppgaven veldig vanskelig for maskinlæringsalgoritmer. Det er imidlertid før oppveksten av dyp læring, som fullstendig forvandlet maskinlæringssystemer evne til å tolke bildedata og tekstdata. Merk at den dype læring også fungerer veldig bra på strukturerte data, men for strukturerte data eksisterer det mye enklere å bruke algoritmer med tilsvarende ytelse.

6. Hvordan anbefaler du å komme i gang med maskinlæring?

Tro det eller ei, men det er faktisk overraskende enkelt å raskt komme i gang med maskinlæring. Noen av kursene som er svært effektive, og fritt tilgjengelig, finner du på course.fast.ai. Disse kursene er for det meste sentrert rundt dyp læring, men det ryktes at et nytt kurs med fokus på mer tradisjonelle maskinlæringsteknikker blir snart utgitt. Et annet godt utgangspunkt er nettsiden kaggle.com, der maskinlæringsutøvere deler sine erfaringer for å løse maskininnlæringskonkurranser.

Kan AI gi verdi til din business? La en av våre konsulenter hjelpe deg!

Hvis du er på utkikk etter en AI-ekspert eller en AI-prosjektleder, en maskinlæringsingeniør, en automatiseringsutvikler eller en annen konsulent i dette feltet, så er det bare å kontakt oss for et gratis tilbud, der vi nøye velger ut en konsulent skreddersydd for ditt prosjektet ditt.

Legg igjen en kommentar