Vad är maskininlärning? Du får till uppgift att lära en robot urskilja hundar från katter. Till förfogande har du tusentals bilder på katter och hundar. Hur går du tillväga? Vilka instruktioner ger du roboten för att kunna avgöra vad som är på bilden? Efter en tids reflektion visar det sig att problemet är mer komplicerat än det först verkade. Människor klarar uppgiften utan svårighet, men att återskapa problemlösning och inlärning på ett sätt som en människa utför uppgiften är komplicerat.
Ett annat tillvägagångsätt är att låta roboten lära sig vad som är viktigt på bilden för att avgöra vilket djur som visas. Detta är essensen inom maskininlärning. Som namnet avslöjar handlar det om en maskin som via självinlärning förstår abstrakta koncept – såsom katt, hund eller siffran sju. Det kan förefalla att maskininlärning har ett snävt användningsområde, men det finns många tillämpningsområden. Förutom kategorisering av abstrakta koncept, s.k. klassificering, går det också att träna system för att utföra prognoser eller generera bilder från instruktioner i text.
Kan du urskilja hundarna?
Vad är ett autonomt system?
Ett autonomt system är ett system som självständigt kan lösa uppgifter genom att observera tidigare exempel och på så vis generalisera ett problem. Principen bakom autonoma system är statistisk inlärning, vilket kortfattat innebär att statistiska mönster utnyttjas som är karakteristiskt för koncepten maskinen vill lära sig. Till exempel skrivs siffran sju med ett vertikalt streck som fogas samman med en sned rät linje. Eftersom varje människa har sin egen handstil och inre bild av siffran sju, granskar maskinen många exempel skrivna av olika personer och försöker hitta karakteristiska drag för konceptet. Det är inte alltid lätt att manuellt skapa ett abstrakt koncept, som att identifiera vad som är kritiskt för att urskilja hundar och katter, och kanske inte heller önskevärt med tanke på tiden som måste spenderas på uppgiften. För uppgifter där igenkänning eller prognoser är målet är det bekvämt med självinlärning och här kan maskininlärning vara ett kraftfullt verktyg.
Det krävs data
Från föregående exempel framgår det att det krävs data för att framgångsrikt träna systemet. Beroende på krav av träffsäkerhet och komplexitet av problemet ökar eller minskar antalet datapunkter som krävs. Att använda tillräckligt mycket data är ett ofrånkomligt moment och kan vara skillnaden på ett optimalt och suboptimalt fungerande system. Givetvis skadar inte mer data, men det kan vara kostsamt att samla mer data och därför brukar man skapa mer data genom att manipulera redan existerande data. Till exempel ska siffran sju kännas igen även om bilden roteras eller om färger justeras. På så sätt utökas datamängden genom syntesering utan att för den delen samla in nya datapunkter.
Det behövs datakraft
Förutom data och ett givet problem så behövs datorkraft. Systemet måste lära sig mönster specifikt för datamängden och för att hitta dem måste den processera massor stora mängder data. Om möjligheten inte finns att investera i en beräkningsdator, finns det istället andra alternativ där det går att hyra beräkningskraft från molntjänster.
DING har erfarenheten
På DING har vi erfarenhet att jobba med maskininlärningsprojekt inom dynamisk prissättning, produktigenkänning och objektdetektering. Om du har funderingar på att använda maskininlärning i ditt projekt, tveka inte på att höra av dig för konsultation. Vi erbjuder hela lösningar, från datainsamling till ett fullt fungerande system anpassat efter dina behov.