Machine learning, Deep learning, AI en zelflerende algoritmes

Joris Docter -

Het is één van de “hot topics” van de afgelopen jaren: computers die zelf kunnen denken en leren. Er is al heel veel geschreven over de onbegrensde mogelijkheden en nog meer over de gevaren die schuilen in Artificial Intelligence als computers slimmer worden dan de mensen die ze hebben ontwikkeld. Hoe relevant is dit alles voor een bedrijf als Gekko die op beperkte schaal ook zelflerende algoritmes gebruikt? En wat betekent dit voor de gebruikers van Gekko? Een analyse van AI in praktijk.


 

Definitie: Wat is Artificial Intelligence

AI wordt gezien als één van de uitdagingen van de mensheid in de 21e eeuw. Helaas wordt de terechte discussie over dit belangrijke onderwerp over het algemeen gesimplificeerd tot de trailer van de terminator film, Hollywood’s interpretatie van AI waarbij “Killer robots” de mensheid willen uitroeien. Een dergelijk doemscenario is echter zeer onwaarschijnlijk en daarom zal dit stuk vooral gaan over de praktische toepassingen van AI. Desondanks zullen we aan het einde van dit stuk nog even terugkomen op killer robots en waarom films zelfs niet in de buurt van realiteit (zullen) komen.

Om een goede discussie te hebben over Artificial Intelligence, moeten we allereerst duidelijk maken wat Artificial Intelligence precies is. Er is namelijk veel onduidelijk over deze term. In principe betekent "Artificial Intelligence" dat iets wat niet menselijk is en dus niet intelligent is en zelf kan denken en beslissingen maken, overkomt als iets dat dat wél kan. Dus als een computer zelf zou kunnen denken en beslissingen maken, dan zou dat kwalificeren als AI. Maar ook als een computer dat NIET zelf kan, dan zou dat nog steeds kunnen kwalificeren als AI. Zolang die computer maar overkomt alsof deze zelf kan denken, noemen we dat al AI.

Om hier een voorbeeld van te geven: toen Siri (de spraak software van Apple) voor het eerst werd gelanceerd als virtuele assistent door Apple, kon je tegen Siri praten en dingen vragen. Siri gaf vervolgens antwoord alsof ze echt begreep wat je bedoelde. Echter, het enige wat Siri deed was een vooraf ingesteld programma volgen waarbij ze vaste antwoorden gaf op vragen die werden gesteld. Al die coole antwoorden die Siri gaf, waren allemaal voorgeprogrammeerd en bedacht door een ontwikkelaar bij Apple. Het was niet zo dat Siri die antwoorden zelf had bedacht. Het leek alsof Siri je echt begreep en zelfs grapjes kon maken maar uiteindelijk deed ze niets anders dan een bandje afspelen. Toch noemen we ook dit AI.

 

Zelflerende algoritmes die AI “slim” maakt 

AI is dus vaak niet zo bijzonder als mensen denken. Het kan (en is ook meestal) ook gewoon een domme machine zijn die volgens een vast programma werkt wat ooit is gemaakt door een mens. Dat programma zit dan alleen zo in elkaar dat het lijkt alsof het een slim programma is. Echter de meeste mensen denken bij AI aan iets anders, namelijk een computerprogramma dat niet alleen doet wat een mens hem heeft opgedragen, maar ook zelf beslissingen kan nemen en zich aanpast naar nieuwe situaties.

Een dergelijk slim programma die dingen kan doen die nooit door een mens zijn voorgeprogrammeerd, maakt gebruik van zogenaamde zelflerende algoritmes. Dat betekent dat het programma zelf aanpassingen kan maken in de output die het geeft op basis van wat het “leert” van eerdere interacties. Zelfs als die output niet expliciet is gegeven door de mens die het programma heeft geschreven.

Om hier een voorbeeld van te geven, stel dat je een zelfrijdende auto hebt met daarin een zelflerend programma welke als taak heeft om te voorkomen dat de auto tegen een mens aan botst. Het zou bijna onmogelijk zijn om dit computerprogramma zo te programmeren dat het iedere situatie herkent waarbij een mens op het punt staat om tegen een auto aan te botsen. Stel dat iemand op de stoep loopt naast de zelfrijdende auto, betekent dat dan dat deze persoon op het punt staat om de straat over te steken en er een kans bestaat dat hij tegen de auto aankomt? Wat als die persoon aan het rennen is of juist stilstaat? En wat als er een zebrapad in de buurt is? 

Allemaal situaties die je onmogelijk kan laten voorprogrammeren door een mens omdat iedere situatie weer net iets anders is. Een zelflerend algoritme zorgt er dan echter voor dat het programma toch kan voorkomen dat er een botsing ontstaat. De auto kan namelijk met zo’n programma zelf per situatie inschatten of een botsing waarschijnlijk is of niet. Dat hoef je het programma niet meer te vertellen omdat het programma dit zichzelf leert.

 

AI leert door middel van Machine Learning

Dit leren van een dergelijk programma gaat anders dan het leren van een mens. Een zelflerend algoritme maakt gebruik van Machine Learning. Machine learning laat een programma heel veel situaties bekijken en probeert patronen in die situaties te ontdekken die voorspellen hoe in een nieuwe situatie moet worden gereageerd. In het geval van onze zelfrijdende auto bijvoorbeeld, zou het besturingssysteem van de auto op basis van analyse van eerdere situaties kunnen concluderen dat iemand die op de stoep loopt waarschijnlijk wil oversteken als die persoon zijn hoofd van links naar rechts beweegt om te kijken of er verkeer aankomt. Als er maar genoeg situaties waren waarin dat eerder het geval was, dan kan het zelflerende algoritme inschatten dat dat in de nieuwe situatie ook het geval was. Zonder dat iemand dat aan het programma hoeft uit te leggen.

Dit Machine Learning klinkt wellicht een beetje omslachtig en erg inefficiënt. Maar niets is minder waar. Het is zelfs één van de redenen dat AI zoveel potentie heeft. Want in tegenstelling tot een mens, hoeft bij machine learning de zelfrijdende auto niet individueel te leren. De zelfrijdende auto’s kunnen hun gezamenlijke ervaringen digitaal met elkaar delen en collectief leren van elkaars ervaringen. Dit heet ook wel Network Learning (er zijn ook andere benamingen maar dit vonden wij het meest toepasselijke) en betekent niets anders dat als één zelfrijdende auto in een bepaalde situatie terechtkomt, alle andere zelfrijdende auto’s met hetzelfde programma ook van deze situatie kunnen leren. Hierdoor krijgt de AI veel meer informatie dan bijvoorbeeld een mens en kan het dus ook veel sneller leren. Bovendien krijgt het zoveel informatie dat het zelflerende algoritme patronen kan ontdekken die een mens nooit zelf had kunnen zien. Dit heet ook wel Deep Learning waarbij alle gegevens door de AI worden doorspit op zoek naar statistische verbanden zonder dat deze vooraf bekend zijn (ook wel data mining genoemd). Deze niet intuïtieve manier van leren zorgt er dus voor dat doormiddel van Network Learning en Deep Learning, AI heel snel informatie kan krijgen en patronenen kan ontdekken die onzichtbaar zijn voor een mens.

 

Hoe gebruikt Gekko Artificial Intelligence

Gekko is relatief recent ook AI gaan gebruiken om nieuwe diensten aan te bieden. Sinds 2020 bieden wij de mogelijkheid aan dat wij informatie op onkosten bonnen automatisch uitlezen. Je neemt een foto van een bonnetje en Gekko leest automatisch de datum, het bedrag, de btw, etc. af. Slim toch? Zeker als je snel je belastingen wil doen! 

In eerste instantie viel het wel mee hoe "slim" dit was. We maakt jn namelijk bij lancering van de functie gebruik van een statisch algoritme die op basis van vaste opdrachten de juiste gegevens probeerde te achterhalen. Dus als je een foto van een bon maakt, dan wordt eerst alle tekst gescand en vervolgens bepaald een algoritme op basis van vaste instructies wat de juiste informatie was. Bijvoorbeeld als een bedrag dikgedrukt is, betekent dit waarschijnlijk dat het om het totaalbedrag gaat. En als er “BTW” en “21%” op een bepaalde hoogte staat, dan betekent het waarschijnlijk dat een bedrag op dezelfde hoogte de betaalde btw van 21% is. Allemaal gecodeerd door een mens.

Dat eerste algoritme was statisch en dus “dom” al waren veel mensen aardig onder de indruk. Het systeem was namelijk behoorlijk accuraat en leek dus ook best wel "slim". Echter, sinds 2021 (zie blog over de nieuwe onkosten module) zijn we ook begonnen om aan het systeem Machine Learning toe te voegen. Dat werkt als volgt: iedere keer als iemand een bonnetje scant, leest het systeem automatisch de gegevens uit. Net als bij het “domme” systeem. Echter, nu verzameld het systeem ook de correcties die mensen maken op de gegevens. En op basis van die correcties kan het systeem leren waar er fouten zitten in het algoritme en dat uit zich zelf verbeteren. En omdat het hier niet gaat om de invoer in een individueel account maar alle invoer van ruim 100.000 gebruikers op Gekko, moet dit het systeem in staat stellen om veel accurater bonnen te scannen dan onze programmeurs ooit zouden kunnen programmeren.

 

Maar is AI echt zo slim?

Machine Learning gecombineerd met Network Learning geeft dus ongekende mogelijkheden aan AI die voor een mens onbereikbaar zullen blijven. Maar we moeten hierbij ook direct wat kanttekeningen maken waarom ondanks deze voordelen wij denken dat AI nooit het niveau zou halen van de mens. Het is dus ook onwaarschijnlijk dat wij als mensen ooit “vervangen” zullen worden door een computer, zelfs als die computer veel beter wordt in bepaalde taken (al blijft dat natuurlijk altijd een beetje koffiedik kijken).

AI kan namelijk heel goed gebruikt worden voor duidelijke taken zoals het aflezen van een bonnetje. Dat is behoorlijk concrete taak die je goed of fout kan doen. Maar heel veel dingen die een mens doet zijn veel abstracter, zeker als het aankomt op taal. Neem bijvoorbeeld een stoel. Ieder mens begrijpt wat een stoel is. Maar om dat aan een machine uit te leggen is ontzettend complex. Je kan wel zeggen “een stoel is iets waar je op kan zitten” maar waar zit dan precies het verschil met een bank? En hoe zou je bijvoorbeeld een leeg krat bier waar je op zit classificeren? Daar kan je ook op zitten, toch? Een mens ziet intuïtief bij dit soort alledaagse dingen wat er wordt bedoeld, maar AI niet.

Er zullen mensen zeggen dat dit slechts een kwestie van tijd is voordat een machine precies het verschil tussen een stoel waarop iemand zit en een bierkratje. Als je het maar vaak genoeg herhaalt, zal de machine learning het uiteindelijk snappen. Echter, dan nog steeds blijft het de vraag WAT een dergelijk algoritme dan snapt? Het lijkt onwaarschijnlijk dat een machine zal begrijpen dat als je moe bent het fijn kan zijn om te gaan zitten, ongeacht of dat een comfortabele stoel of een kratje is. Dus waarom zou je dat willen gebruiken. Sowieso heeft een machine geen interne motivatie zoals een mens. Het voelt geen pijn, blijdschap of verdriet. En machine learning zal er niet voor zorgen dat een AI plotseling een andere motivatie krijgt dan is opgedragen door de maker van zijn code.

Dit laatste gaf intern binnen Gekko een interessante filosofische discussie. Wat maakt een mens een mens en bovendien slimmer dan een machine? Een van de theorieën die werd besproken was dat een mens naast bepaalde rationele beweegredenen, ook emotionele motivaties heeft die worden gestuurd door fysieke waarnemingen. Het plezierige gevoel dat we krijgen als we in gezelschap zijn van fijne mensen. De onbestemdheid die we krijgen als we juist in een groep mensen zijn die we niet kennen. De opwinding die we voelen als we boos zijn of verdrietig. Of gewoon de pijn die je voelt als je je teen stoot en het plezier van een maaltijd als je hongerig bent. Allemaal dingen die niets met ratio te maken hebben en die ook fysiologisch helemaal niet door de hersenen worden aangestuurd maar onderdeel zijn van een veel basaler besturingssysteem uit het begin van onze evolutie. Hetzelfde systeem dat eencellige organismes zure omgevingen laat vermijden en zoete omgevingen laat opzoeken. Dat is ook geen bewuste “rationele” keuze zoals een mens of computer kan maken. De stelling is daarom dat zolang AI niet een dergelijk emotioneel waarde systeem heeft, het geen goede motivatie kan opbrengen en altijd inferieur zal blijven aan de mens. En op het moment dat AI wel een dergelijk emotioneel waarde systeem zou krijgen, diezelfde AI een stuk minder rationeel en slim zou handelen en dezelfde fouten zal maken als de mens. Wij denken dus dat we voorlopig nog een voorsprong hebben op de computers maar nogmaals, dit is slechts een filosofische stelling waarover je hieronder zeker je mening op mag geven.

 

Killer robots blijven fictie maar er zijn wel zorgen

Korte conclusie is dus dat AI heel veel mogelijkheden opent en dat het tegelijkertijd onwaarschijnlijk is dat we plotseling een robot krijgen met een eigen bewustzijn die de mens gaat vervangen, laat staan uitroeien. Er zitten echter wel degelijk nadelen aan AI, al zijn die nadelen meer prozaïsch.

Het belangrijkste probleem van AI dat wij zien, is dat het de verantwoordelijkheid van beslissingen weghaalt bij een mens en neerlegt bij een machine. Wat gebeurd er bijvoorbeeld als een zelfrijdende auto iemand doodrijdt? Wiens schuld is dat dan? En wie zou hiervoor verantwoordelijk moeten worden gehouden? Dit zijn zeer complexe ethische vragen die er toe hebben geleid dat veel wetenschappers aandringen om regels omtrent AI. Zeker als het gaat om bijvoorbeeld wapens in een oorlog. Wapens wekken nu eenmaal bij uitstek morele vragen op die een machine niet kan beantwoorden of verantwoordelijk voor kan worden gehouden. 

Voor Gekko spelen dergelijke zware afwegingen natuurlijk veel minder een rol, maar ook wij zijn ons zeer bewust van de implicaties van het gebruik van Machine Learning in onze apps. Door bijvoorbeeld de gegevens van verschillende gebruikers te combineren om ons algoritme te laten leren, kan er de mogelijkheid ontstaan dat de privacy van een individuele gebruiker in het geding komt. Als je hier geen duidelijke safeguards tegen hebt, kun je een dergelijk risico lopen met AI. Daarom staan wij bij Gekko als een huis achter onze privacy statement en zullen wij nooit gegevens van onze gebruikers zonder expliciete toestemming delen met anderen. Bovendien zullen de mensen achter het Gekko Team hier ook altijd verantwoording voor dragen en zullen wij ons nooit achter een algoritme verschuilen.

Nieuws


Joris is binnen Gekko als product owner verantwoordelijk voor de operationele kant van de software ontwikkeling en de gebruikerservaring.