Hoe hebben we ooit als mensheid leren koken? Neem brood. Ooit moet iemand een kommetje graanpap zijn vergeten, om later te ontdekken dat het mengsel was gaan bubbelen en na verhitting ineens veel lekkerder en luchtiger werd dan bedoeld. Geen idee wat gist was, geen kennis van fermentatie, alleen de praktische ontdekking: als je dit mengsel even met rust laat, gebeurt er iets nuttigs. Of dat sommige ingrediënten pas na lange verhitting veilig eetbaar worden, zoals aardappels, of cassave. Zo zijn er nog heel veel meer voedingsmiddelen die we pas na veel toeval, walging en misschien wel buikpijn hebben ontdekt.
Van sommige recepten vraag je je af hoe je daar ooit achter zou kunnen komen. Vooral de bakrecepten: alleen als je precies x gram bloem met y gram suiker en z gram gist combineert op een heel specifieke temperatuur, krijg je (alleen na een bepaalde baktijd) het resultaat wat je wilde. Ook zijn er de totaal onverwachtse smaakcombinaties die gewoon enorm goed blijken te werken: karamel en zeezout, aardbeien en balsamico, spek en banaan, etcetera.
Voor alles is een eerste keer. Uitproberen, uitproberen en nóg eens uitproberen. Zodra we na al die trial & error iets eetbaars hebben gevonden, wordt het via schriftjes van grootmoeders, receptenboeken in de kast of zoekmachines op internet vastgelegd en doorgegeven.
Zo ontstaan recepten. Fijn voor mensen die niet zoveel trek in experimenten hebben, maar vooral ook handig omdat alles wat al een keer uitgezocht is niet nóg een keer door schade en schande hoeft te worden ondervonden. Zo kun je voortbouwen op alle inzichten die onze voorouders gedaan hebben.
Daar zitten overigens ook wel ‘inzichten’ bij die gewoon niet kloppen.
Zoals dat je champignons nóóit onder de stromende kraan zou mogen afspoelen (niet waar), of dat je geen zout aan het kookwater van peulvruchten moet toevoegen (niet waar), of dat eieren moeten schrikken (ook niet waar).
Het leuke van koken is dat je met je kennis van recepten en een beetje gevoel voor experiment tot smakelijke nieuwe ontdekkingen kunt komen.
Wat heeft dit allemaal met AI te maken?
Er is om allerlei redenen veel kritiek op de AI systemen die nu over ons worden uitgestort. Eén van die kritiekpunten is dat AI eigenlijk een bak statistiek is. Iedereen kent die wisecrack “there are lies, damn lies, and statistics”. Statistiek heeft bovendien niet bij iedereen een warme plek in het hart. Veel mensen herinneren zich vooral dat het op school ingewikkeld was. Er speelt dus emotie mee, maar ook los daarvan is het wel te begrijpen. Als een systeem 9 van de 10 keer goede resultaten levert, hoe kun je dan herkennen wanneer het die ene keer dus niét goed is? Zeker als de systemen zo gemaakt zijn dat ze altijd overtuigend klinken.
De manier waarop die statistiek-gebaseerde AI werkt, lijkt best wel op de trial & error manier die je je kunt voorstellen bij het ontdekken van nieuwe recepten.
Het beste diner van de wereld
Stel je voor dat je een klein legertje enthousiaste maar totaal onervaren culinaire amateurs in dienst hebt. Er liggen allerlei ingrediënten in de kast en de opdracht is simpel: maak het lekkerste diner wat je kunt verzinnen. Het enige wat je doet is proeven en feedback geven: lekker of niet, en hoe ver het van het ideaal af zit – niets meer. Je geeft geen enkele instructie aan de amateurs – het enige wat je gedaan hebt is ze in groepen indelen die steeds een volgende stap in de bereiding zetten. Je bereidt je voor op tientallen, honderden, misschien wel duizenden maaltijden die je moet proeven. Maar wel in de verwachting dat de amateurs leren van jouw feedback.
Ze gaan enthousiast aan de slag en in eerste instantie doen ze maar wat. De eerste groep amateurs pakt willekeurige ingrediënten en geeft die in een willekeurige hoeveelheid door aan de volgende groep. Die prepareert de ingrediënten: schoonmaken, of snijden, of schillen, of nog wat anders. De volgende groep bereidt de ingrediënten voor: marineren, door elkaar roeren, pakketjes van maken: het begint alwat op koken te lijken maar ze kiezen totaal random acties. De volgende groep verwerkt de voorbereide ingrediënten: koken, bakken, frituren, invriezen. Daarna worden de losse onderdelen op een bord bij elkaar gelegd en mooi opgemaakt. Tenslotte wordt door weer anderen de gerechten in een volgorde gelegd.
En dan mag jij genieten van een voorgerecht van zuurkoolijs met dropsaus, een hoofdgerecht van gepureerde mosselen met chocoladesnippers en een nagerecht van een gefrituurde hele knolselderij. Het is duidelijk: je hebt wel wat feedback.
In je feedback geef je natuurlijk aan dat het niet goed genoeg is, en je geeft ook aan waar de grootste problemen zitten. Dat doe je voor elke groep: wat er mis is met de volgorde van de gerechten, waar het schort aan de samenstelling op het bord, welke bereidingswijze er het meest naast zat, en uiteindelijk ook welke ingrediënten meer, en welke minder zouden moeten. De culinaire amateurs passen hun werkwijze een beetje aan op basis daarvan en doen een nieuwe poging. Na heel veel rondes komt er eindelijk iets aanvaardbaars op tafel: ze hebben het koksvak geleerd.
Zo werkt deep learning, één van de basistechnieken binnen AI, ook in grote lijnen. Het is bij AI alleen geen legertje culinaire amateurs, maar het zijn simpele rekeneenheden (‘neuronen’ genoemd) die in lagen zijn georganiseerd, waarbij elke laag de output van de vorige laag neemt en die verwerkt en zo een netwerk vormen. Net zoals de culinaire amateurs voortbouwden op het werk van de andere groep. De feedback wordt gegeven door aan te geven hoe ver de output van dit neurale netwerk afwijkt van wat het moet zijn, waarna alle rekeneenheden een klein beetje bijgesteld worden, afhankelijk van hoe groot de fout op elk niveau is.
De maaltijdbereiding ging met maar een paar lagen (ingrediënten, voorbereiden, bereiden, samenstellen, opdienen) maar in de praktijk zijn er heel veel meer tussenstappen nodig voor een goede maaltijd. Op dezelfde manier heeft een AI neuraal netwerk ook veel meer lagen nodig om iets zinnigs te kunnen doen – vandaar de term ‘deep’ learning, het diepe slaat op de grote hoeveelheid lagen.
Van trial & error naar recepten
Leuke analogie, maar er is één groot verschil. Dat AI-legertje, die enthousiaste culinaire amateurs uit dit voorbeeld, hebben geleerd op welke temperatuur een oven moet worden ingesteld voor een bepaald soort baksel of welke combinatie van specerijen goed werkt. Maar: dat hebben ze niet op een herbruikbare manier vastgelegd. Ze zijn met andere woorden vergeten om al die ervaring in hun receptenschriftje op te schrijven. Die AI-modellen die zo getraind zijn blijven in wezen tabellenboeken met statistische informatie. Een expliciete regel “als dit, dan dat” komt er niet bij kijken: wel ervaring, geen kennis.
Het verschil tussen impliciete ervaring en expliciete kennis zie je bij mensen ook terug.
De Nobelprijswinnende psycholoog Daniel Kahneman noemt dat in zijn boek Thinking, fast and slow ‘systeem 1’ en ‘systeem 2’. Daarin is ‘systeem 1’ alles wat we per direct concluderen. Er wordt een bal in je richting gegooid en je vangt hem op. Je spreekt een sollicitant en bent meteen onder de indruk. Daarentegen is ‘systeem 2’ alles waar je even over moet nadenken. De rekensom 651 x 1281. Waarom je de sollicitant tóch afwijst. Eigenlijk alles waarbij je met expliciete redeneerstappen tot een resultaat komt.
Die recepten, die hebben binnen de AI de oudste rechten. De geboorte van AI als vakgebied was op de fameuze Dartmouth Workshop, alweer 70 jaar geleden. De aanpak was vooral gericht op het imiteren van menselijk denken: hoe kun je een computer redeneerstappen laten nemen? Dit wordt ook wel Good Old Fashioned AI (GOFAI) genoemd.
Die aanpak bleek lastiger dan gedacht: het is niet eenvoudig om alle menselijke kennis in redeneerstappen te vangen. Voor de hoger niveau redeneringen (‘als er een voetganger oversteekt, moet je remmen’) lukt het heel aardig, maar het probleem zat vooral in het omgaan met de slordige werkelijkheid. Hoe vertel je een computer precies wat een ‘voetganger’ is en wat is ‘oversteken’ eigenlijk? Vergelijk het met kookrecepten: ‘bak de ui 5 minuten in olijfolie’ is een instructie die makkelijker is dan ‘snipper de ui’: het is veel lastiger om dat in precieze kleine stappen op te schrijven.
Recepten zijn ouderwets!
De problemen om een computer onze menselijke redeneerstappen te laten uitvoeren leidden tot een ‘AI winter’ in de jaren 90: niemand dacht dat het nog wat zou worden met AI en er werd nauwelijks meer in geïnvesteerd. De term AI was daardoor ook wat verdacht geworden. Daarom werden allerlei alternatieve technieken die op veel rekenwerk en statistiek gebaseerd waren geen AI maar ‘machine learning’ genoemd.
Hierbij wordt uitgegaan van de data zelf. De computer gaat op zoek naar patronen en achterhaalt zo wat in de praktijk het beste werkt – net zoals de culinaire amateurs die maar wat uitproberen en zo ontdekken wat lekker is.
Deze manier van werken kwam in een enorme stroomversnelling toen er een aantal dingen bij elkaar kwamen. De eerste was de (toen al bekende) ‘backpropagation’ techniek: de manier waarop de feedback over het perfecte diner wordt doorgegeven aan de culinaire amateurs. Deze bleek met een slimme rekentruuk heel efficiënt uitvoerbaar zijn. Ook kwam er door goedkopere computers en internet heel veel data beschikbaar. En bovendien bleken bepaalde computerchips (GPU’s, die vooral in games gebruikt werden) heel geschikt te zijn om die backpropagation berekeningen op uit te voeren.
Deze ‘Deep Learning’ techniek bleek op veel terreinen verrassend effectief. Het patroon was: als er veel data is, dan kun je deep learning gebruiken. Meer is beter. Het andere buzzword was daarom ‘big data’, iets wat nu héél erg 2010 klinkt.
Mijn eerste baan (begin jaren 90) was het werken aan de sortering van briefpost: ontwerpen van een computersysteem dat in staat is om handgeschreven adressen op brieven te kunnen lezen. Dat werd gedaan door de onderzoeksafdeling van KPN, die op dat moment bij de absolute wereldtop hoorde. Gevraagd naar het geheim gaven ze aan dat ze wel een paar slimme truuks hadden, maar dat het vooral belangrijk was om heel veel trainingsdata te hebben. En zij hadden gewoon het allermeest. Meer is beter! (Ze bestaan nog steeds, nu als een apart bedrijf: Prime Vision in Delft.)
Het voorlopige sluitstuk van Deep Learning is de ‘transformer’, een rekenschema dat je kunt beschouwen als de motor van de grote taalmodellen die in chatbots gebruikt worden. (Meer over de rol van deze transformers in mijn allereerste blog: AI uitleggen alsof je een auto aan een Middeleeuwer uitlegt.)
Ondanks al hun successen zijn Deep Learning en zijn moderne neefje, de Transformer, niet zonder problemen. Voor de transformer die in taalmodellen zit is hallucinatie het grootste probleem: het verzinnen van dingen die er niet zijn. Kan dat opgelost worden?
De beste kok heeft kennis én ervaring
Je ziet het bij Heel Holland Bakt: de winnaars hebben uitstekende kennis van alle recepten, zodat ze voor elke opdracht de juiste set technieken kunnen mobiliseren. Daarnaast hebben ze ook ervaring, zodat ze kunnen aanvoelen welke smaken goed bij elkaar passen, of bij onverwachtse problemen weten hoe ze daar omheen kunnen werken.
Ook de thuiskok zal het herkennen: als je niet zoveel ervaring hebt, is het een risico om een heel complex recept te gebruiken als je gasten te eten krijgt.
Een eenvoudiger recept is dan ook een goede keuze, maar de meeste thuiskoks schamen zich toch wel een beetje als ze ‘pakjes en zakjes’ of andere voorgefabriceerde maaltijdcomponenten gebruiken. Dat voelt toch een beetje als valsspelen. Op dezelfde manier lijkt de consensus over AI-gebruik te zijn dat het OK is om een stuk tekst door AI te laten verbeteren, maar dat het als een zwaktebod wordt gezien als mensen hun hele stuk door AI laten schrijven.
Dé manier om echt goede AI te maken is als de data-gebaseerde AI die met Machine Learning (of Deep Learning) werkt, gecombineerd wordt met de kennis-gebaseerde AI die op expliciete kennisregels gebaseerd is. Dit wordt ook wel ‘neurosymbolische’ AI genoemd: het ‘neuro’ slaat op de Deep Learning, waarin neurale netwerken gebruikt worden, en het ‘symbolische’ slaat op de kennisregels, die in symbolen worden weergegeven. Het blijkt alleen dat het nog helemaal niet voor de hand ligt hoe je dat precies moet doen. Alle miljardeninvesteringen zijn de afgelopen jaren naar de ‘data’ aanpak gegaan, en heel langzaam komt men er achter dat het nuttig is om harde kennisregels toe te voegen.
De toekomst van AI ligt niet in nóg grotere keukens met nóg meer proefrondes, maar in systemen die ook leren opschrijven wat ze hebben ontdekt.
Gerelateerde blogs:
- Hoe je AI aan een middeleeuwer uitlegt Wat de rol van de transformer in een chatbot is, en wat er nog meer voor nodig is.
- Terug naar school: wat grammatica en topografie met AI te maken hebben Hoe deep learning ervoor zorgt dat je woorden kunt voorspellen.
- Vertrouwen op AI is gevaarlijk. Niet vertrouwen ook. Hoe statistiek doorwerkt in de betrouwbaarheid van AI.
- AI is niet één ding maar een heel wagenpark Meer soorten AI, vergeleken met verschillende soorten voertuigen. Het lukte mij hier niet om Neurosymbolic AI goed te presenteren, daarvoor had ik de voedselbereiding metafoor van deze blog nodig.


Plaats een reactie