Achter de schermen van een ‘zelflerend’ algoritme: de magie van AI verklaard

Artificial intelligence (AI) wordt vaak neergezet als een soort magische techniek die op volledig autonome en zelflerende wijze de mensheid zal overnemen. In werkelijkheid is AI vooral een combinatie van statistiek en slim programmeren, waar júist veel mensenwerk bij komt kijken. In dit artikel laat ik zien wat er achter de schermen van populaire ‘zelflerende’ toepassingen schuil gaat.

Één van de bekendste onderzoeksvelden binnen AI is machine learning. Machine learning laat zich het beste uitleggen als een statistisch computermodel dat in staat is om patronen te herkennen in data. Het grote voordeel  ten opzichte van reguliere software is dat je het niet expliciet hoeft te programmeren om een bepaalde taak uit te laten voeren – dat stuk kan het systeem autonoom. Uiteindelijk, want wat daar aan vooraf gaat is een uitgebreid trainingstraject dat een hoop mensenwerk vereist. Een persoon moet het op te lossen probleem nauwkeurig definiëren, correcte en incorrecte antwoorden van tevoren afbakenen, trainingsdata labelen en goede en foute handelingen beoordelen. Daarnaast gaat een groot deel van het werk bij machine learning over het goed configureren van een algoritme. Voor elke case zijn andere instellingen optimaal en dit vereist een hoop test- en uitzoekwerk van de Data Scientist. Ik heb twee voorbeelden uit de praktijk gekozen om dit concreet te illustreren.

Chatbots

Chatbots zijn geautomatiseerde – sprekende of typende – gesprekspartners. Deze vorm van AI wordt momenteel steeds vaker ingezet om klantenservice-afdelingen te ontlasten, bijvoorbeeld door zelfstandig veelgestelde vragen te beantwoorden of bellers voor te sorteren zodat ze direct bij de juiste persoon terecht komen.

Chatbots worden geprogrammeerd om patronen te herkennen in de input die ze ontvangen. Op basis daarvan geven ze een vooraf gescript antwoord. Daar komt al behoorlijk wat menselijk hand- en denkwerk bij kijken. Voor een nieuwe chatbot moeten gespreksbomen worden uitgeschreven. Dat omhelst diverse variaties van input (e.g.: ‘Wat voor weer wordt het vandaag? Maar ook ‘Wordt het warm vandaag?’ of ‘Gaat het regenen?’) die moeten leiden tot de gewenste output (in dit geval het weerbericht). Het is tegenwoordig niet noodzakelijk om alle input-variaties handmatig in te voeren: met een goed annotatiemodel kunnen de belangrijkste patronen met een aantal voorbeelden worden herkend. Maar de respons-scripts worden al snel complex: op de vraag ‘wanneer komt Sinterklaas weer’ moet natuurlijk een ander script in werking treden dan die van het weerbericht. Een chatbot reageert dan ook niet simpelweg op steekwoorden maar is in staat relaties tussen verschillende steekwoorden te herkennen. Daarmee weet het nog niet welke relaties bij welk script horen: het definiëren en labelen daarvan is puur mensenwerk (of monnikenwerk, zoals het NRC recent zelfs schreef).

De volgende stap is om de chatbots ‘slimmer’ te laten worden naarmate ze vaker worden gebruikt. Er zijn mensen nodig om ‘foute’ en ‘goede’ gesprekken te definiëren en het algoritme te corrigeren in welke respons het moet geven. Op die manier ‘leert’ de chatbot om niet opnieuw dezelfde fout te maken, en wordt het patroon dat de bot herkent in de input steeds geavanceerder. Dat lijkt misschien zelflerend, maar er zijn continu mensen bezig met het geven van deze feedback. Naast Data Scientists wordt ook de eindgebruiker hier veelvuldig voor ingeschakeld. De Google Assistent is hiervan een mooi voorbeeld. Deze chatbot spreekt sinds kort Nederlands, maar nog niet heel goed. Om dat niveau te verhogen vraagt ze daarom regelmatig aan haar gebruikers of ze heeft gedaan wat je verwachtte (bijvoorbeeld om een duim omhoog of omlaag, zie afbeelding). Hoe meer mensen haar van zulke trainingsdata voorzien, hoe accurater ze kan voorspellen wat het beoogde antwoord op de volgende vraag wordt. Deze methode wordt ook wel ‘supervised learning’ genoemd.

Predictive maintenance

Het voorspellen van het moment dat verschillende machineonderdelen aan onderhoud of vervanging toe zijn kan een enorme efficiëntieverbetering opleveren. Met name in de industrie is predictive maintenance, zoals deze toepassing van machine learning heet, zeer populair. Maar voordat een machine zo slim is om zelf te vertellen dat het tijd wordt om een pomp of een lager te inspecteren, zijn er al een hoop manuren aan te pas gekomen. Dat begint bij het verzamelen van de data over variabelen die een effect hebben op de levensduur van machineonderdelen. Niet alleen zijn er ontelbare soorten machines (turbines, pompen, centrifuges, koelers), ook hebben ze verschillende motoren (gas, elektrisch, diesel), aandrijvingen, formaten, leeftijden en materialen. Daarnaast zijn er ook nog verschillende indicatoren die kunnen duiden op slijtage, variërend van vibraties en temperatuur tot rotatiesnelheid of druk. Er is dus al een hoop menselijke expertise gemoeid bij het inrichten van een oplossing die de juiste data verzamelt waar het algoritme uiteindelijk mee aan de slag gaat. Het verzamelen van deze data uit verschillende systemen, het opschonen en het combineren is doorgaans een tijdsintensief proces (zo’n 80% van de tijd van een data scientist volgens Forbes). En dan is er nog geen model of inzicht gecreëerd!

Om ervoor te zorgen dat het complexe predictive maintenance-algoritme de juiste resultaten levert, is een andere trainingsmethode vereist dan bij de chatbot. De chatbot ‘leert’ wat het moet doen aan de hand van complete, door mensen uitgewerkte voorbeelden: als iemand ‘x’ zegt, wil het ‘y’ weten. Bij predictive maintenance zijn er zoveel variabelen van invloed op de onderhoudsbehoefte, dat het vaak onbekend is waar het algoritme naar moet kijken. Het moet zelf in de kluwen van data op zoek naar de sterkste indicatoren van een probleemsituatie. Met andere woorden: we zeggen tegen het algoritme dat we ‘y’ willen weten, maar hebben weinig idee wat ‘x’ is, behalve dat het in de data verstopt zit. Dat het algoritme uiteindelijk vertelt wat we willen lijkt misschien zelflerend, maar voordat dat kan zijn opnieuw mensen nodig, deze keer om het algoritme te leren wat de waarden zijn die horen bij een machine die ‘goed’ of ‘fout’ draait. Anders gezegd: pas als er door de mens is verklapt wat een normale situatie en een probleemsituatie is, kan het algoritme gaan zoeken naar de ‘x’.

Meer waarde uit machine learning

AI-toepassingen, zoals chatbots en predictive maintenance, hebben een enorme potentie en kunnen van grote waarde zijn in het verhogen van efficiëntie. Maar wil je er als bedrijf mee aan de slag, dan is het wel belangrijk om je te beseffen dat het méér is dan het omzetten van een magische knop. Het proces om van data tot een voorspelling te komen moet nauwkeurig worden ingericht. Dat vergt kennisverbreding, misschien zelfs wel veranderingen in je bedrijfsvoering, maar zeker heel veel mensenwerk. Wie dat beseft, zal uiteindelijk met de juiste verwachtingen een succesvol traject ingaan, en een machine learning toepassing creëren die volledig afgestemd op de bedrijfsvoering de waarde opleveren die is beloofd.

Dit is een ingezonden bijdrage van Ivo Fugers, Data Scientist bij Ortec. Via deze link vind je meer informatie over de mogelijkheden van het bedrijf.