Inleiding
Dit artikel gaat over de artificiële intelligentie methode “neurale netwerken” zoals uitgelegd en geprogrammeerd in Tariq Rashid’s fantastische “Make Your Own Neural Network” en enige opmerkingen ten aanzien van de uitlegbaarheid van een neuraal netwerk.
In dit artikel is de voorbeeldvraag een voor de mens simpele vraag: welk cijfer in een gegeven plaatje wordt gerepresenteerd? Met de neurale netwerk methode kun je de computer dit met 98% nauwkeurigheid laten zeggen.
Het neurale netwerk
Het neurale netwerk is bedacht naar analogie van hersenen: neuronen geven meer of minder sterke signalen af naar één of meerdere volgende neuronen. In de computer wordt dit nagebouwd met nodes (knooppunten) die verbonden zijn en sterktes waar het signaal mee doorgegeven wordt tussen de nodes.
Input zijn in deze voorbeeldvraag de geschreven cijfers in de vorm van de grijswaarden van een plaatje van het geschreven cijfer van 28 bij 28 pixel. De waarde van de eerste pixel gaat voor ieder cijfer steeds de eerste node in en zo verder. Er zijn 28 keer 28 inputnodes nodig.
In bovenstaand plaatje zijn de paarse bolletjes de nodes. Iedere node heeft input en output. De inputnodes geven hun input met de weging van de groene pijlen door naar de volgende laag. De node in de volgende laag krijgt de gewogen input binnen van de vorige laag. Dit wordt allemaal opgeteld, er wordt een sigmoide bewerking op toegepast waarmee het signaal afvlakt en het wordt weer doorgegeven met de weging van de groene pijlen aan de volgende laag. De outputlaag bestaat in ons geval uit de 10 nodes die ieder één van de cijfers voorstelt. Zo hebben we een neuraal netwerk.
Maar dit netwerk moet eerst “getraind” worden. Training houdt in dat de weegfactoren optimaal ingesteld worden. De training gebeurt op basis van gelabelde input; het goede antwoord moet bekend zijn om te trainen. Per cijfer wordt het cijfer ingelezen. Dit wordt met de wegingen en de sigmoide bewerking naar de volgende lagen gebracht. Aan het einde worden de waarden van de nodes in de outputlaag vergeleken met wat het antwoord zou moeten zijn. De fout van het totale netwerk wordt berekend. Op basis van deze fout worden de wegingen met behulp van differentiaalrekening iets aangepast. En het volgende cijfer wordt ingelezen.
Niet uit te leggen
Inleiding
AI zal groeien. Sommige financiële bedrijven gebruiken AI om zonder menselijke tussenkomst vast te stellen of iemand een lening krijgt. Als iemand nou geen lening krijgt, kan dat dan uitgelegd worden? Vinden wij het als maatschappij wenselijk of nodig dat zo’n besluit uitgelegd kan worden?
Onderstaande negen wordt door bovenstaand ontwikkeld neuraal netwerk aangezien voor een drie! Zie je hem aan mijn balie staan en zeggen: “U ziet toch dat ik een negen ben! Hoe kunt u mij nou voor een drie aanzien?” Hoe moet ik dat dan uitleggen?
Onvoldoende uitleg
Ik ga gewoon eerst proberen het uit te leggen en zal gelijk aangeven of ik mijns inziens slaag in een goede uitleg:
- Je kunt uitleggen dat de pixels in het plaatje van de negen worden omgezet naar getallen. Dit is een stap die niet aansluit bij hoe mensen over plaatjes nadenken. Mensen denken dat de getoonde negen bestaat uit vormen, en dat zou ook de uitleg zijn waarom het een negen is. Iets in de trant van: Het is een negen want het is een klein rondje en dan een haal eronder rechtsonder van het rondje te beginnen en daar weer linksonder eindigend. Maar dat is meer de verklaring die het bewustzijn in woorden geeft, als dat iemand zou weten hoe het in zijn hoofd werkt dat hij gelijk ziet dat het een negen is.
- Je kunt verklaren dat een bepaalde pixel die zwart of wit of grijs is, een grotere kans geeft op een 9 of een drie. De aannemelijkheid wordt hiermee verhoogd, zonder dat een mens echt doorziet wat er gebeurt.
- Je kunt visueel de overlapping laten zien tussen de pixels in de te herkennen negen en de ideale negen en de te herkennen negen en de ideale drie. Zie onderstaand plaatje. Qua overlap is lichtblauw waar zwart met zwart overeenkomt en oranje waar wit met wit overeenkomt. Ik heb nou geen “O, nou zie ik het.” Het is vaag aannemelijk dat het fout gaat.
Uitleggen
Dan de theorie erbij. Wat is uitleggen? Uitleggen is volgens van Dale: verklaren, laten begrijpen.
Verklaren kan ik het wel. Ik kan laten zien hoe het netwerk in elkaar zit en kan het hele netwerk printen en laten zien dat na het toepassen van alle wegingen de kans dat het een drie is het hoogste is.
Uitleggen is een nogal subjectief begrip. Het zegt iets over een interactie tussen twee mensen, waarin de ontvanger van de uitleg uiteindelijk zegt: “Ik begrijp het” … of niet. En bij de uitleg van bijvoorbeeld wiskunde aan mensen die er minder goed in waren dan ik, heb ik vaak genoeg met de handen in mijn haar gestaan van: “Ja maar, dit is de uitleg. Dat is toch logisch? Zie je dat niet? Waarom snap je dat niet?” En ik heb ook aan de andere kant gestaan, waarbij ik het niet begreep, en niet eens kon uitleggen wat ik dan niet begreep.
Kortom, ik kan niet definiëren wat een goede uitleg is, en kan dus ook niet uitleggen waarom ik het gevoel heb dat ik aan de negen niet helder kan uitleggen waarom het netwerk haar als een drie ziet.
Je kunt niet in je hoofd nalopen of visualiseren wat het netwerk doet.
Toevalligheid van de methode
Het heeft zeker ook te maken met de niet-deterministische bepaling van de uitkomst. Als ik aan iemand vraag: Hoe weten jullie dat de raket op de maan terechtkomt, en hij laat de formules en berekeningen zien waarmee de baan van de raket is uitgerekend, dan “snap” ik dat er formules zijn. En ik weet dat als een capabel iemand dat zou narekenen er hetzelfde uitkomt.
In een neuraal netwerk zit toeval en een heuristische manier om tot een oplossing te komen. In een anders getraind netwerk, dat ook 2% fout doet, zou de negen er wel als negen uit kunnen komen, maar zou dan weer andere fouten maken. Dat maakt het zo onzeker en wat mij betreft zo onverteerbaar.
Er is geen voor de mens logisch te volgen uitleg: er is geen volgordelijke redenatie om een gestelde vraag te beantwoorden; er is wel een volgordelijk stappenplan (algoritme) wat de computer kan doorlopen om tot een antwoord te komen.
Conclusie
Een neuraal netwerk werkt en zelfs ik kan er een maken.
Wat is het gevolg dat je geen inzicht hebt in hoe het antwoord tot stand is gekomen? Zoals Tariq Rashid het zegt op pagina 178: “Once a neural network is trained, and performs well on test data, you essentially have a mysterious black box. You don’t really know how it works out the answer – it just does”. En de conclusie hieruit verwoordt hij ook beknopt en welsprekend: “The learning doesn’t often translate into understanding or wisdom about the problem the black box has learned to solve.”
In het geval van getallen herkennen is dat geen probleem, in het geval dat mensen wel of geen hypotheken krijgen lijkt het mij belangrijk dat de reden voor de mens zelf en voor de maatschappij duidelijk is.
Wat doe je met de foutieve 2%? Je zou als organisatie kunnen zeggen dat klachten altijd door mensen worden herbeoordeeld. We moeten misschien ook wetten opstellen waarbij in bepaalde gevallen AI geen besluitvormende macht mag hebben.