En Guide för Nybörjare inom Maskininlärning
En guide för nybörjare inom Maskininlärning – Intervju med en AI-Expert

En Guide för Nybörjare inom Maskininlärning

Machine learning, deep learning, AI…alla verkar prata om det, men vad är machine learning egentligen och vilket värde skapar det? Vi frågade en frilansande AI och maskininlärningsexpert om han kunde hjälpa oss att förstå det här komplexa ämnet lite bättre. Jonathan Prom Scharff jobbar just nu på sitt egna projekt där målet är att reducera den nationella energikonsumptionen genom att använda den senaste utvecklingen inom maskininlärning. Som maskininlärning-konsult kan Jonathan också arbeta inom projekt i andra sektorer.

1. Hur använder företag maskininlärning för verksamheten idag och hur fort går utvecklingen inom området?

Det här är den mest förkommande frågan som människor vill fokusera på vid verksamhetsrelaterade konferenser. Vanligtvis brukar nästa slide säga ”AI är den nya elen” och antagligen innehålla några quotes från en McKinseyrapport som beskriver hur en stor andel av jobben kommer att vara automatiserade inom de kommande åren. Talaren kommer sedan troligtvis att kolla allvarligt på publiken och uttala de obehagliga orden ”Om du inte agerar nu är det bara en fråga om tid innan du blir distraherad”.

Antagligen är det en bra säljtaktik – det finns ingenting så starkt som rädsla för att få igång folk – min egen erfarenhet visar en annan verklighet.

Google, Facebook och liknande använder sig av maskininlärning i en stor skala. Det går inte att undgå att många jobb kommer att bli automatiserade, men enligt min erfarenhet, många utav de större firmorna använder maskininlärning förvånadsvärt lite. Då maskininlärning faktiskt används, är det antingen väldigt simpelt eller extremt komplext och inte särskilt funktionellt. Antingen var det någon praktikant som arbetade fort utan att egentligen ha tillräckligt med kunskap, eller så hyrde firman in flera PhD’s som implementerar sin research från början. Ingen av dessa två extrema fall fungerar särskilt bra. Dels kan det verka uppenbart varför och för att få maskininlärning att fungera i praktiken krävs ofta mer än bara teori. Det handlar om att få tag i rätt data, att omformulera problemet så det fungerar med standard för maskininlärning och sedan använda standardverktygen. För att summera, maskininlärning kommer antagligen att ha en stor inverkan på många industrier och utvecklingen kommer inte att gå så fort med några få undantag. Även om nystartade bolag har allt under kontroll med hänsyn till machine learning har de sällan tillgång till den mängd data som krävs för att få maskininlärnings-algoritmer att fungera.

2. Vart genererar machine learning redan värde?

Svaret på den här frågan kommer antagligen att variera beroende på vem du frågar. Personligen tycker jag att maskininlärning börjar generera mycket värde när det kommer till automatisering av mer ”simpla” uppgifter. Nyckeln till att identifiera, huruvida det vore bra att använda maskininlärning för att automatisera en viss uppgift är att överväga om problemet kan brytas ner i “väldefinierade rutor”. Låt oss säga att du skulle vilja automatisera processen att bestämma, huruvida du ska försäkra en person eller inte. Detta kan omvandlas till ett väldefinierat problem genom att säga “givet dessa datapunkter, förutsäger nummer 1 om personen ska få försäkring och nummer 0 om personen inte ska få försäkring”. En sådan problembeskrivning skulle göra det troligt att en maskininlärningslösning skulle bli framgångsrik. Om problemet däremot formulerades som “givet dessa datapunkter, skriv ett försäkringsavtal” så skulle det vara nästan omöjligt att automatisera processen med maskininlärning. Enligt min erfarenhet kan man dock ofta göra ett mycket svårt problem till ett väldefinierat problem genom att dela upp det i mindre delproblem och kompromissa lite. Så, istället för att formulera problemet som “skriva ett försäkringsavtal” kan man säga det första delproblemet som “förutsäga vilket av dessa 7 standardkontrakt som skulle vara det rätta att använda”. Nästa delproblem kan då vara att förutse lämpliga nummer på vissa förutbestämda platser i det valda standardkontraktet. På detta sätt kan man, genom att dela upp ett komplext problem i något standardiserade delproblem, automatisera stora mängder arbete genom att använda maskininlärning. Det viktiga att tänka på är om den uppgift du vill automatisera kan omvandlas till en väldefinierad förutsägelse. “Vilket av dessa sju möjliga standardkontrakt är det rätta kontraktet?”, “Vad ska priset vara för att försäkra denna specifika omständighet?”, och så vidare. Jag tror att en annan viktig punkt är att inte försöka automatisera för mycket av arbetsflödet. Ofta kommer du att vara i en situation där du kan få 70/80 procent av arbetsflödet automatiserat relativt snabbt, och istället för att försöka helt avlägsna människan från ekvationen stanna sedan på 70/80 procent av automatiseringen. Att täcka de sista 30/20 procenten är vanligtvis mycket dyrt, och ofta ganska svårt.

3. Försök att förklara maskinlärning med ett exempel

Ok, tänk dig att du är en domare och du överväger att automatisera ditt jobb. Vem bryr sig om brottslingar ändå, eller hur? Problemet med att automatisera processen med att döma människor är i huvudsak “att för varje regel finns ett undantag”. Så om en person skulle skriva ett datorprogram som automatiskt dömde personer skulle det kräva en stor mängd kod för att ta hänsyn till alla tänkbara specialfall. Dessutom skulle även den minsta förändringen av lagen göra programmet oanvändbart.

Men vad händer om istället för att ha en människa som skriver alla regler i ett datorprogram, låter vi en maskin göra det? Kan vi inte bara ge en dator en hel del straffrättsliga fall tillsammans med de resulterande meningarna och då räknar datorn själv ut reglerna? Föreställ dig att vi kan göra det, och denna process kallas maskininlärning.

Så maskininlärning kan anses som en massa algoritmer som kan lära sig att kopiera observerat beteende. Därför skulle du, om du skapar en automatisk domare, sammanställa en dataset av tidigare fall och de medföljande domarna. De historiska fallen skulle då utgöra det observerade beteendet och en maskininlärningsalgoritm skulle nu försöka komma fram till ett utarbetat regelsystem som gjorde det möjligt att kopiera domarnas dömningsbeteende i de historiska fallen.

Vad skulle hända om du försökte detta i verkligheten? Jo, det har faktiskt redan gjorts i USA. Det första problemet som människor stött på vid utplaceringen av AI-domaren var att AI-domaren tycktes vara lite rasistisk vid sin dömande. Detta beteende var ett resultat av de historiska domstolsavgörandena som har en tendens att ge svarta människor längre meningar. Därför kopierade AI-domaren det beteendet.

Så, begreppet maskinalgoritmer som inte är föremål för mänskliga företeelser är mestadels felaktiga. Men låt oss säga att vi är intresserade av att skapa en icke-rasistisk AI-domare. Hur tar vi bort tendensen att ge svarta människor längre meningar?

Det här är då skapandet av ett maskininlärningssystem blir mer av en konst än en vetenskap. Lösningen är att antingen avlägsna rasistiska avgöranden från datasetet eller ge information om maskininlärningsalgoritmen som gör att den kan lära sig att denna mening är något rasistisk och denna mening är inte.

En lösning kan vara att försöka ta bort alla domar som är ogynnsamma gentemot svarta människor. En annan skulle vara att bara utbilda AI-domaren på de rasfördelade uppgifterna och när AI-domaren används i praktiken, säg alltid att det är en vit person som är upptagen för rättegång. På det sättet skulle alla människor dömas som om de var vita.

4. Men vilka algoritmer ska du använda för att skapa din AI-domare?

Låt oss säga att du har samlat ditt dataset med historiska fall och motsvarande domar som visar uppträdande beteende som du vill kopiera. Nu är du redo att få igång den typen av AI-domare.

De flesta människor skulle omedelbart vända sig till det väldigt omtalade neurala nätverket och djupt lärande tekniker. (Red .: Neurala nätverk är en särskild klass av maskininlärningsalgoritmer som nyligen har blivit ommarkerad som djupt lärande.) Men jag skulle argumentera för att den oerfarna användaren lätt skulle kunna få toppmoderna resultat med hjälp av en teknik känd av det imponerande osexiga namnet: Gradienthöjande beslutsträd.

Utanför maskininlärningstävlingar har ingen egentligen hört talas om gradienthöjande beslutsträdmetoder, men när det gäller att vinna maskininlärningstävlingar är denna algoritm en av de allra bästa.

5. Betyder det att djupt lärande är helt överskattat?

Bra fråga, du kanske frestas att tänka: “varför talar alla då om den här djupa inlärningssaken? De kan inte alla vara idioter? ”

Den enkla versionen av svaret är relaterad till vad som kallas ostrukturerad data. Så när du skapar dina dataset av historiska fall skapar du vanligtvis en strukturerad representation av de historiska fallen. Detta betyder i huvudsak att du skapar ett kalkylarks sammanfattning av varje enskilt fall. Således kan kalkylbladsöversikten innehålla variabler som ras, antal tidigare domar, antal som anger hur svår brottet var etc. För varje historiskt fall fyller du i det rätta numret för alla variabler i sammanställningen av kalkylarket. Då konverterar du en massa historiska fall till ett kalkylblad, där varje rad motsvarar ett historiskt fall.

Denna strukturerade representation matas sedan till en maskininlärningsalgoritm som sedan lär sig de underliggande reglerna som förbinder de historiska fallen med motsvarande meningar.

Problemet är att det ibland är mycket svårt att skapa en kalkylarksuppfattning av din inmatningsdata. De mest framträdande exemplen på sådana data är bilder och text.

Så, även om det är väldigt enkelt för människor att känna igen föremålen som finns i en bild, var denna uppgift mycket svår för maskinlärningsalgoritmer. Det är dock före uppkomsten av djupt lärande, vilket helt transformerade maskininlärningssystemens förmåga att tolka bilddata och textdata.

Observera att den djupa inlärningen också fungerar väldigt bra på strukturerad data, men för strukturerad data är det mycket lättare att använda algoritmer med jämförbar prestanda.

6. Hur rekommenderar du att man kommer igång med maskinlärning

Tro det eller inte, men det är faktiskt förvånansvärt enkelt att snabbt komma igång med maskininlärning. Några bra kurser om hur man snabbt får toppmoderna resultat med maskininlärning är kurser som är tillgängliga gratis på course.fast.ai. Dessa kurser är huvudsakligen centrerade kring djup inlärning, och en ny kurs med fokus på mer traditionella maskininlärningstekniker släpps snart. En annan bra utgångspunkt är webbplatsen kaggle.com, där maskininlärningspraktiker delar sina metoder för att lösa maskininlärningstävlingar.

Kan AI ge värde åt ditt företag? Låt en oberoende konsult hjälpa dig.

Om du letar efter en AI-expert eller AI-projektledare, en maskininstruktör, en automationsutvecklare eller en annan konsult inom detta område, kontakta då oss för ett gratis erbjudande på en noga utvald profil för ditt projekt.

Kommentera