Wat is machine learning?

Wat is machine learning

Machine learning stelt computers in staat om te leren uit allerlei data, en de technologie bevindt zich overal rondom ons. Maar wat is het precies, en hoe werkt het?

Kunstmatige intelligentie is voor niemand binnen de technologiewereld een onbekende. Ook al bestaat het onderzoek rond dit veld al meer dan een halve eeuw, toch is het pas de voorbije jaren echt in een gigantische stroomversnelling gekomen. Inmiddels kunnen we in bijna alle aspecten van ons dagelijks leven wel iets van kunstmatige intelligentie terugvinden, hoe groot of klein het ook is. Of het nu gaat om de zoekresultaten die Google ons toont, de aanbevelingen van Netflix, de spraakassistenten in onze woningen en smartphones, het spelen van spelletjes of zelfrijdende auto’s: allemaal maken ze wel gebruik van kunstmatige intelligentie. Het ziet er ook niet naar uit dat deze ogenschijnlijk niet af te remmen vooruitgang snel aan momentum zal verliezen. 

Integendeel. Kunstmatige intelligentie is een ruim begrip met verschillende onderdelen en subklassen die mee vorm geven aan het concept. Een van de bekendste disciplines binnen AI is machine learning. Hierbij worden computers in staat gesteld om zelf uit datasets te leren, met zo min mogelijk tussenkomst van mensen. Arthur Samuel, een bekende computerwetenschapper die de term ‘machine learning’ heeft bedacht, wist het in de jaren 50 al zo te verwoorden: “Het is het veld dat computers de mogelijkheid geeft om te leren, zonder dat ze daarvoor geprogrammeerd werden”. Het systeem krijgt een boel data ingelepeld, waarna de programmeur(s) een bepaald model binnen het veld van de machine learning kiezen, dat hen de beste resultaten zal opleveren naargelang hun einddoel, en vervolgens gaat het programma zelf aan de slag om al dan niet relevante informatie te vinden. 

Ook al bevindt het zich overal rondom ons, toch heerst er in sommige gevallen nog een waas van mysterie rond machine learning, wat niet helemaal terecht is. Net door het feit dat het nu meer verspreid raakt, is het ook allemaal eenvoudiger geworden om te begrijpen en er zelf mee aan de slag te gaan. Wij leggen je hier uit wat machine learning allemaal inhoudt, zodat je de technologie beter begrijpt en er misschien zelf ooit mee aan de slag kan.

AI probeert ons leerproces te kopiëren om dit zelf toe te kunnen passen op allerlei mogelijke gebieden.

Wat is machine learning?

Ook al is machine learning het voorbije decennium pas aan tractie beginnen winnen, toch is het iets dat al wel wat langer bestaat. Met de steeds groter wordende focus op ‘big data’ begint machinaal leren op dreef te komen. Bij bedrijven is er het besef gekomen dat alle verzamelde en gebundelde data een nut heeft, en dat computers gebruikt kunnen worden om binnen deze data op zoek te gaan naar belangrijke inzichten.

Met machine learning wordt er een bepaald systeem ontworpen dat zelf kan ‘leren’, of zichzelf optimaliseren. Hiermee poogt het sommige benaderingen van de menselijke mogelijkheid om te leren na te bootsen. Het systeem consumeert data, net als wij, om dan op basis van die gegevens ‘zelf’ bevindingen op te stellen en deze vervolgens bij te stellen, naargelang er meer data voorzien wordt. Nieuwe data zal immers het huidige algoritme bijstellen, waardoor het ook steeds anders gaat kijken naar de voorziene data. Dit algoritme kan dan gebruikt worden om de huidige dataset te bekijken en analyseren, of toegepast worden op volledig nieuwe gegevens, zodat we eerdere bevindingen daar ook uit kunnen krijgen. Mensen zijn ook tot veel van deze zaken in staat, maar de schaal waarop alles plaats kan vinden is ongekend, waardoor het voor eenvoudige taken een zeer kostenefficiënte en interessante oplossing kan zijn.

Big Data is een belangrijke bron voor machine learning.

Dit kan zowat overal gebruikt worden. Banken kunnen de technologie hanteren om bepaalde transacties te bekijken en te oordelen of die al dan niet frauduleus zijn. Binnen de gezondheidszorg wordt machine learning ingeschakeld om snellere en meer nauwkeurige diagnoses te vormen, die in sommige gevallen mensenlevens kunnen redden.

Eigenzinnig leren

Binnen machine learning zijn er drie grote methodes waarop je de algoritmes kan trainen. Elke manier heeft zijn eigenlijke toepassing, met individuele voor- en nadelen, waardoor je dus bij het kiezen van een methode wel moet weten wat je opzet is en wat de resultaten zijn die je hoopt te halen. Een van de grote verschillen tussen deze methodes ligt in de twee types van data waar ze mee moeten werken, zijnde gelabelde data en niet-gelabelde data. Gelabelde data komt neer op gegevens, zoals bijvoorbeeld afbeeldingen of tekst, waar de data voorzien zijn van bijkomende labels die iets van ankerpunt vormen waar het algoritme mee kan werken. Stel dat je een systeem wil trainen op het herkennen van sinaasappels in afbeeldingen, dan kan je een reeks afbeeldingen, al dan niet met sinaasappels erop, als input geven. In dit geval kan je het label voorzien dat stelt of een afbeelding wel of geen sinaasappel bevat. Hierna zal de AI zelf in afbeeldingen op zoek gaan naar een constante, zijnde de vorm van de appelsien op de foto. Het labelen van informatie is echter tijdsintensief en vraagt dus wel doorgaans iets van menselijke tussenkomst.

Echt zonder menselijke tussenkomst is het zelden, maar soms komt het wel aardig in de buurt.

Niet-gelabelde data komt, zoals de naam zelf doet vermoeden, dus zonder deze tags. Er zijn geen labels die de aanwezigheid van iets voorspellen. Je werkt dus met volledig ruwe data, waar het algoritme dan op zijn beurt maar iets van moet maken. Ook al lijkt het alsof gelabelde data superieur is, toch is er ook zeker een plaats voor niet-gelabelde data binnen machine learning. Daarnaast is het eenvoudiger en goedkoper om mee te werken, omdat je niet uren bezig bent met het labelen van alles. Naast machine learning wordt er ook vaak gesproken van deep learning, al zijn het wel twee verschillende termen. Deep learning is een apart onderdeel van machine learning, en leert op een andere manier. Hier wordt er gebruik gemaakt van ‘neurale netwerken’ en is een groot deel van het proces om informatie uit data te halen geautomatiseerd, waardoor er ook minder menselijke tussenkomst is. Hier kan je aan de slag met gelabelde data, maar dat is zeker geen vereiste voor resultaten. Daardoor is het ook geschikt om met grotere datasets aan de slag te gaan. Die worden voornamelijk gebruikt om bijvoorbeeld bepaalde objecten te herkennen in afbeeldingen.

Deep learning met zijn neurale netwerken wordt vaak verwisseld met machine learning, maar ze zijn niet hetzelfde.

Drie vormen

De eerste methode waarop machine learning kan gebeuren, is supervised learning. Hierbij wordt er gebruikgemaakt van gelabelde data om het systeem te trainen. We weten wat de data is die we invoeren, dus er is steeds een vorm van sturing rond wat de uitkomst wordt. Eerst wordt er een grote dataset ingevoerd, waarna het systeem zelf gaat leren. Het past zijn eigen parameters beetje bij beetje aan en groeit zo. Daarna kan je dus een hoop onbekende data in het systeem plaatsen, waar het algoritme zijn verworven kennis op kan toepassen. Als we bijvoorbeeld een reeks trainingsafbeeldingen met sinaasappels ingeven, en vragen om het fruit te herkennen, dan is de kans zeer groot dat bij een onbekende afbeelding een oranje vlek wel eens aanzien kan worden als een sinaasappel. Een andere kleur zal bijvoorbeeld niet snel opgepikt worden voor een benadering door het algoritme. Dit is bovendien een van de meest gebruikte methodes binnen machine learning.

Machine learning is slechts een onderdeel van het veld van kunstmatige intelligentie.

Daar tegenover staat natuurlijk unsupervised learning. Hier gaat het machine learning-algoritme aan de slag met een boel niet-gelabelde data, waar het niet van weet wat er juist opstaat en het zelf gaat verkennen. Het zoekt op eigen houtje naar patronen en vaste waarden binnen de data. Er wordt dus niets geleid qua input, waardoor het in sommige gevallen moeilijker is om het juiste antwoord te krijgen. Om hier terug te grijpen naar het voorbeeld van de sinaasappels, zou je bijvoorbeeld een reeks afbeeldingen met daarop zowel bananen als sinaasappels kunnen ingeven. Omdat het systeem niet exact weet wat erop staat, zal het na voldoende afbeeldingen en enige tijd wel zelf kunnen aangeven dat er twee verschillende soorten fruit op de foto’s staan. Deze methode wordt doorgaans gebruikt om informatie in grotere datasets bij elkaar te voegen en te clusteren, en dat op een eenvoudige manier.

Tussen supervised en unsupervised learning bestaat er ook nog een hybrideversie, genaamd semi-supervised learning. Hierbij worden er tijdens de training van het machine learning-systeem zowel een klein aantal aan gelabelde data in het programma ingevoerd, als een groter deel aan niet-gelabelde data. Omdat data labelen prijzig en tijdrovend kan zijn, is het combineren van beide methodes een eenvoudige tussenoplossing. De kleine subset aan gelabelde gegevens voorziet een grotere mate aan nauwkeurigheid om het systeem te trainen, waarna de niet-gelabelde data alles verder opnemen.

Met name in gezichtsherkenning kan machine learning toegepast worden.

Een derde grote methode heet reinforcement learning. Hierbij wordt het algoritme in een situatie geplaatst en gaat het willekeurig op zoek naar bepaalde acties die het uit kan voeren om steeds meer succes te boeken. Het draait dus grotendeels om trial and error bij het vinden van de juiste antwoorden. Deze methode bestaat uit drie belangrijke onderdelen, zijnde de agent, de omgeving en de acties. De agent maakt de beslissingen, de omgeving is waar deze agent mee om moet gaan, en de acties zijn wat de agent allemaal probeert om succes te boeken. Een mooi voorbeeld om dit te illustreren is een race-spel waarbij een wagentje (de agent) een bepaald parcours moet afleggen, voorzien van bochten en obstakels (de omgeving), om daarna de eindmeet te halen. 

Hier kan je reinforcement learning op toepassen. De wagen zal eerst lange tijd in het wild rondrijden (als actie), op zoek naar iets van vooruitgang. Na verloop van tijd zullen deze ogenschijnlijk willekeurige acties ervoor zorgen dat het wagentje wel eens voorbij de eerste bocht komt, waarna het systeem begint door te hebben hoe het vooruit raakt. Het zal alle voorgaande succesvolle stappen opslaan en daarna volledig willekeurig nieuwe acties uitvoeren, tot ook deze iets van succes boeken en het wagentje uiteindelijk over de meet komt. Sommigen zullen reinforcement learning misschien nog wel kennen van AlphaGo uit 2015. Toen werd de methode, in combinatie met deep learning, toegepast om een systeem het bordspel Go te leren spelen. Het spel, met duidelijke, eenvoudige regels en ongeveer 2,1 x 10170 verschillende bordcombinaties, is een complex gegeven, maar toch sloeg de computer er voor het eerst in om een menselijke speler te verslaan. Inmiddels is het al op meerdere spellen en games toegepast, met telkens verbluffende resultaten. Er zijn natuurlijk nog meerdere manieren waarop machine learning werkt, dan slechts deze drie subgroepen. Deze bijkomende opties zijn echter wat meer op niches gericht, en halen we daarom niet aan.

Machine learning heeft de mogelijkheid om in sommige industrieën opmerkelijke veranderingen te realiseren.

Interessante hobby

Wil je graag zelf met machine learning aan de slag? Dat kan zeker, en het is nu makkelijker dan ooit. Let wel, je zal steeds iets van kennis nodig hebben, alvorens je er ten volste in kan duiken. Zo zal je bijvoorbeeld toch een minimum aan kennis over een bepaalde programmeertaal nodig hebben, zoals Python of R, en iets van wiskundige kennis. Daarnaast moet je ook goed weten wat je hier juist mee wil bereiken. Je moet een doel voor ogen hebben, zoals een of ander interessant project, om er jouw exacte manier van werken voor te vinden. Je kan online heel wat nuttige programma’s terugvinden, en er zijn voldoende cursussen om je ermee op weg te helpen, zoals bijvoorbeeld op tensorflow.org. Het is nog nooit zo eenvoudig geweest.


tagged