Het is tegenwoordig heel gewoon geworden om moderne systemen voor machinaal leren “zwarte dozen” te horen noemen. Neem als voorbeeld een recente aflevering van de podcast van Sam Harris, waarin hij AI-pionier Stuart Russell interviewde. Harris vraagt:

“Dus, als ik me niet vergis, zijn de meeste, zo niet alle van deze deep learning-benaderingen, of zelfs meer in het algemeen machine learning-benaderingen, in wezen zwarte dozen, waarin je niet echt kunt inspecteren hoe het algoritme bereikt wat het bereikt.”

Hoewel deze metafoor geschikt is voor sommige specifieke situaties, is hij eigenlijk behoorlijk misleidend in het algemeen, en kan hij een aanzienlijke mate van verwarring veroorzaken. Zoals we zullen zien, is een deep learning-systeem geen zwarte doos; zelfs de ontwikkeling van een dergelijk systeem hoeft geen zwarte doos te zijn. De echte uitdaging is echter dat beide zaken complex zijn, en niet noodzakelijk goed worden begrepen. Ik wil hier proberen een aantal van deze ideeën te verduidelijken, en tegelijkertijd doordenken wat we bedoelen met verklaringen.

Zoals ik hieronder zal uitleggen, denk ik dat de verwarring althans gedeeltelijk voortkomt uit de misvattingen die mensen hebben over hoe deze systemen werken. Wanneer mensen naar de zwarte doos metafoor grijpen, lijken ze uit te drukken dat het moeilijk is om het doel van de verschillende componenten in een model voor machinaal leren te begrijpen. Hoewel dit inderdaad moeilijk is, wil ik betogen dat het ook een onrealistische verwachting is. Gaandeweg zal ik proberen uit te leggen wat het verschil is tussen modellen en hoe ze worden getraind, scenario’s bespreken waarin de metafoor van de zwarte doos op zijn plaats is, en suggereren dat in veel opzichten mensen de echte zwarte dozen zijn, althans wat machine learning betreft.

Uitleg

Om te beginnen is het nuttig om na te denken over wat mensen bedoelen als ze het over uitleg hebben. Dit is zeker geen triviale vraag, maar er lijken ten minste twee bijzonder relevante manieren te zijn om hierover na te denken.

Wanneer we iemand om een verklaring vragen van waarom hij iets heeft gedaan (“Waarom heb je X gedaan?”), gaan we uit van een bepaalde reeks achtergrondveronderstellingen. In het geval van een beslissing die zorgvuldig is genomen, gaan we er doorgaans van uit dat ze een goede reden hadden om te handelen zoals ze hebben gedaan, en vragen we in wezen naar het redeneerproces dat ze hebben gebruikt om de beslissing te nemen. We zouden bijvoorbeeld kunnen verwachten dat ze de voors en tegens tegen elkaar hebben afgewogen en een handelwijze hebben gekozen op basis van de verwachting dat die tot een bepaald resultaat zou leiden.

Wanneer we vragen waarom iets verkeerd is gegaan, vragen we daarentegen naar een soort post-hoc verklaring van het falen. Bijvoorbeeld, na een auto-ongeluk, willen we misschien een verklaring van de oorzaak van het ongeluk. Was de bestuurder afgeleid? Heeft een andere auto hem doen uitwijken? In plaats van een redeneerproces, vragen we min of meer naar de kritische stimulus die een bepaalde reactie buiten het normale gedrag om veroorzaakte.

Wanneer mensen aan kunstmatige intelligentie denken, lijken ze meestal de eerste soort verklaring in gedachten te hebben. De verwachting is dat het systeem een afweging heeft gemaakt en op basis van de verwachte uitkomst een handelwijze heeft gekozen. Hoewel er gevallen zijn waarin dit mogelijk is, zien we steeds meer een verschuiving naar systemen die meer lijken op het tweede geval; dat wil zeggen dat ze prikkels ontvangen en dan gewoon reageren.

Er zijn heel goede redenen voor (niet in de laatste plaats omdat de wereld ingewikkeld is), maar het betekent wel dat het moeilijker is om te begrijpen waarom een bepaalde beslissing is genomen, of waarom we bij het ene model zijn uitgekomen in plaats van bij het andere. Laten we daarom eens kijken naar wat we onder een model verstaan, en naar de metafoor van de zwarte doos.

Dozen en modellen

De metafoor van de zwarte doos stamt uit de begintijd van de cybernetica en het behaviorisme, en verwijst gewoonlijk naar een systeem waarvan we alleen de inputs en outputs kunnen waarnemen, maar niet de interne werking. Dit was inderdaad de manier waarop B.F. Skinner het brein in het algemeen conceptualiseerde. Hoewel hij met succes aantoonde hoe bepaald aangeleerd gedrag kon worden verklaard door een versterkingssignaal dat bepaalde inputs verbond met bepaalde outputs, maakte hij vervolgens de beroemde fout te denken dat deze theorie gemakkelijk al het menselijk gedrag kon verklaren, inclusief taal.

Als een eenvoudiger voorbeeld van een zwarte doos, beschouw een gedachte-experiment van Skinner: je krijgt een doos met een set inputs (schakelaars en knoppen) en een set outputs (lampjes die aan of uit zijn). Door de ingangen te manipuleren, kunt u de overeenkomstige uitgangen waarnemen, maar u kunt niet in de doos kijken om te zien hoe die werkt. In het eenvoudigste geval, zoals een lichtschakelaar in een kamer, is het gemakkelijk om met grote zekerheid vast te stellen dat de schakelaar het lichtniveau regelt. Voor een voldoende complex systeem kan het echter feitelijk onmogelijk zijn om vast te stellen hoe de doos werkt door alleen maar verschillende combinaties uit te proberen.

Stelt u zich nu eens voor dat u de doos mag openen en erin kijken. U krijgt zelfs een volledig bedradingsschema, waarop staat wat alle onderdelen zijn en hoe ze zijn aangesloten. Bovendien is geen van de componenten op zichzelf complex; alles is opgebouwd uit eenvoudige componenten zoals weerstanden en condensatoren, die elk afzonderlijk een goed te begrijpen gedrag hebben. U hebt nu niet alleen toegang tot de volledige specificatie van alle componenten in het systeem, u kunt zelfs experimenten uitvoeren om te zien hoe elk van de verschillende componenten reageert op bepaalde inputs.

U zou kunnen denken dat u, met al deze informatie in de hand, nu in staat zou zijn om een goede verklaring te geven van de werking van de doos. Elk afzonderlijk onderdeel wordt immers begrepen, en er is geen verborgen informatie. Helaas ontstaat complexiteit uit de interactie van vele eenvoudige componenten. Voor een voldoende complex systeem is het onwaarschijnlijk dat je zou kunnen voorspellen wat de output van de doos zal zijn voor een gegeven input, zonder het experiment uit te voeren om erachter te komen. De enige verklaring waarom de doos doet wat hij doet, is dat alle componenten de regels volgen die hun individueel gedrag bepalen, en dat het totale gedrag uit hun interacties voortkomt.

En nog belangrijker, buiten het hoe van het systeem, zou je waarschijnlijk niet kunnen verklaren waarom elk component is geplaatst waar het is, zelfs als je het algemene doel van het systeem kende. Aangezien de doos voor een bepaald doel is ontworpen, nemen we aan dat elk onderdeel met een reden is toegevoegd. In een bijzonder slim systeem kan elk onderdeel echter meerdere rollen gaan vervullen, zoals in het geval van DNA. Hoewel dit kan leiden tot een zeer efficiënt systeem, maakt het het ook zeer moeilijk om zelfs maar te denken aan het samenvatten van het doel van elke component. Met andere woorden, het hoe van het systeem is volledig transparant, maar het waarom is potentieel ondoorgrondelijk.

Dit, zo blijkt, is een perfecte metafoor voor diep leren. In het algemeen is het hele systeem open voor inspectie. Bovendien bestaat het volledig uit eenvoudige componenten die afzonderlijk gemakkelijk te begrijpen zijn. Maar zelfs als we het doel van het totale systeem kennen, is er niet noodzakelijkerwijs een eenvoudige verklaring voor de werking van het systeem, anders dan het feit dat elke afzonderlijke component volgens zijn eigen regels werkt, in antwoord op de input. Dit is inderdaad de ware verklaring van hoe het systeem werkt, en het is volkomen transparant. De moeilijkere vraag is natuurlijk waarom elk onderdeel de rol heeft aangenomen die het heeft gekregen. Om dit verder te begrijpen, is het nuttig het idee van een model te scheiden van het algoritme dat wordt gebruikt om het te trainen.

Modellen en algoritmen

Om echt in de details te treden, moeten we wat preciezer zijn over wat we het hebben. Harris heeft het over “hoe het algoritme bereikt wat het bereikt”, maar er zijn hier echt twee delen: een model – zoals een deep learning-systeem – en een leeralgoritme – dat we gebruiken om het model op gegevens af te stemmen. Wanneer Harris het heeft over “het algoritme”, heeft hij het vermoedelijk over het model, niet noodzakelijkerwijs over hoe het werd getraind.

Wat bedoelen we precies met een model? Hoewel misschien wat vaag, geeft een statistisch model in wezen de veronderstellingen weer die wij maken over hoe de dingen in de wereld werken, met details die uit de gegevens moeten worden geleerd. In het bijzonder specificeert een model wat de inputs zijn, wat de outputs zijn, en typisch hoe we denken dat de inputs met elkaar zouden kunnen interageren bij het genereren van de output.

Een klassiek voorbeeld van een model zijn de vergelijkingen die de Newtonse zwaartekracht regelen. Het model stelt dat de output (de zwaartekracht tussen twee voorwerpen) wordt bepaald door drie inputwaarden: de massa van het eerste voorwerp, de massa van het tweede voorwerp, en de afstand tussen beide. Preciezer gezegd: de zwaartekracht zal evenredig zijn met het product van de twee massa’s, gedeeld door de afstand in het kwadraat. Kritisch genoeg wordt niet uitgelegd waarom deze factoren de zwaartekracht zouden moeten beïnvloeden; er wordt slechts geprobeerd een beknopte verklaring te geven die ons in staat stelt de zwaartekracht voor elke situatie te voorspellen.

Maar zelfs als dit helemaal juist zou zijn, moeten we om een voorspelling te kunnen doen natuurlijk ook de bijbehorende schaalfactor G kennen. In principe zou het echter mogelijk moeten zijn om deze waarde door waarneming te leren kennen. Als we het juiste (of bijna juiste) model hebben aangenomen voor hoe de dingen in de werkelijkheid werken, hebben we een goede kans om de relevante details uit de gegevens te kunnen leren.

In het geval van de zwaartekracht heeft Einstein natuurlijk uiteindelijk laten zien dat Newtons model slechts bij benadering juist was, en dat het in extreme omstandigheden faalt. Voor de meeste omstandigheden is het Newtons model echter goed genoeg, en daarom konden mensen de constante G= 6,674×10^(-11) N – (m/kg)² leren, en daarmee voorspellingen doen.

Einsteins model is veel complexer, met meer details die door observatie geleerd moeten worden. In de meeste omstandigheden geeft het ongeveer dezelfde voorspelling als het Newtoniaanse model zou doen, maar het is nauwkeuriger in extreme omstandigheden, en is natuurlijk van essentieel belang geweest bij de ontwikkeling van technologieën als GPS. Nog indrukwekkender zijn de secundaire voorspellingen van de relativiteit, die bijvoorbeeld het bestaan van zwarte gaten voorspellen voordat we ooit de hoop konden koesteren ze te testen. En toch weten we dat ook Einsteins model niet helemaal correct is, omdat het onder nog extremere omstandigheden niet overeenkomt met de modellen van de kwantummechanica.

Gravitatie is natuurlijk deterministisch (voor zover we weten). Bij machinaal leren en statistiek daarentegen hebben we meestal te maken met modellen die onzekerheid of willekeurigheid met zich meebrengen. Een eenvoudig model om te bepalen hoe lang u zult leven, zou bijvoorbeeld kunnen bestaan uit een voorspelling van het gemiddelde van de bevolking van het land waarin u woont. Een beter model zou rekening kunnen houden met relevante factoren, zoals uw huidige gezondheidstoestand, uw genen, hoeveel u beweegt, of u al dan niet sigaretten rookt, enz. In vrijwel alle gevallen zal er echter enige onzekerheid zijn over de voorspelling, omdat we niet alle relevante factoren kennen. (Dit is natuurlijk anders dan de schijnbare echte willekeurigheid die optreedt op subatomair niveau, maar we zullen ons hier niet druk maken over dat verschil).

Naast een ongelooflijk succesvolle rebranding van neurale netwerken en machinaal leren (zelf aantoonbaar een nogal succesvolle rebranding van statistiek), verwijst de term diep leren naar een bepaald type model, een waarin de outputs het resultaat zijn van een reeks van vele eenvoudige transformaties die worden toegepast op de inputs (ongeveer zoals ons bedradingsschema van hierboven). Hoewel deep learning-modellen zeker complex zijn, zijn het geen zwarte dozen. Het zou zelfs nauwkeuriger zijn om ze glazen dozen te noemen, omdat we er letterlijk in kunnen kijken en kunnen zien wat elke component doet.

Het probleem is natuurlijk dat deze systemen ook ingewikkeld zijn. Als ik u een eenvoudige reeks regels geef die u moet volgen om een voorspelling te doen, zou u, zolang er niet te veel regels zijn en de regels zelf eenvoudig zijn, vrij gemakkelijk de volledige reeks van input-totoutput-appings in uw hoofd kunnen achterhalen. Dit geldt ook, zij het in mindere mate, voor een klasse van modellen die bekend staan als lineaire modellen, waarbij het effect van het veranderen van een input kan worden geïnterpreteerd zonder de waarde van andere inputs te kennen.

Diepliggende leermodellen daarentegen hebben meestal te maken met niet-lineariteiten en interacties tussen inputs, wat betekent dat er niet alleen geen eenvoudige mapping is van inputs naar outputs, maar dat het effect van het veranderen van een input ook kritisch kan afhangen van de waarden van andere inputs. Dit maakt het zeer moeilijk om mentaal te achterhalen wat er gebeurt, maar de details zijn niettemin transparant en volledig open voor inspectie.

De eigenlijke berekening die door deze modellen wordt uitgevoerd om een voorspelling te doen is doorgaans vrij rechttoe rechtaan; waar het moeilijk wordt is het eigenlijke leren van de modelparameters uit de gegevens. Zoals hierboven beschreven, gaan we eenmaal uit van een bepaalde vorm voor een model (in dit geval een flexibel neuraal netwerk); we moeten dan proberen goede waarden voor de parameters uit de gegevens te halen.

In het voorbeeld van de zwaartekracht hoeven we, zodra we een “goed genoeg” model hebben aangenomen (evenredig met de massa en omgekeerd evenredig met de afstand in het kwadraat), alleen nog maar de waarde van één parameter (G) op te lossen, door het model aan de waarnemingen aan te passen. Met moderne deep learning-systemen daarentegen kunnen er gemakkelijk miljoenen van dergelijke parameters worden geleerd.

In de praktijk worden bijna al deze deep learning-modellen getraind met een variant van een algoritme dat stochastische gradiëntafdaling (SGD) wordt genoemd, dat willekeurige steekproeven neemt uit de trainingsgegevens, en geleidelijk alle parameters aanpast om de voorspelde output meer te laten lijken op wat we willen. Waarom het precies zo goed werkt als het doet, is nog steeds niet goed begrepen, maar het belangrijkste om in gedachten te houden is dat het ook transparant is.

Omdat het gewoonlijk wordt geïnitialiseerd met willekeurige waarden voor alle parameters, kan SGD leiden tot verschillende parameters elke keer dat we het uitvoeren. Het algoritme zelf is echter deterministisch, en als we dezelfde initialisatie en dezelfde gegevens zouden gebruiken, zou het hetzelfde resultaat opleveren. Met andere woorden, noch het model, noch het algoritme is een zwarte doos.

Hoewel het enigszins onbevredigend is, ligt het volledige antwoord op de vraag waarom een machine-leersysteem iets deed uiteindelijk in de combinatie van de veronderstellingen die we maakten bij het ontwerpen van het model, de gegevens waarop het werd getraind, en de verschillende beslissingen die werden genomen over hoe de parameters te leren, met inbegrip van de willekeurigheid in de initialisatie.

Terug naar zwarte dozen

Waarom is dit allemaal van belang? Welnu, er zijn ten minste twee manieren waarop het concept van zwarte dozen zeer relevant is voor machinaal leren.

Ten eerste zijn er tal van algoritmen en softwaresystemen (en niet alleen die welke op machinaal leren zijn gebaseerd) die wat de gebruiker betreft zwarte dozen zijn. Dit is misschien wel het meest het geval bij propriëtaire software, waarbij de gebruiker geen toegang heeft tot de innerlijke werking, en we alleen de inputs en outputs te zien krijgen. Dit is het soort systeem waarover ProPublica berichtte in haar verslag over gerechtelijke veroordelingsalgoritmen (meer bepaald het COMPAS-systeem van Northpointe). In dat geval kennen we de inputs, en kunnen we de risicoscores zien die aan mensen zijn gegeven als de output. Wij hebben echter geen toegang tot het door het bedrijf gebruikte algoritme, of tot de gegevens waarop het is getraind. Niettemin is het veilig om te zeggen dat iemand toegang heeft tot de details – vermoedelijk de werknemers van het bedrijf – en het is zeer waarschijnlijk volledig transparant voor hen.

De tweede manier waarop de metafoor van zwarte dozen relevant is, is met betrekking tot zij systemen die we proberen te leren, zoals het menselijk gezichtsvermogen. In sommige opzichten is menselijk gedrag ongebruikelijk transparant, in die zin dat we mensen kunnen vragen waarom ze iets deden, en uitleg kunnen krijgen. Er zijn echter goede redenen om aan te nemen dat wij niet altijd de ware redenen kennen voor de dingen die wij doen. We zijn verre van transparant voor onszelf, we hebben gewoon geen bewuste toegang tot veel van de interne processen die ons gedrag bepalen. Als ons gevraagd wordt uit te leggen waarom we iets gedaan hebben, kunnen we misschien een verhaal vertellen dat op zijn minst weergeeft hoe het besluitvormingsproces voor ons voelde. Als ons daarentegen wordt gevraagd uit te leggen hoe we voorwerpen kunnen herkennen, denken we misschien dat we een soort verklaring kunnen geven (iets met randen en kleuren), maar in werkelijkheid functioneert dit proces ver onder het niveau van het bewustzijn.

Hoewel er speciale omstandigheden zijn waarin we de innerlijke werking van menselijke of andere zoogdiersystemen daadwerkelijk kunnen inspecteren, zoals neurowetenschappelijke experimenten, proberen we in het algemeen machinaal leren te gebruiken om menselijk gedrag na te bootsen met alleen de inputs en de outputs. Met andere woorden, vanuit het perspectief van een machine-leersysteem is de mens de zwarte doos.

Conclusie

Tot besluit is het nuttig om na te denken over wat mensen willen als ze denken aan systemen die geen zwarte dozen zijn. Mensen stellen zich meestal iets voor als het scenario waarin een zelfrijdende auto van de weg is geraakt en we willen weten waarom. In de populaire verbeelding lijkt de verwachting te zijn dat de auto mogelijke uitkomsten moet hebben geëvalueerd, er waarschijnlijkheden aan moet hebben toegekend, en degene moet hebben gekozen met de beste kans op het maximaliseren van een beter resultaat, waarbij beter wordt bepaald volgens een soort moraal die in de auto is geprogrammeerd.

In werkelijkheid is het hoogst onwaarschijnlijk dat de dingen op deze manier zullen werken. Als we de auto vragen waarom hij deed wat hij deed, zal het antwoord eerder zijn dat hij een transparante en deterministische berekening heeft uitgevoerd met behulp van de waarden van zijn parameters, gegeven zijn huidige invoer, en dat dit zijn handelingen heeft bepaald. Als we vragen waarom het die specifieke parameters had, zal het antwoord zijn dat ze het resultaat zijn van het model dat werd gekozen, de gegevens waarop het werd getraind, en de details van het gebruikte leeralgoritme.

Dit lijkt frustrerend weinig behulpzaam, en het is gemakkelijk te zien waarom mensen grijpen naar de zwarte doos metafoor. Bedenk echter dat we dit soort toegang eigenlijk niet hebben voor de systemen die we proberen na te bootsen. Als we een menselijke bestuurder vragen waarom hij van de weg raakte, zal hij waarschijnlijk in staat zijn om in taal te antwoorden, en een of ander verslag van zichzelf te geven – dat hij dronken was, of afgeleid, of moest uitwijken, of verblind werd door het weer – en toch, afgezien van het verstrekken van een soort narratieve samenhang, weten we niet echt waarom hij het deed, en zij ook niet. Met machine learning kunnen we tenminste dezelfde setting nabootsen en de interne toestand onderzoeken. Het is misschien ingewikkeld om te begrijpen, maar het is geen zwarte doos.