Introduktion til Machine Learning

Hvad er Machine Learning?

Alex Scheel MeyerAlex Scheel Meyer
star

Så hvad er machine learning? Og hvordan kan machine learning skabe værdi for fremtidens virksomheder?

For at forklare hvad machine learning (forkortet ML) er for nogle teknikker, er det nemmest at tænke over et simpelt eksempel.

Forestil dig at du har fået en terning af en tryllekunstner og du mistænker den derfor for at være manipuleret så den ikke lander på alle sider lige ofte. Du er dog nysgerrig af natur så du kunne godt tænke dig at finde ud af hvordan sandsynligheden for at terningen lander på de forskellige sider er. Den typiske måde man ville finde sådan en sandsynlighedsfordeling er ved at slå med terningen en masse gang og så tælle hvor mange gange den lander på hver side. Efter at have slået mange gange med terningen så vil du have en god tilnærmelse til terningens sandsynlighedsfordeling.

Sådan et simpelt eksperiment er basal statistik. Men i praksis er det ikke så simple eksperimenter der er profit i at lave, så lad os overveje et andet eksempel.

I stedet for at vurdere en terning med ukendt fordeling, kan det være du sidder ved et forsikringsselskab og skal vurdere risikoen for at en potentiel kunde bliver alvorligt syg inden for det næste år. Den simple måde ville være at forsøge at gøre som med terningen, bare at se på alle tidligere kunder og finde ud af hvor mange i gennemsnit blev syge inden for det første år. Hvis du slet ikke har noget information om kunderne ville det typisk være det eneste, men forestil dig at alle potentielle kunder til din sygeforskring først får lavet en undersøgelse hos en læge. Så vil du have alle mulige parametre om kunden såsom blodtryk, levertal, BMI, etc. Hvis du med alle de parametre igen forsøger at se på hvad gennemsnittet for sygdom det første år er, ved simpelthen at tælle hvor mange med samme blodtryk, levertal, BMI, etc. bliver syge det første år - så løber du helt sikker ind i et problem. Det problem du løber ind i er at med alle de parametre vil der faktisk ikke være kunder nok til at du for alle kombinationer af parametrenes værdier har et fornuftigt statistisk grundlag.

Det man så typisk gør for at løse det problem er at gruppere kunderne på en "fornuftig" måde sådan at der stadigt er nok kunder i hver gruppe til at du med ro i sjælen kan tro på sandsynlighederne for sygdom for hver gruppe.

Og nu er vi så endelig ved det punkt hvor jeg kan fortælle hvad ML teknikker er, de er nemlig måder at lave sådan en fornuftig gruppering på, helt automatisk.

Men hvordan ved ML teknikken hvad der er en fornuftig gruppering? Det ved den ved at man først træner den med data hvor man allerede kender svaret.

At det foregår helt automatisk betyder at i eksemplet med potentielle kunder til forsikring hvor du har flere forskellige parametre fra en lægeundersøgelse - så vil du først give data for eksisterende kunder hvor du kender udfaldet (sygdom inden for det første år) til et ML baseret program, og derefter kan det samme program spytte risikoprocenter ud for alle dine potentielle kunder på een gang.

Det giver dig den fordel at så længe du stoler på at dit ML program laver en fornuftig behandling af dine data, så behøver du slet ikke selv at lave noget analyse. Du kan altså bruge din tid på andre dele af dit arbejde i forsikringsbranchen.

Hvorvidt ML teknikker gør noget fornuftigt så kommer det meget an på detaljerne og det er her at en ML ekspert kommer ind i billedet. Der er nemlig en del faldgruber i forhold til helt ukritisk at bruge ML teknikker, så det er vigtigt at man ved opstart får analyseret hvad der er den bedste tilgang. Til gengæld så kan det efterfølgende køre fuldstændigt automatisk.

At man på den måde kan få noget arbejde udført automatisk er een af årsagerne til at ML teknikker vinder indpas i mange dele af samfundet. En anden er årsag er at fordi ML teknikkerne kører i en computer så giver det mulighed for at skalere dem til områder hvor et menneske der skulle udføre analysen manuelt aldrig ville blive færdig.

Et eksempel på en opgave som mennesker aldrig ville have lyst til at løse er genkendelse af objekter i et billede ved at lave statistisk analyse på millioner af billeder. Selv et relativ lille billede på 224x224 pixels har 2 * 224 * 224=150528 pixels. Hvis man skal analysere så mange parametre på tværs af millioner af billeder for at finde ud af hvilke kombinationer der f.eks. giver sandsynlighed for at der er en cocker spaniel i et billede - så bliver nok man nok aldrig færdig.

Ikke desto mindre er det en ret almindelig ting at gøre med ML teknikker. Og faktisk er det sådan at ML teknikker nu er lige så gode som mennesker til at klassificere billeder.

Endnu en årsag til at ML teknikker er så populære er at udviklingen inden for området går uhyggeligt stærkt. Det betyder at teknikkerne hele tiden bliver mere og mere præcise.

Samtidigt arbejdes der på at bygge ML teknikker oven på hinanden i hvad der kaldes deep learning. Deep learning giver en hierarkisk opbygning af dit ML program sådan at hvis man f.eks. er ude på at detektere ansigter i et billede, så kan et deep learning setup helt automatisk finde ud af på laveste niveau f.eks. at detektere et øje, næse eller mund og så på højere niveauer bruge de detektioner til at lave en bedre analyse af om der virkelig er et ansigt i billedet der. Det har nemlig vist sig at være mere robust at have en hierarisk opbygning end hvis der skulle laves analyse direkte på alle pixels. Med deep learning er der pixels i den ene ende men de bliver gradvist til større og større elementer indtil algoritmen i sidste ende laver vurderingen om der er et ansigt eller ej.

Disse deep learning teknikker har vist sig at være meget brugbare. På områder som traditionelt har krævet eksperter til at bruge år på at udtænke teknikker til at løse et problem, kan deep learning i højere og højere grad helt erstatte det arbejde med at udtænke teknikkerne og i stedet arbejde direkte på data og helt automatisk lave fornuftige opdelinger af data.

Et eksempel er tale-genkendelse. Traditionelt har det krævet eksperter i sprog som har lavet computerprogrammer til at analysere lydene, evt. med baggrund i viden om svælgets form og stemmebåndenes funktion. I dag giver man næsten direkte det optagne lyd fra en mikrofon til en deep learning teknik og så spytter den automatisk ud hvilke ord der blev sagt. Det kræver dog at man først træner den med tusindvis af timer tale med tilhørende facit omkring hvad der blev sagt og den er ikke helt perfekt - men som udviklingen fortsætter er der ikke den store tvivl om at teknikkerne også på det område snart vil være lige så gode som mennesker.

Efterhånden som flere og flere ting kan automatiseres vil det ligesom med lego-klodser give nye muligheder for at bygge yderligere ting oven på. F.eks. må man forvente at som biler og lastbiler bliver selvkørende vil det have stor indflydelse på transportsektoren når lastbilerne kan køre 24 timer i døgnet og lastbilchauffører bliver nødt til at finde andet arbejde.

Eksemplet med transportsektoren er bare een ud af mange områder som vil blive påvirket voldsomt i fremtiden, og som virksomhedsejer bør man gøre sig det klart at hvis ikke man følger med udviklingen så er der stor risiko for at konkurrenter eller 2 iværksættere i en garage får automatisere dele af ens forretning på en måde så den (ligesom lastbilchauffører) står uden eksistensgrundlag.