Spraakwaterartikel door Josse Muller – In science-fiction films hebben we hat al vaak genoeg zien gebeuren. Computers worden zo slim dat ze de macht overnemen, en iedereen onderwerpen aan hun superieure intellect. Dat lijkt nog ver weg. Toch kunnen zelflerende programma’s steeds meer. Ze bepalen welke facebook-posts of zoekresultaten we zien, vertalen best aardig tussen vrijwel alle talen, handelen op de beurs en spelen schaak en go minstens zo goed als de beste menselijke spelers. Waar komt die opmars van de kunstmatige intelligentie vandaan?

Er bestond altijd een duidelijk verschil tussen de manier waarop computers werken en ons eigen gedachteproces. Een computer was dan wel nauwkeurig en supersnel, maar kon lang niet zo goed patronen herkennen of creatieve oplossingen vinden als een mens. Dit onderscheid begint echter te vervagen. Programmeurs slagen er steeds beter in na te bootsen hoe onze hersenen abstracties maken en patronen zoeken in de wereld om ons heen. De programma’s die ze maken zijn niet zo feilloos precies als hun voorgangers, maar kunnen wel veel beter met onverwachte situaties omgaan. Deze programma’s worden niet geprogrammeerd, maar leren aan de hand van enorme hoeveelheden data die tegenwoordig beschikbaar zijn.

neural_net2Deze programma’s heten neurale netwerken en zijn gebaseerd op onze visuele schors, het hersengebied dat de signalen van onze ogen verwerkt. Het wordt getraind voor een bepaalde classificatie-opdracht. Bijvoorbeeld: het netwerk krijgt een foto te zien en moet het indelen in categorieën zoal: een gezicht, een tomaat, een huis of een fietser. Zo’n netwerk bestaat uit meerdere op elkaar gestapelde lagen, die elk uit enorm veel (kunstmatige) neuronen bestaan. Elk neuron is verbonden met alle neuronen in de lagen eronder en erboven, maar hoe sterk de verbinding is verschilt. In de sterkte van de verbindingen zit de kennis van het netwerk. De neuronen in de onderste laag zijn de input. Als het netwerk foto’s moet herkennen zijn dat dus de pixels. Elke pixel krijgt een waarde tussen nul en één. In de laag erboven stellen de neuronen een abstractere eigenschap voor. Bijvoorbeeld of er op een bepaalde plek op de foto een lijn of een stip te zien is. De waarde van dit neuron wordt bepaald door de waarden van de neuronen in de laag eronder te vermenigvuldigen met hun verbindingssterkte en dan op te tellen.

In elke volgende laag kunnen zo steeds abstractere eigenschappen worden herkend. Bijvoorbeeld een bakstenen muur, een grasveld of een oog. In de bovenste laag stelt elk neuron een bepaald label voor. Als het netwerk een bal te zien krijgt zal (als het goed is) alleen het neuron wat bij een bal hoort in de bovenste laag oplichten.

Dit soort netwerken maken onderzoekers al langer, maar ze zijn niet zo makkelijk te trainen. Het is veel te veel werk om dat met de hand te doen. In plaats daarvan wordt aan alle verbindingen eerst een willekeurige waarde gegeven. Daarna krijgt het netwerk één voor één voorbeelden uit de trainingsdata te zien. Het past vervolgens sterkte van alle verbindingen zo aan dat het goede antwoord een hogere waarde krijgt en alle foute antwoorden een lagere waarde. Zo krijgen neuronen in de middelste lagen uiteindelijk een eigen betekenis. Als ze toevallig een kenmerk herkennen die nuttig is voor het onderscheiden van de foto’s worden hu verbindingen met de laag erboven versterkt, en die met de laag eronder aangepast zodat ze dat kenmerk steeds beter kunnen herkennen. Als het netwerk op een goede manier getraind is kan het uiteindelijk nieuwe foto’s ook goed labelen. Overigens weet niemand precies hoe de netwerken in ons brein getraind worden. We weten dat het ook neurale netwerken zijn, maar het mechanisme dat de sterkte van de verbindingen aanpast hebben biologen nog niet gevonden.

Neurale netwerken hebben heel veel toepassingen. Ze kunnen bijvoorbeeld een facebook-post analyseren en voorspellen of mensen erop zouden klikken, en of het hate-speach of spam is. Als het finacieel nieuws is kunnen ze binnen enkele milliseconden voorspellen of het slecht nieuws is en aandelen verkopen. Of ze kunnen inschatten hoe goed een positie op een schaakbord is. Daarvoor is alleen een verzameling gelabelde traningsdata nodig.

Een groot nadeel aan een neuraal netwerk is dat het niet gemakkelijk te achterhalen is naar welke eigenschappen het kijkt. Het is in feite een black box. Dit kan bijvoorbeeld problemen opleveren als een bank kijkt hoe betrouwbaar een lener is, en het netwerk achter de schermen kijkt of ze allochtoon zijn.

Met alle data die beschikbaar is van nieuwssites, polls, advertenties en social media kunnen computers ook steeds beter inschatten hoe ze een emotionele reactie van mensen kunnen uitlokken. Met die informatie perfectioneren ze de (steeds beter als nuttige informatie vermomde) advertenties, om ons koopgedrag ongemerkt te manipuleren. Maar ook in verkiezingen is data-analyse steeds belangrijker. Doen de feiten er nog wel toe als campagnestrategen straks precies kunnen voorspellen welke uitspraak hun kandidaat moet doen om een emotie uit te lokken en stemmen te winnen? Misschien worden onze politici binnenkort wel aangestuurd door een supercomputer, en krijgen die sci-fi films toch nog gelijk.

Categorieën: Josse Muller