Wat is kunstmatige intelligentie en machine learning?

Wat is kunstmatige intelligentie en machine learning?

Kunstmatige intelligentie, machine learning en deep learning gaan de komende tien jaar onze banen, bedrijven en de maatschappij radicaal veranderen. Remy Gieling, auteur van het boek Ontdek de groeikansen van AI en spreker over kunstmatige intelligentie legt het in dit artikel kort en bondig uit, aan de hand van talloze gesprekken met ondernemers, wetenschappers en experts.

Remy verzorgt graag een lezing over het onderwerp voor uw webinar, congres of evenement zodat ook niet-techneuten op een prettige en informatieve manier kennis maken met de mogelijkheden en valkuilen van deze disruptieve innovatie. 

Waarom hoor ik tegenwoordig zoveel over kunstmatige intelligentie?

Artificial intelligence is geen nieuwe technologie. De term werd al in 1956 bedacht op de zogeheten Dartmouth conference ook wel bekend als de Dartmouth workshop. Hier kwamen verschillende wetenschappers samen om te filosoferen over de mogelijkheid van zelflerende computersystemen. Hoewel experts anno nu liever spreken over “augmented intelligence” sloeg het concept aan. Al in de jaren 60 was er de eerste chatbot, Eliza genaamd en in 1984 was er al een zelfrijdende auto op de universiteitscampus van Carnegie Mellon. Echter was er onvoldoende data en rekenkracht om de technologie in de praktijk bruikbaar te maken. Met de komst van cloud computing platformen zoals AWS, Microsoft Azure en het Google Cloud Platform én voldoende beschikbare data zal AI de komende jaren alleen maar een grotere rol gaan spelen. Geschat wordt dat elke dag 2,5 quintiljoen (een 1 met 30 nullen erachter) bytes aan nieuwe data wordt opgeslagen.

Wat zijn algoritmes?

Aan de basis van kunstmatige intelligentie staan algoritmes. Algoritmes zijn instructies voor een computer om een bepaald probleem op te lossen. Zoals je een recept in een kookboek volgt om een mooie Indiase curry te maken, zou je ook in een stappenplan kunnen opschrijven hoe bepaalde bedrijfsprocessen geregeld zijn. Een voorbeeld: hoe bepaal je of een medewerker van de salesafdeling presteert? Belt hij of zij genoeg? Maakt hij of zij genoeg afspraken in de maand? Communiceert hij of zij voldoende? Blijft er onderaan de streep meer over dan eruit gaat? Gooi er een weging tegenaan en je kan er een competentiescore uit berekenen. Je kunt dus zelf de kern van algoritmes schrijven. Dat begint bij heel secuur nadenken hoe beslissingen tot stand komen en ze bijvoorbeeld op te schrijven in een flowchart. 

Omdat computer niet zo goed zijn met taal, maar erg goed in razendsnelle berekeningen, werken algoritmes dus niet via een geschreven stappenplan, maar met wiskundige formules. Eenmaal de stappen uitgeschreven kan een wiskundig genie, data deskundige of programmeur kan ermee aan de slag om de doorvertaling te maken naar computercode. 

Sommige formules zijn betrekkelijk eenvoudig, anderen – voor geavanceerde toepassingen – zijn enkel te doorgronden door mensen met een doctoraat in geavanceerde statistiek. De formules zijn in de loop der jaren weinig veranderd, maar de rekenkracht die ervoor nodig is om ze op te lossen, was voorheen enkel beschikbaar in onderzoekslaboratoria van universiteiten of achter de hoge muren van grote techbedrijven. Met de komst van de cloud heeft iedereen ineens toegang tot de krachtige CPUs (processoren) en GPUs (grafische kaarten) die nodig zijn voor het ontwikkelen van toepassingen middels algoritmes. 

Is AI toekomstmuziek?

Hoewel je het niet altijd beseft, is kunstmatige intelligentie niet meer weg te denken in de wereld om ons heen. Immens complexe rekenmodellen zorgen in een oogwenk ervoor dat je uit miljarden webpagina’s het beste resultaat bovenaan Google te zien krijgt (net onder degene die het meest betaalt). Een arts laat je CT-scan misschien wel eerst door een algoritme checken, en niet de bankmedewerker beoordeelt je aanvraag voor een lening, maar dit wordt op de achtergrond door een computerprogramma gedaan. 

Startups ontwikkelen slimme tools die volledig gebouwd zijn rondom AI – denk aan de juridische zoekmachine BlueTick of het Rotterdamse Ciphix, dat processen voor grote klanten als KLM en Unilever automatiseert. 

Ook corporates vormen in een rap tempo AI-afdelingen om bestaande producten en diensten te optimaliseren. Philips, KPN, ING en de NS zoeken actief de samenwerking op met de wetenschap om niet alleen bestaande technieken toe te passen, maar ook onderzoek naar grote uitdagingen mogelijk te maken. De overheid gebruikt de technologie ook meer en meer. Zo kan een camera-auto van de gemeente Amsterdam zwerfafval herkennen en de locatie doorgeven aan de reinigingsdienst. Maar de techgiganten, die zijn pas echt spekkoper. Met de enorme hoeveelheid informatie over onze interesses (Facebook), koopgedrag (Alibaba), vragen (Google), contacten (Tencent) en het zakenleven (Microsoft) worden ze almaar slimmer en slimmer. 

Ook Amazon.com is heer en meester over het algoritme. Het bedrijf werkt volgens het principe van de ‘AI-flywheel’, zo valt te lezen in het boek Bezonomics van Brian Dumaine. Geen beslissing wordt gemaakt, zonder dat algoritmes door de data-schatkamer zijn geploeterd om advies uit te brengen. Sterker nog: algoritmes zijn bijna geheel verantwoordelijk voor de inkoopafdeling geworden: ze bepalen welk product, wanneer, waar en tegen welke prijs ingekocht moet worden om voldoende voorraad voor de webshop te behouden en plaatsen in veel gevallen zelfstandig de orders. Ook op de werkvloer regeert  het algoritme: halverwege 2020 had het bedrijf meer dan een miljoen medewerkers. Voor ‘eenvoudige functies’ bleek het inefficiënt dat een mens sollicitanten behandelt. Wie bijvoorbeeld order prikker in een distributiecentrum van Amazon wilt worden, wordt online aangenomen (of afgewezen) door een computer zonder dat er een mens aan te pas komt. Eenmaal werkzaam in het magazijn houden slimme sensoren je productiviteit secuur in de gaten. Ben je te langzaam? Dan laat een computer weten dat je bent ontslagen.

Containerbegrip

Artificial intelligence is dus een containerbegrip voor alle intelligente niet-biologische systemen, van simpele algoritmes tot Deep Thought, dat in de The Hitchhiker’s Guide to the Galaxy het antwoord geeft op de ultieme vraag over het leven, het universum, en alles (spoiler alert: dat is het getal 42).

Veel mensen vragen zich ook af wat AI níét is. De meeste voorbeelden hierboven is wat je  ‘narrow AI’ of ‘zwakke AI’ noemt: computerprogramma’s die goed zijn in het oplossen van één betrekkelijk simpele taak. Zelfs een zelfrijdende auto besturen valt hieronder: die kan je hopelijk veilig van A naar B brengen, maar is niet in staat om je huis te stofzuigen, een discussie over de zin van het leven te voeren of prijswinnende literatuur te schrijven. In populaire sciencefiction heeft AI vaak bovenmenselijke capaciteiten zoals Deep Thought, HAL 9000 in 2001: A Space Odyssey en de T-800 uit The Terminator. Die zitten de mensheid dikwijls flink in de weg. Dat is overigens niet altijd het geval, bewees de schattige opruimrobot WALL•E in de gelijknamige Pixar-film. Kunstmatige intelligentie die het menselijk brein evenaart, wordt ‘general AI’ of ‘sterke AI’ genoemd. Sommige wetenschappers denken dat computers al rond 2040 een dergelijke inteliigentie ontwikkelen. Voorlopig komen zelfs met de meest geavanceerde technieken computers niet in de buurt van dit toekomstbeeld. In dit boek focussen we ons liever op wat de techniek al wel kan.  

Machine Learning

Een veel voorkomend subgebied van kunstmatige intelligentie is machine learning. Daarbij volgt de computer niet langer een set voorgeprogrammeerde regels, maar leert hij door middel van ‘ervaring’. Wie bijvoorbeeld een programma wilde ontwerpen om spam te filteren moest vroeger een uitgebreid handboek schrijven: is de mail afkomstig van een bonafide afzender (dan mag hij door), staat erin dat Jort Kelder bitcoins wil verkopen (waarschijnlijk spam), mailt je schoonmoeder (twijfelgeval). Spammers werden echter steeds slimmer en wisten keer op keer de vaste regelset van de spam-filters om de tuin te leiden. Bovendien is het bijna onmogelijk om alle kenmerken van een bonafide of spam-email handmatig te programmeren. 

Machine learning gaat andersom te werk: je voedt het systeem met miljoenen e-mails (de ‘trainingsdata’), waarvan je – handmatig – aangeeft welke wel spam zijn en welke niet. De software kan vervolgens middels wiskundige berekeningen (het algoritme) zelf patronen herkennen in de mails van dubieuze afzenders. Zo kan het met grote zekerheid voorspellen of de volgende mail die binnenkomt echt van tante Bep is die je een goede verjaardag wenst of van een Russische hacker die je bedrijfsgeheimen wil achterhalen. Ook als je wilt voorspellen wanneer het beste moment is om een marketing-email te verzenden, zal je heel veel voorbeelden van soortgelijke e-mails moeten verzamelen met daarbij het aantal keer dat de mail werd geopend. 

Met of zonder toezicht

Omdat we bij bovenstaande voorbeelden de computer expliciet moeten vertellen waar hij naar op zoek is (spam e-mails of data voor de ideal open rate) spreken we hierbij van supervised learning. Je bent actief betrokken bij het trainingsproces, omdat je op elk voorbeeld dat je invoert een label hebt geplakt. Bepaalde algoritmes zijn echter ook in staat om verbanden te achterhalen in grote datasets, waar geen labels als aan hangen. We spreken in dat geval van unsupervised learning. Een voorbeeld: je wilt weten welke patronen er zitten in de aankopen van je klanten, zodat je klantprofielen kunt opstellen voor gerichte advertenties. De laatste variant reinforcement learning is pas recent in zwang gekomen. Hierbij draait de computer zelfstandig miljoenen simulaties, waarin het door middel van straffen en beloning (middels een score, je kunt software immers moeilijk een tik geven) steeds probeert op een betere uitkomt te komen. Dat kan een robot zijn die moet leren om een trap op te lopen zonder te vallen (een trede omhoog is een punt erbij, vallen is minpunten) of een computer die leert om het spel Pong, Mario of Flappy Bird te spelen. Reinforcement learning lijkt op de digitale doorvertaling van de evolutietheorie: alleen de ‘fitste’ algoritmes die een hoge score behalen worden gebruikt in de simulatie.

Taken

Plat gezegd zijn algoritmes bedreven in het verrichten van een drietal taken: 

  • Objecten classificeren
  • Voorspellen
  • Clusteren van groepen data

Hierboven hebben we het gehad over het classificeren van objecten: dat kan gaan om het herkennen van een spam-email, maar ook of een medewerker salarisverhoging moet krijgen of dat een leningaanvraag moet worden goedgekeurd of afgewezen. Naast classificeren kunnen algoritmes ook goed voorspellingen doen over de toekomst, op basis van historische data. Wanneer een autodealer tien jaar lang bijhoudt welk type klant, welk type auto wanneer koopt, hoe vaak die daarvoor is langs geweest, hoe lang hij of zij in de showroom loopt en welk weer het was op de dag van aankoop, dan kan de dealer die informatie middels een algoritme laten voorspellen, hoe groot de kans is dat de eerstvolgende persoon die binnen komt lopen, vertrekt met een nieuwe auto. Tot slot zijn er algoritmes die in grote datasets zelfstandig overeenkomstigheden kunnen herkennen. Deze informatie wordt geclusterd en inzichtelijk gemaakt in een grafiek. Zo kan een algoritme alle huizenkopers onderverdelen in bakjes van leeftijd, sekse, opleiding, salaris, postcodegebied en gezinsgrootte, maar ook lengte, oogkleur, muzieksmaak, merkvoorkeuren en zoekgedrag om hier onderlinge dwarsverbanden in te vinden. 

Neurale netwerken

Waar veel methodes voor machine learning redelijk eenvoudig te begrijpen zijn, is er één geavanceerde techniek die de afgelopen jaren bovengemiddeld veel interesse heeft gekregen: neurale netwerken. Geïnspireerd door het menselijk brein hebben wetenschappers een digitale variant gemaakt van het neuron, de complexe zenuwcel: de perceptron. Al in 1958 is die bedacht, maar de toepassing ervan os pas kortgeleden van de grond gekomen. De meeste neurale netwerken bestaan uit meerdere lagen perceptrons. Elke perceptron bevat een eigen rekenkundige formule, past de formule toe op ingevoerde data en geeft de uitkomst door aan de volgende laag met perceptrons, die weer een nieuwe formule op de gegevens loslaten, en zo verder. 

Hoe meer lagen, hoe complexer het model wordt. Een neuraal netwerk begin met een laag van één of meerdere invoerwaardes, wat kan variëren van een getal – zeg de termperatuur – tot de grijswaarde van een pixel in een foto. Zijn de neurale netwerken geavanceerd en bestaan ze uit veel lagen, dan spreekt men niet langer alleen van machine learning, maar ook van deep learning.

Neurale netwerken zijn bij uitstek geschikt voor het doorgronden van ongestructureerde data. Ongestructureerde data kun je niet zoals tekst en getallen makkelijk doorzoeken. Voorbeelden zijn geluidsfragmenten, pdf’s, video’s en foto’s. Een neuraal netwerk kan bijvoorbeeld voorspellen wat er op een foto te zien is. Het knipt daarvoor de foto’s op in (groepen van) individuele pixels. Die pixels (groepen) zijn donker of licht en hebben daarmee een bepaalde waarde van 0 (puur wit) tot 255 (puur zwart). Het neurale netwerk gaat op zoek naar herkenbare patronen in die pixels. Daarvoor moet het wel gevoed zijn met heel veel trainingsfoto’s waarbij vermeld is wat er op het beeld te zien is. Een neuraal netwerk heeft immers geen begrip van het concept ‘kat’ of zoals hieronder het getekende cijfer ‘8’, maar als het voldoende voorbeelden heeft gezien kan het met een bepaalde zekerheid zeggen dat het waarschijnlijk is dat op basis van de pixels er hoogstwaarschijnlijk een 8 te zien is. 

Een goede trainingsset aanleggen is een flinke klus. Hoe je dat doet en waar je bestaande trainingssets vandaan haalt, lees je in hoofdstuk 3 over het vinden, verzamelen en toepassen van data. 

Voor de meeste toepassingen is het niet nodig om je eigen deep learning-software te ontwikkelen, maar gebruik je een open source framework als PyTorch of TensorFlow. Omdat de invoer van informatie door talloze virtuele neuronen gaat, voordat er een uitkomst is, is de werking van een neuraal netwerk vaak lastig te achterhalen. Mocht je een systeem ontwikkelen dat besluit of iemand wel of geen lening krijgt toegewezen, dan is deze techniek niet het meest geschikt: je wil nog kunnen uitleggen waarom een aanvraag wordt af- of toegewezen. 

Het model

Wanneer je een algoritme hebt getraind, krijg je uiteindelijk een model. Dit model zorgt ervoor dat de data die je invoert, op basis van de achterliggende berekeningen een uniforme uitkomst oplevert. Bevat je trainingsset alleen maar rode appels en groene peren, dan zal het model een groene appel hoogstwaarschijnlijk als peer herkennen. Sommige systemen kunnen wel leren van nieuwe data. Zeg je in dat geval tegen het systeem: nee, dit is geen peer, maar een appel, dan zal het algoritme een nieuwe rekenmethode verzinnen om in de toekomst een betere voorspelling te doen. Deze nieuwe formule levert een nieuw model op. 

Wanneer een organisatie algoritmes inzet, zijn die dus niet per definitie zelflerend. In dat geval moet geregeld worden gecheckt of de modellen nog wel aansluiten op de actualiteit. De komst van het coronavirus was hier een mooi voorbeeld van: talloze algoritmes hielden rekening met bepaalde patronen die ze kenden uit het verleden: wegen zijn om acht uur ‘s ochtends overvol, mensen gaan in juli op vakantie, ‘s avonds zweten mensen in de sportschool en een gemiddeld gezin koopt per week één pak wc-papier. Je snapt het: alle voorspellingen konden in één keer bij het grofvuil. Ook naast ‘zwarte zwanen’ als een pandemie is het goed om je data up to date te houden. Wie voor een brillenketen zoekt naar de ideale locatie voor een nieuwe vestiging, mist kansen als je naar demografische gegevens uit 2010 kijkt. Misschien is er ergens een bejaardentehuis bijgebouwd of zijn er ondertussen een tiental concurrenten bijgekomen.  

Bouwpakket

Algoritmes en modellen hoef je niet altijd zelf te programmeren. Gelukkig maar, niet elk bedrijf heeft budget voor een kleine leger data deskundigen. Online zijn er voldoende digitale gereedschappen die het voor grote én kleinere organisaties mogelijk maakt om de kracht van algoritmes te gebruiken, zonder de rekenkundige fundering erachter te hoeven begrijpen. Het waren vaak de grote techbedrijven die belangrijke raamwerken voor het toepassen van kunstmatige intelligentie vrij beschikbaar stelden als opensourcesoftware. Google doneerde TensorFlow aan de gemeenschap, Facebook deed hetzelfde met PyTorch. Ondertussen regelde Microsoft zijn Azure-cloud in om het crunchen van data zo eenvoudig mogelijk te maken en deed Amazon hetzelfde met het immense serverpark van Amazon Web Services. 

Deze en vele andere tools maken het inmiddels ook voor een organisatie met betrekkelijk weinig mensen mogelijk om de kracht van artificial intelligence te benutten. Zoals AI-expert Jim Stolze het omschrijft: ‘Vroeger maakte je websites door html-codes achter elkaar te tikken, tegenwoordig kan zelfs de grootste leek via Wix.com of WordPress een pagina in elkaar zetten. Datzelfde gebeurt langzaam maar zeker ook met kunstmatige intelligentie. Mensen met een beetje technische handigheid kunnen zo AI-modellen in elkaar zetten’.

Related Posts