Wat leer je in deze aflevering?
Dit is deel 2 van een gesprek met AI-masterstudent Elise Lems over interpreteerbare AI-modellen. Aanleiding is een anekdote van Niels, wiens zelfgebouwde gezichtsherkenning hem identificeerde op basis van zijn blauwe overhemd in plaats van zijn gezicht. Het gesprek verkent hoe we AI-modellen kunnen verbeteren door hun uitleg te evalueren en bij te sturen.
Kernbegrippen
- Prototype-gebaseerde uitleg
- Model verklaart voorspellingen door nieuwe invoer te vergelijken met geleerde voorbeelden uit trainingsdata.
- Interpreteerbare AI
- AI-systemen die hun beslissingen op begrijpelijke wijze kunnen uitleggen aan gebruikers en stakeholders.
- Menselijke feedback in machine learning
- Proces waarbij mensen modeluitleg evalueren om het model bij te sturen naar correcte redeneringen.
- Trainingsdata bias
- Vooroordelen in AI-systemen die ontstaan uit onvolledige of vertekende verzameling van trainingsgegevens.
Interview: Elise Lems
Elise, kun je jezelf nog even heel kort introduceren voor mensen die deel 1 niet gehoord hebben?
Natuurlijk. Ik ben Elise, 24 jaar oud, en ik ben tweedejaars AI-masterstudent aan de Radboud Universiteit in Nijmegen. Op dit moment ben ik bij Info Support mijn afstudeerscriptie aan het schrijven. Mijn onderzoek gaat over hoe we interpreteerbare modellen kunnen verbeteren. Dat betekent dat ik kijk naar hoe AI-systemen beter kunnen uitleggen waarom ze bepaalde beslissingen nemen, zodat we als mensen kunnen begrijpen en vertrouwen wat het model doet.
Kun je in het kort uitleggen hoe het model werkt waar je onderzoek naar doet?
Zeker. Het model waar ik mee werk maakt gebruik van wat we 'prototypes' noemen. Dit zijn karakteristieke stukjes uit foto's waarop het model getraind is. Stel je voor dat het model vogels moet herkennen. Dan haalt het tijdens de training belangrijke kenmerken uit de trainingsfoto's, zoals de vorm van een snavel, de kleur van de veren, of de grootte van de poten. Deze stukjes slaat het model op als prototypes. Als het model vervolgens een nieuwe foto krijgt aangeboden van een vogel die hij nog niet eerder heeft gezien, gaat hij vergelijken. Hij zegt bijvoorbeeld: "Deze snavel op de nieuwe foto lijkt heel erg op de snavel die ik in mijn trainingsset heb gezien bij een roodborstje." Zo vergelijkt hij meerdere onderdelen van de nieuwe foto met de prototypes die hij heeft opgeslagen. Op basis van al die vergelijkingen komt hij tot een conclusie. Als veel kenmerken overeenkomen met prototypes van roodborstjes, dan zegt het model: "Dit is waarschijnlijk een roodborstje." Het bijzondere is dat het model dit proces aan de gebruiker kan tonen. Je ziet niet alleen de eindconclusie "dit is een roodborstje", maar ook de redenering erachter: "Ik denk dat het een roodborstje is omdat deze snavel lijkt op deze snavel uit mijn trainingsset, en deze rode borst lijkt op deze rode borst uit mijn trainingsset." Dat maakt het model interpreteerbaar.
Wat is precies het kwartje dat voor Niels viel na de opname?
Wat ik begrijp is dat Niels een interessante ervaring had met een computer vision model dat hij had getraind om hemzelf te herkennen op foto's. Hij had het model gevoed met veel foto's van zichzelf, en omdat Niels blijkbaar veel blauwe overhemden draagt, zaten er veel foto's tussen met blauwe kleding. Het probleem was dat het model begon te denken: "Blauwe overhemd betekent Niels." Dus elke keer dat het model iemand met een blauw overhemd zag, zei het: "Dat is Niels!" Ook al was het een compleet andere persoon. Wat Niels deed, was zelf de uitkomsten interpreteren. Hij keek naar de heatmaps, zeg maar de gekleurde plaatjes die laten zien waar het model naar keek, en ontdekte toen dat het blauwe overhemd de doorslaggevende factor was. Maar die interpretatie bleef bij hemzelf. Hij heeft die kennis niet terug het model ingebracht. Het kwartje dat viel, is dat we niet alleen moeten interpreteren wat een model doet, maar die interpretatie ook terug moeten koppelen naar het model zelf. Door dat te doen, kan het model aan iedereen uitleggen hoe het tot een keuze komt. Niet alleen omdat één persoon de moeite heeft genomen om het te onderzoeken, maar omdat die kennis onderdeel wordt van het systeem zelf. Dat is precies waar mijn onderzoek over gaat.
Hoe werkt dat precies, die terugkoppeling van menselijke interpretatie naar het model?
Wat we doen is eigenlijk een tweede model bouwen dat de uitleg van het eerste model gaat beoordelen. Het eerste model, ons computer vision model, geeft uitleg over waarom het denkt dat iets een mus is of een meeuw. Die uitleg bestaat uit vergelijkingen tussen stukjes van de nieuwe foto en de prototypes die het model heeft geleerd. Al die uitleggen leggen we voor aan mensen. Die mensen gaan dan beoordelen: is dit een goede uitleg of niet? Bijvoorbeeld, als het model zegt "Ik zie water op de achtergrond, dus het is een meeuw", terwijl we eigenlijk naar een mus kijken, dan is dat natuurlijk geen goede uitleg. Een goede uitleg zou zijn: "Ik zie deze specifieke snavelvorm en deze kleur veren, die typisch zijn voor een meeuw." Door mensen al die uitleggen te laten rangschikken en beoordelen, kunnen we het model straffen of belonen. Als het model slechte uitleggen geeft, zoals kijken naar de achtergrond in plaats van naar de vogel zelf, straffen we het. Daardoor leert het model om dat soort redeneringen te vermijden. Als het model goede uitleggen geeft, door te focussen op relevante kenmerken zoals de vorm van de snavel of de kleur van de veren, belonen we het. Het mooie is dat het model zo leert om niet alleen het juiste antwoord te geven, maar ook om tot dat antwoord te komen via de juiste redenering. En dat is cruciaal, want alleen dan kunnen wij als mens echt vertrouwen op de uitkomst van het model.
Wat is het verschil tussen jouw aanpak en het gebruik van heatmaps?
Dat is een belangrijke vraag. Heatmaps zijn eigenlijk gekleurde overlays die over een foto worden gelegd om te laten zien waar het model naar gekeken heeft. Je ziet dan bijvoorbeeld felle kleuren op de kop van een hond, de oren en een bal in de bek. Dan denk je: oké, het model kijkt naar deze delen, dus het herkent een hond. Dat lijkt handig, maar er zit een groot probleem aan. Het probleem is dat verschillende modellen precies dezelfde heatmap kunnen produceren, maar tot compleet verschillende conclusies kunnen komen. Het ene model zegt op basis van die heatmap "dit is een hond", terwijl een ander model met dezelfde heatmap zegt "dit is een dwarsfluit." Dat klinkt absurd, maar het gebeurt echt. De heatmap vertelt je alleen waar het model naar gekeken heeft, niet waarom het dat gebied belangrijk vindt of hoe het van dat gebied naar een conclusie komt. Het is het verschil tussen localisatie en interpretatie. De heatmap lokaliseert waar het model zijn aandacht richt, maar interpreteert niet wat dat betekent. Als wij naar een foto kijken en we zien zelf een hond, en het model zegt "op basis van deze vlekken is het een dwarsfluit", dan kunnen we dat nog wel herkennen als vreemd. Maar stel je nu een situatie voor waarin je zelf minder expertise hebt, bijvoorbeeld bij het beoordelen van medische scans. Als een model dan een heatmap laat zien en zegt "hier zie ik kanker", maar je begrijpt niet welke kenmerken in dat gebied nou precies wijzen op kanker, dan zegt die heatmap je eigenlijk helemaal niets. Je weet niet of je het model kunt vertrouwen. Wat wij willen, is dat het model niet alleen laat zien waar het naar kijkt, maar ook uitlegt wat het daar ziet en waarom dat tot de conclusie leidt. Dus niet alleen "ik kijk hier", maar "ik kijk naar deze specifieke snavelvorm en die komt overeen met de snavelvorm van een mus die ik eerder heb gezien, en daarom denk ik dat dit een mus is."
Waarom is het zo belangrijk dat een model de juiste redenering gebruikt en niet alleen het juiste antwoord geeft?
Dat heeft alles te maken met betrouwbaarheid en generaliseerbaarheid. Als een model het juiste antwoord geeft om de verkeerde redenen, werkt het misschien goed in de testsituatie, maar faalt het in de echte wereld. Laat me een concreet voorbeeld geven. Bij het voorbeeld van Niels met zijn blauwe overhemden: als het model leert "blauw overhemd betekent Niels", dan werkt dat prima zolang Niels de enige in de dataset is met blauwe overhemden. Maar zodra je het model loslaat op echte foto's, gaat het iedereen met een blauw overhemd identificeren als Niels. Dat is natuurlijk niet wat je wilt. Een ander voorbeeld is de Apple creditcard van een paar jaar geleden. Uit onderzoek bleek dat vrouwen systematisch minder krediet kregen toegewezen dan mannen. Nu is het model niet zelf seksistisch, het model heeft niet bewust besloten "ik vind vrouwen minder, dus die krijgen minder krediet." Maar het model heeft wel geleerd uit data waarin een bepaalde bias zat. Misschien kregen in het verleden vrouwen om welke reden dan ook minder vaak hoge kredieten, en dat patroon heeft het model opgepikt. Het gevaarlijke is dat we bias niet altijd zelf doorhebben. Wij als mensen hebben allemaal onbewuste vooroordelen, en die zitten verweven in de data die we verzamelen en de manier waarop we die verzamelen. Die bias ligt veel eerder dan het model zelf, het ligt eigenlijk in de maatschappij. Als je een interpreteerbaar model hebt dat niet alleen zegt "je krijgt geen krediet", maar ook zegt "ik geef jou geen krediet omdat je een vrouw bent", dan wordt het ineens heel duidelijk dat er iets mis is. Dan kun je ingrijpen. Zonder die interpreteerbaarheid blijft zo'n bias verborgen en blijft het model discrimineren zonder dat we het doorhebben.
Dus met interpreteerbaarheid kunnen we ook de kwaliteit van het model verbeteren?
Absoluut. Als we vaak genoeg zien dat een model een uitleg geeft die biased is of die gewoon niet klopt, dan is dat een signaal dat er iets mis is. We kunnen dan gaan kijken naar de dataset: zitten daar verkeerde patronen in? We kunnen zelfs nog verder terugkijken: hoe is die data überhaupt verzameld? Zijn daar bepaalde groepen ondervertegenwoordigd? Zijn er omstandigheden die niet gevarieerd genoeg zijn? Soms kun je er niet direct iets aan doen, omdat bepaalde vooroordelen gewoon in de maatschappij zitten en je die niet zomaar uit de data kunt filteren. Als AI-wetenschappers kunnen we wel ons best doen om zo objectief mogelijk te zijn en zo divers mogelijk data te verzamelen, maar we kunnen niet in ons eentje de hele wereld veranderen. Maar wat we wel kunnen doen, en dat is cruciaal, is transparant zijn over de beperkingen van een model. Als we met interpreteerbaarheid kunnen aantonen dat een model bepaalde bias heeft die we er niet uit krijgen, dan moeten we gewoon eerlijk zeggen: op dit moment vertrouwen we dit model niet voor deze toepassing. Die keuze kun je alleen maken als je weet hoe het model redeneert. Met een zwarte doos kun je die keuze niet maken. Voor zeker gebieden zoals de gezondheidszorg is dit levensbelangrijk. Als een model een diagnose stelt of een behandeling aanbeveelt, wil je niet alleen weten wat de conclusie is, maar ook waarom. En als die redenering niet klopt, of als je er geen vertrouwen in hebt, dan moet je de vrijheid hebben om die uitkomst te negeren en zelf een beslissing te nemen.
Je hebt zelf ook gewerkt aan annotaties voor medische beelden. Wat was daar de uitdaging?
Ja, ik heb inderdaad annotatiewerk gedaan voor mammografieën, dat zijn röntgenfoto's van borsten om borstkanker op te sporen. En daar zit een interessant probleem: ik ben geen borstkankerexpert. We hadden wel een aantal experts die ons hielpen en begeleiding gaven, maar uiteindelijk moet je als annotator zelf keuzes maken. Wat we deden was naar mammogrammen kijken waarvan we wisten dat ze een hoge kankerscore hadden, of juist een lagere score. We moesten dan aangeven waar we dachten dat de kanker zat. Maar het probleem is dat borsten heel complex zijn. Soms hebben vrouwen cysten of andere goedaardige afwijkingen. Soms is de borstdichtheid zo hoog dat het heel moeilijk is om iets te onderscheiden op de foto. Je moet dan als annotator wel iets aangeven, dat was een beetje de opdracht. Maar als je als leek een verkeerde annotatie zet, bijvoorbeeld omdat je een cyste aanziet voor een kwaadaardige tumor, dan leer je het model verkeerde dingen aan. Het model gaat dan denken dat bepaalde kenmerken van een cyste wijzen op kanker, en dat kan gevaarlijke gevolgen hebben. Gelukkig had dit bedrijf hele goede waarborgen ingebouwd. Alles werd meerdere keren gecheckt, en als er twijfel was, werden er extra experts bijgehaald om de annotaties te verifiëren. Maar stel je voor dat een bedrijf die waarborgen niet heeft. Dan kun je dus met goedbedoelde maar onjuiste annotaties een model trainen dat verkeerde diagnoses gaat stellen. Dat is echt een risico.
Zou jouw onderzoek kunnen helpen bij dit soort medische toepassingen?
Voor longkanker en borstkanker is het inderdaad iets ingewikkelder dan voor simpelere computer vision taken zoals vogels of honden herkennen. Maar het principe blijft hetzelfde en kan zeker helpen. Laat me een analogie gebruiken. Stel je voor dat je een model hebt dat honden moet herkennen, en hij leert dat elke hond met een bal een hond is, maar elke hond zonder bal een kat. Dan zegt het model dus: "Ik zie een bal, dus het is een hond." Dat is natuurlijk niet de juiste redenering. Met interpreteerbaarheid kun je dat ontdekken, want je ziet dat het model steeds naar die bal kijkt. Zodra je dat doorhebt, kun je aan de voorkant ingrijpen. Je gaat meer foto's toevoegen van honden zonder ballen, zodat het model leert dat de aanwezigheid van een bal niet het onderscheidende kenmerk is. Je wilt dat het model leert kijken naar de vacht, de vorm van de oren, de snuit, de staart, et cetera. Naar kenmerken die echt bij een hond horen. Hetzelfde geldt voor medische beelden. Als een model steeds kijkt naar artefacten in de foto, of naar kenmerken die toevallig correleren met kanker maar er niet de oorzaak van zijn, dan wil je dat weten. Dan kun je het model bijsturen door betere training data te geven, of door het model specifiek te straffen als het naar de verkeerde dingen kijkt. Het doel is dat het model uiteindelijk de juiste voorspellingen doet om de juiste redenen. Alleen dan kun je het echt vertrouwen in kritieke toepassingen.
Wat is het Clever Hans-effect en waarom is het relevant voor AI?
Oh, dat is echt een fascinerend verhaal! Het Clever Hans-effect is vernoemd naar een paard uit het begin van de 20ste eeuw, rond 1900, dat Hans heette. Dit paard kon volgens zijn eigenaar rekenen, en hij toerde ermee langs het land om dat te demonstreren. Hoe werkte dat? De eigenaar had een bord met cijfers, en hij stelde Hans een vraag, bijvoorbeeld "wat is drie keer acht?" Dan ging Hans met zijn hoef op de grond tikken, en hij moest stoppen bij het juiste cijfer. En het wonderlijke was: Hans stopte inderdaad bij 24! Mensen waren natuurlijk verbijsterd, want hoe kan een paard nou rekenen? Later onderzoek toonde aan wat er echt gebeurde. Hans kon helemaal niet rekenen. Waar Hans wel heel goed in was, was het aanvoelen van de stemming van het publiek. Als hij begon te tellen, één, twee, drie, vier, werden de mensen steeds enthousiaster naarmate hij dichterbij het juiste antwoord kwam. En bij 24 waren ze natuurlijk super enthousiast, want dat was het goede antwoord. Hans voelde die opwinding aan en stopte op dat moment met tikken. Hans reageerde dus op sociale signalen van het publiek in plaats van op de rekenkundige vraag. Hij gaf het juiste antwoord, maar om de verkeerde redenen. En dat is precies waarom we deze term nu gebruiken in de AI-wereld. Het Clever Hans-effect in AI betekent dat een model het goede besluit neemt op basis van verkeerde redenen. Net zoals Hans het juiste getal gaf op basis van de verkeerde signalen. En dat is precies wat er gebeurde met Niels zijn blauwe overhemd, of met modellen die watermerken leren herkennen in plaats van de daadwerkelijke inhoud van foto's.
Kun je voorbeelden geven van hoe het Clever Hans-effect zich manifesteert in AI-systemen?
Zeker, er zijn helaas heel veel voorbeelden. Een van de meest voorkomende is wat je ziet bij bedrijfsdata. Veel bedrijven willen graag met AI aan de slag, ze vinden het hip en modern, maar hun data is vaak nog niet klaar voor AI. De data is, laten we zeggen, niet schoon genoeg. Een concreet voorbeeld met fotodata: heel veel bedrijven zetten watermerken op hun foto's, of kleine tekstjes. Bijvoorbeeld "Eigendom van Bedrijf X" of een copyright-symbool. Nu is het probleem dat als je een model traint op zulke foto's, het model kan leren dat als het dat specifieke watermerktje ziet, de foto tot een bepaalde categorie behoort. Stel je voor dat een bedrijf duizenden foto's heeft van paarden, en op al die foto's staat hun watermerktje rechtsboven. Het model kan dan leren: "Ik zie dat watermerktje, dus het is een paard." Het kijkt helemaal niet naar de vorm van het dier, de manen, de hoeven, maar gewoon naar dat tekstje. Dat is natuurlijk niet wat je wilt. Nog gevaarlijker zijn verborgen watermerken, die voor het menselijk oog niet zichtbaar zijn. Daarbij worden een paar pixels in de foto veranderd op een manier die wij niet kunnen zien, maar een machine wel. Zo'n verborgen watermerktje is voor een AI-model een perfect patroon om op te leren. Het is consistent, het is makkelijk te herkennen, en het correleert perfect met de categorie. Dus het model denkt: "Geweldig, dit is een makkelijke manier om te leren!" En dan gaat het dat gebruiken in plaats van naar de daadwerkelijke inhoud van de foto te kijken. Het is eigenlijk net als water dat de weg van de minste weerstand kiest. AI-modellen doen hetzelfde. Als ze een makkelijk patroon kunnen vinden dat correlleert met het juiste antwoord, dan gebruiken ze dat. Of dat patroon nou relevante betekenis heeft of niet, maakt het model niet uit.
Zijn er ook voorbeelden van bewuste manipulatie van AI-modellen?
Ja, absoluut. Er zijn hele interessante voorbeelden van wat we 'adversarial attacks' noemen, oftewel tegengestelde aanvallen. Daarbij manipuleer je een foto op zo'n manier dat het model er compleet door in de war raakt, terwijl wij als mensen geen verschil zien. Een beroemd voorbeeld is de panda die een aap wordt. Onderzoekers namen een foto van een panda, die door een AI-model correct werd herkend als panda. Toen voegden ze heel subtiele veranderingen toe aan de pixels, zo subtiel dat wij als mensen nog steeds gewoon een panda zien. Maar het AI-model zag ineens met 99% zekerheid een aap. Of een gibbon om precies te zijn. Dat is natuurlijk zorgwekkend, vooral als je nadenkt over toepassingen zoals zelfrijdende auto's. Stel je voor dat iemand heel subtiele stickers op een stopbord plakt, die voor ons nog steeds gewoon een stopbord laten zien, maar die ervoor zorgen dat het AI-systeem van de auto denkt dat het een "snelheid 80" bord is. Dat kan levensgevaarlijk zijn. Dit soort aanvallen laten zien hoe kwetsbaar AI-systemen kunnen zijn. En dat is precies waarom interpreteerbaarheid zo belangrijk is. Als we kunnen zien waar een model naar kijkt en waarom het tot een bepaalde conclusie komt, kunnen we dit soort manipulaties veel beter detecteren en tegengaan.
Hoe helpt jouw onderzoek om het Clever Hans-effect tegen te gaan?
Mijn onderzoek draait om het vergroten van interpreteerbaarheid door menselijke feedback te integreren in het trainingsproces. Wat we eigenlijk doen is de mens in de loop brengen, wat we in het Engels de 'human in the loop' noemen. In plaats van alleen te kijken of een model het juiste antwoord geeft, gaan we ook kijken naar de uitleg die het model geeft. En die uitleg laten we beoordelen door mensen. Als het model zegt "Ik denk dat dit een paard is omdat ik een watermerktje zie", dan kunnen mensen aangeven: "Nee, dat is een slechte uitleg. Een watermerktje heeft niks te maken met of iets een paard is of niet." Door het model te straffen voor dit soort slechte uitleggen, leren we het eigenlijk om naar de juiste dingen te kijken. We dwingen het model om zijn aandacht te richten op relevante kenmerken in plaats van op toevallige correlaties of artefacten in de data. Het mooie is dat dit ook een feedbackloop creëert waardoor we problemen in de data kunnen ontdekken. Als we merken dat het model steeds uitleggen geeft die gebaseerd zijn op watermerken of achtergronden in plaats van op het daadwerkelijke object, dan weten we dat er iets mis is met onze dataset. Dan kunnen we teruggaan en betere, schonere data verzamelen. Het gaat uiteindelijk om transparantie en controleerbaarheid. We willen niet alleen modellen die werken, maar modellen die we kunnen vertrouwen. En vertrouwen kun je alleen opbouwen als je begrijpt hoe iets werkt en waarom het bepaalde beslissingen neemt.
Wat betekent dit voor de toekomst van AI?
Ik denk dat we als vakgebied steeds meer in de richting gaan van interpreteerbare en uitlegbare AI. En dat is ook nodig, want AI wordt ingezet voor steeds belangrijkere beslissingen. We zien AI nu al in de gezondheidszorg, in rechtssystemen, in financiële dienstverlening. Als AI daar verkeerde beslissingen neemt, kunnen de gevolgen enorm zijn. Op dit moment hebben we nog te veel black box modellen, oftewel zwarte dozen. Je stopt er data in, er komt een antwoord uit, maar je hebt geen idee hoe het model tot dat antwoord is gekomen. Dat was misschien acceptabel toen AI alleen werd gebruikt voor relatief onschuldige toepassingen, maar dat is niet meer voldoende. We moeten toe naar modellen die niet alleen accuraat zijn, maar ook uitlegbaar. Op zijn minst moeten ze kunnen aangeven op basis van welke informatie ze een besluit hebben genomen. Nog beter is als ze interpreteerbbaar zijn, zodat we echt kunnen begrijpen waarom bepaalde informatie belangrijk was. Dit vraagt om een andere manier van werken. We moeten diversiteit hebben in de teams die AI-systemen ontwikkelen, zodat verschillende perspectieven worden meegenomen. We moeten zorgvuldiger zijn met data, niet alleen kijken naar hoe veel data we hebben, maar ook naar de kwaliteit en de representativiteit ervan. En we moeten bereid zijn om te zeggen: "Dit model is nog niet goed genoeg, we kunnen het nog niet verantwoord inzetten." Wat ik hoop is dat mijn onderzoek een kleine bijdrage kan leveren aan die beweging naar meer transparante en betrouwbare AI. Het is niet de enige oplossing, er zijn veel meer mensen die aan verschillende aspecten werken, maar ik geloof dat het belangrijk werk is. En ik vind het heel motiverend om hieraan bij te kunnen dragen. Belangrijkste inzichten uit het gesprek: Praktische adviezen voor organisaties die met AI werken: AIToday Live is een podcast die zich richt op de nieuwste ontwikkelingen in AI en de impact ervan op verschillende sectoren. In elke aflevering spreken hosts Niels Naglé en Joop Snijder met experts uit het veld om inzicht te krijgen in de mogelijkheden en uitdagingen van AI-technologie. Luister via je favoriete podcast app: Spotify, Apple podcasts, YouTube Music, en meer.
Over de gast
Elise Lems is een 24-jarige AI-masterstudent aan de Radboud Universiteit in Nijmegen, waar ze momenteel haar afstudeerscriptie schrijft. Haar onderzoek richt zich op het verbeteren van interpreteerbare modellen binnen de kunstmatige intelligentie. Ze onderzoekt hoe modellen beter kunnen uitleggen waarom ze bepaalde conclusies trekken, met als doel de betrouwbaarheid en transparantie van AI-systemen te vergroten.
Bekijk gastprofielTranscript
Hoi, leuk dat je weer luistert naar een nieuwe aflevering van de AIToday live. Je luistert naar deel 2 van ons gesprek met Elise Lems. Heb je deel 1 nog niet geluisterd, zoek die eventjes op. Ik denk dat het heel erg interessant is. Het gaat over interpreteerbaarheid, computer vision, chatGPT, alles door elkaar. En het wordt vanzelf duidelijk hoe dat in elkaar zit. Niels. Ja, nou ja, het kwartje viel eigenlijk pas nadat de aflevering afgelopen was... en we er nog eens even over door babbelden inderdaad. Dus ik heb het van mezelf nog even afgebeld van, god, dus... ik heb in de beginnentijden toen we met Cognitive Services van Microsoft Azure... ook lekkere speelprojecten gedaan, want dat is de manier hoe ik leer. Ik wil graag in de praktijk toepassen. En toen had ik foto's van mezelf geüpload en eigenlijk de 'News of Niet'-service gemaakt. En daarbij ook natuurlijk getest. Dat ging ook over computer vision? - Computer vision inderdaad. Dus foto's van mezelf geüpload om gewoon voor de funders even te kijken... of ze Niels kunnen herkennen. Getraind met redelijk wat foto's. Voor de mensen die mij kennen, ik traag veel blauw. Mijn kast heeft niet veel andere kleuren als overhemden. Dus uiteindelijk het model getraind. En ook aan collega's wat gevraagd van... "Goh, kan je me helpen dat model verder te voorzien van data en eens even wat te testen?" te testen. Dus collega's allemaal foto's doorgegeven en ook gecheckt is het nieuws of niet. En er kwamen toch best wel wat constateringen uit dat ik best wel veel herkend werd terwijl ik het niet was. En waar kwam dat nou eigenlijk door? Dus met een heatmap gaan kijken en nou blijkbaar blauwe overend. Blauwe overend was gewoon nieuws. Maakt niet uit wie. Maakt niet uit als ik draag een bril. Dus maakt niet uit zelfs mensen zonder bril. Je zag echt Het is totaal gelijk het verschil, maar blauwe overend was gewoon Niels. En in de vorige talk hebben we het erover gehad. Wat kan er nou bij? En dus eigenlijk in plaats van dat ik het ga interpreteren, waarom is het nou eigenlijk dat hij daar wordt herkend als Niels, gaat het model, die verbetering, die feedback loop, gaat er dus voor zorgen dat het model kan toelichten dat het blauwe shirt, dat het daarom was Niels. Precies. Ja. En daarvoor hebben we Elise uitgenodigd, Elise Lems. Elize, zou je je nog even heel kort willen introduceren... voor de mensen die misschien de eerste aflevering niet gehoord hebben? Ja, tuurlijk. Ik ben Elise, 24 jaar. Ik ben tweedejaars AI-masterstudent aan de Radboud Universiteit in Nijmegen. En ik ben momenteel mijn afstudierescriptie bij Info Support aan het schrijven... en ik doe onderzoek naar hoe we interpreteerbare modellen kunnen verbeteren. Ja, en als we even een hele korte samenvatting doen... maak jij gebruik van bestaand model die zogenaamde prototypes traint. En dus die haalt stukjes uit plaatjes van foto's waar die op traint. En die kan zeggen bij nieuwe foto's die hij aangeboden krijgt, dit stukje van de foto lijkt op wat ik in de trainingsset gezien heb. Deze snavel van een vogel lijkt op deze snavel van een vogel. En die laatste, dat is een rood borstje. Nou, als je zo een heel aantal stukjes herkent uit een trainingsset van... "Oh ja, daar waren ook allemaal stukjes van roodborsjes. Vinden we het een roodborsje?" En dat kan je aan de gebruiker tonen. Dat is, zeg ik het zo kort gezegd. Ja, en Niels, je zei, bij mij valt het kwartje net. En wat is dan het exacte kwartje? Het kwartje dat we zelf nog geneigd zijn om telkens interpretatie te doen, maar dat we die interpretatie niet vervolgens in het design meenemen, om door het eigenlijk weer in het systeem op te nemen, die interpretatie, zodat andere mensen ook weten hoe die interpreteert. Nu weet ik het, maar ik heb dat niet weer teruggenomen in het model. En door dat te doen, kan die dus aan iedereen uitleggen hoe die tot die keuze komt. Niet alleen omdat ik hem heb geïnterpreteerd. Ja, klopt. Ja, wat zou je kunnen uitleggen, zeg maar nog, ook in het kort, hoe dat werkt? En wat je eigenlijk bij je een nieuw model aan het maken, die de uitleg van het eerder getrainde model straft of beloont, om ervoor te zorgen dat er dus een goed mogelijke uitleg uit de computer vision model komt, die voor ons als mens interpreteerbaar is. Dus we hebben een model die legt uit van ik heb een bepaalde vogel en ik denk dat het een mus is of whatever. Op basis van bepaalde stukjes van die vogel. Dat is een bepaalde uitleg die hij geeft. Die zegt hij van dit snaveltje lijkt op dat snaveltje van een mus die ik al eerder heb gezien. Dus ik denk dat het een mus is. Zo doet hij dat met meerdere gedeeltes van zo'n foto. En dan komt hij uiteindelijk tot een conclusie van over het algemeen zie ik deze gedeeltes van de vogel op meest bij een mus. Dus het is een mus. Wat wij dus gaan doen, is al die uitleggen aan mensen gaan voorleggen. En die gaan dan vertellen van, oké, dit is wel een goede uitleg en dit is geen goede uitleg. Als een model bijvoorbeeld zegt van, hé, dit is achtergrond en ik zie hier water, dus het is een meel. Terwijl we eigenlijk naar een mus zitten te kijken, dat is natuurlijk geen goede uitleg. En dan wordt al die uitleg gerangschikt door mensen. En op die manier straffen of belonen we eigenlijk het model voor wel goede uitleg of geen goede uitleg. Dus op het moment dat het model zegt "Ik zie water, dus het is een meeuw" terwijl we eigenlijk naar een mus zitten te kijken, dan is dat natuurlijk slechte uitleg. En dan proberen we het model te straffen. En door hem te straffen proberen we hem eigenlijk af te leren naar dat soort dingen te kijken. Zodat hij juiste voorspellingen kan maken om de juiste redenen en niet de verkeerde redenen. En dat wij ook als mens dan uiteindelijk ook kunnen besluiten of we de uitkomst van het model wel of niet kunnen vertrouwen. Want als die zegt van dit stukje lijkt op dat stukje en dat lijkt helemaal niet, is het namelijk ook heel interessant om uiteindelijk dit kunnen zeggen, zeker in gebieden waar het heel erg belangrijk is, bijvoorbeeld in de gezondheidszorg. Leuk dat de model dit voorspelt of dit aangeeft, maar nu vertrouw ik het niet. Dus ik ga er niks mee doen met die uitkomst. En het verschil met... Heatmaps hebben we het over gehad, gekleurde plaatjes... die over een foto gelegd worden waarbij je zegt... ik zie een kop en ik zie oren en een bal in de bek... dus dan zal het wel een hond zijn. Daarvan zijn gewoon echt letterlijk voorbeelden... van diezelfde heatmap. Het is niet precies dezelfde heatmap, maar het is schijnbaar dezelfde heatmap. Dus de ene die zegt met deze heatmap is het een hond. En de andere die zegt nee maar ik zie een dwarsfluit. Ja van localisatie naar interpretatie als ik het even voor mezelf verwoord. Ja en kijk als wij naar een foto kijken en wij zien zelf een hond. En hij zegt dan ja maar op basis van deze vlekken vind ik dat het een dwarsfluit is. Ja dat snappen we nog wel. Maar als je nou in een situatie zit waar je minder goed bent in de interpretatie van wat iets betekent. Ja, dan zegt zo'n heatmap dus eigenlijk helemaal niets, toch, Elise? Nee, klopt ja. Dus wat je inderdaad met die dwarsfluit hebt, is dat je als model dus zegt van, nou, ik kijk naar deze gedeelte van de foto, dat is heel mooi, dus ik denk dat het dwarsfluit is. Dan denk je natuurlijk, oké, en waarom denk je dat? Hetzelfde beetje met jou, met je overhemd. Nou, wat je waarschijnlijk hebt gedaan in je model met je Niels of niet, is dat je heel veel foto's hebt laten trainen waarin je een blauwe hemd hebt. En dan denkt het model, blauw hemd, dat moet Niels zijn. En dat is eigenlijk een stukje bias in data, omdat jij... Nu is het natuurlijk vooral zo dat bij jou en als Niels zijnde past een blauwe overhemd. Maar als je het zou willen testen op iedereen in de wereld... zou je eigenlijk liever willen hebben dat iemand kijkt naar je gezicht... of hoe lang je bent, bijvoorbeeld. En dat is nou precies zo'n voorbeeld van bias in data, waardoor het model eigenlijk ook biased wordt. En wat je dus heel vaak ziet, is dat het model, als je even gaat kijken naar het voorbeeld van de Apple creditcard, was een paar jaar terug, toen gaf de Apple creditcard heel vaak vooral vrouwen minder krediet. En nu hebben ze dat dus onderzocht, en nu bleek dus inderdaad dat vrouwen dus inderdaad minder krediet kregen. Dat lag dus aan een bepaalde bias die aan de voorkant van dat model ligt. Dus het model an sich is niet degene die de schuld heeft. Het model an sich zegt niet van "Ik vind vrouwen niks, dus die krijgen lagere krediet." Het ligt aan de voorkant, dus hoe de data verzameld is. En ook eigenlijk een beetje hoe wij als maatschappij kijken naar dit soort dingen. Want bias ligt ook heel vaak in de maatschappij. Het ligt veel eerder dan het model. Nou ja, nadeel van bias is dat we niet altijd doorhebben dat we een bepaalde bias hebben. Dat maakt het denk ik wel complex om dat te gaan herkennen. Daar zou dit dus ook weer een hulpmiddel zijn en daar heb je dus ook waarschijnlijk de massa voor nodig, om dat goed te kunnen detecteren. Ja, dus inderdaad, als je dus zo'n interpreteerbaar model hebt, die zegt niet alleen, je krijgt geen krediet of je krijgt welk krediet, die zegt gewoon, ik geef jou geen krediet omdat je een vrouw bent. En dan wordt die interessant, want dan denk je van, "Hé, maar dit is jou gewoon aangeleerd." Weet je? Het is alsof je tegen een kind zegt, elke keer als je een kat ziet, zeg je "hond". En dan gaat het kind gaat vanzelf "hond" zeggen, elke keer tegen die kat. En dat is hetzelfde eigenlijk met zo'n model. Mensen die denken, "Oh, het model is die die de schuld heeft." Dat is niet zo. De manier waarop je het model iets aanleert, dat is degene die de schuld is. Ja, dus data, de beschikbaarheid van de diversiteit van de mensen die eraan werken, de diversiteit daarin, verschillende perspectieven die daarvan belangrijk zijn. We hebben het natuurlijk vaak gehad over in de podcast, dat zie je hier ook weer terugkomen. Dus als ik het dan goed opvat, is met behulp van die interpreterbaarheid, door die te vergroten, zouden we dus eigenlijk ook de kwaliteit van het model moeten kunnen vergroten. Ja, dus als wij dus heel vaak zien van, hé, hij geeft een bepaalde uitleg die biased is, dan kunnen we dus eigenlijk gaan kijken van, oké, nou blijkbaar zit er dus ergens aan de voorkant iets niet helemaal goed. Dus dan kunnen we gaan kijken naar de dataset, maar we kunnen eigenlijk ook nog daarvoor kijken van oké, hoe wordt de data verzameld? En soms kun je er ook niet altijd wat aan doen, want er zijn gewoon bepaalde dingen in onze maatschappij die bevooroordeeld zijn. En als AI-wetenschappers kunnen we er wel rekening mee houden, maar we kunnen niet de hele wereld verbeteren. Dus het is wel goed om het in het achterhoofd te houden. En zeker als je het er eenmaal niet uitkrijgt, wat je natuurlijk wel ideaal zou willen, Als je het niet uitkrijgt, dan moet je inderdaad gewoon zeggen... nou, op dit moment vertrouwen we het model gewoon niet meer. Maar dat kun je dus doen, die keuze kun je maken... als het model interpreteerbaar is. Dus dat hij het zegt, als hij het gewoon zegt. Ja, en bij het voorbeeld wat je net noemde met de Apple Credit Card... die kwam vrij snel naar boven, omdat er natuurlijk ook een heel... weet je, er zit een heel duidelijk verband in die heel snel voelbaar was... en je had daar heel snel feedback, hè. Je vraagt iets aan, je krijgt het niet terug. Ik dacht dat is raar en je merkte heel snel van dat ligt aan vrouwen. We hadden het er ook over, jij hebt ook wat annotaties gedaan voor een ander bedrijf. Waarbij het misschien sluipender zou kunnen zijn als daar problemen in zouden zitten. Kan je daar wat over vertellen? Ja, ik heb dus inderdaad wat annotatiewerk gedaan voor mammografieën. En eigenlijk, ik ben geen borstkankerexpert, nu hadden we wel een aantal experts die ons hielpen. En wat we eigenlijk deden, is we keken naar mama Gamme en we hadden bepaalde... Ze zeiden van, nou hier zit wel kanker, want we hadden ook alleen maar beelden van in principe... Of dingen die echt een hoge kankerscore hadden of wat lager. Maar goed, we moesten altijd iets kunnen vinden. Dat was een beetje het ding. Maar soms hebben vrouwen ook heel vaak kiestes of iets anders. Of is de borstdichtheid gewoon heel zwaar te zien, heel moeilijk te zien. En dan kun je wel een annotatie zetten, maar als die annotatie fout is, dan is ook het model in principe verkeerd leren. Nou had dit bedrijf wel hele goede verzekeringen, om het zo maar te zeggen, dus alles werd nog honderdduizend keer gecheckt. En als er dan inderdaad iets fout terugkwam, dan werden er nog experts overheen gezet om dat te checken. Maar in principe, als je dus als leek niet weet wat je aan het annoteren bent, kan het dus zijn als je niet die verzekering erop zet, zoals dit bedrijf wel heel goed deed, dat je dus modelverkeerde dingen aan gaat leren. En waar je nu mee bezig bent met je onderzoek, zou dat helpen ten opzichte van dit soort cases? Nou, wat ik dus zeg, voor longkanker en borstkanker is het misschien wat lastig, maar als je dus wel kijkt naar bepaalde fotodata van, laten we even die hond terugnemen, en hij leert dus, stel elke hond met een bal, zegt die hond, maar elke hond zonder bal zegt die kat. Dan kun je dus zeggen, oké, blijkbaar ligt het aan die bal, omdat hij dus telkens dat zegt. Dan ga je dus eigenlijk proberen aan de voorkant te zeggen van... oké, we moeten dus blijkbaar meer foto's erin zetten van honden zonder bal. Zodat hij dus meer leert naar andere dingen te kijken... en dat hij juist is voor de juiste redenen. Dat hij dus naar de juiste onderdelen kijkt. Ja. En dat een model zeg maar niet naar de juiste onderdelen kijkt... ken je het Cleverhands effect? Nee, Cleverhands effect. Ik kijk echt heel verbaasd. Nee, wat? Ja, en we hebben ook een naast haar collega Hans. Zullen we... Ja, ik weet niet of we hem Clever Hans noemen. Maar misschien kan Elise dat uitleggen wat dat is. Clever Hans is eigenlijk wel een heel grappig verhaal. Want in begin 1900, geloof ik, of eind 1800 had je een paard en die heette Clever Hans. En die kon rekenen. En dan was er een... Nou, hij had een baasje en die nam Hans mee. En dan vertelde hij tegen Hans, nou, wat is... noem maar even iets, drie keer acht. En dan had hij een hele lijst met allemaal cijfers hangen. En dat paard die moest dan gaan hinneken als hij bij het goede antwoord was. Maar wat er eigenlijk gebeurde, want dan ging hij dus tellen, één, twee, drie. En op het moment dat hij dichter bij drie keer acht, 24 kwam, werd de omgeving, dus die mensen die zaten kijken, steeds enthousiaster. En dat paard die voelt dat natuurlijk aan, die denkt 'Oh mensen worden enthousiast, ik ben er bijna.' En op 24 waren de mensen natuurlijk super enthousiast en dachten 'ja, dit is hem!' En toen ging het paard daarop reageren. En dat is dus het Cleverhands effect, dus dat hij dus gaat reageren op dingen die eigenlijk er niks mee te maken hebben. Ja, en niemand had in de gaten, want dat is pas uit later onderzoek gekomen, dat dat paard op deze manier reageerde. Hij reageerde eigenlijk op andere signalen, waardoor hij slim leek. Dus een goede antwoord op basis van de verkeerde redenering. Maar zowel de eigenaar als de omstanders hadden niet in de gaten dat zij bezig waren met hinschreven. Zelfverveling profiteren eigenlijk. En daarom wordt deze term dus ook heel veel gebruikt in de AI, clever hands effect. Dus wat nou als je model het goede besluit neemt op basis van verkeerde redenen. Het blauwe blouseje. - Ja. Ik had het misschien niet moeten noemen, jongen. Die gaf het me. - That's not gonna haunt me. Ja, misschien kunnen we het cleverhands nu naar de blue neils effect. Nee, dat moet niet. Nee, maar heel veel, wat je heel vaak ziet is data van zeker bedrijven, want heel veel bedrijven willen alles met AI doen en dat vinden ze helemaal hip. Maar data van heel veel bedrijven is vaak nog best wel smerig om zo te zeggen. Dat is best wel vieze data. - Dat weet ik, ja. Dan weet je alles van. - Ik zit er middenin. Maar wat je bijvoorbeeld met fotodata heel vaak ziet... is dat bedrijven heel vaak watermerken bijvoorbeeld erop zitten. Of bij sommige foto's hebben ze een klein tekstje erop zitten. Een model kan dus leren van, als ik dit tekstje zie, dan is het... nou, geef iets aan, weet je. Dan is het een paard X. En dat is dus eigenlijk het probleem. Ja, en verborgen watermerken, nog moeilijker. - Die niet. - Ja. - Het is die wij niet zien. Het is die er in gezet zijn, zodat er een paar pixels veranderd zijn. Zien wij niet. Ja, die machine die pikt dat er feilloos uit en denkt van... "Hé, dat is een makkelijk patroon om te leren." Daar ga ik voor. Het is net als water. Het neemt de weg van de minste weerstand. Dat doen dit soort modellen ook. Dus als die op deze manier, zeg maar, heel snel kan leren, doet die dat. - Ja, klopt ja. - Nou, er zijn ook volgens mij hele leuke online voorbeelden van pixelhacks inderdaad... waardoor een panda ineens heel iets anders gaat worden inderdaad. Ja, klopt. Ja, en dat is inderdaad ook een van de lastige dingen. Want je kan natuurlijk zo manipuleren dat het model toch verkeerd gaat doen. Ja, en dan helpt het als je inderdaad de beredenering tot je krijgt... en daar weer interpretatie in de human loop eigenlijk weer mee neemt... om het beter te laten uitleggen. Ik denk, Elise, dank je wel voor je uitleg. Heel mooi onderzoek. Ik denk dat het ook een nuttig onderzoek is. Dit is waar de wereld naartoe gaat. We moeten wat mij betreft steeds minder blackbox modellen hebben. Steeds meer interpreterbaar. Op zijn minst uitlegbaar, het liefst interpreterbaar. En ik denk dat we dan het vakgebied alleen maar mooier maken. Dankjewel voor je inzichten en alles wat je verteld hebt. Leuk dat je weer luisterde naar een nieuwe aflevering van AIToday Live. Mis geen aflevering. Abonneer je via je favoriete podcast app. en krijg automatische melding als er een nieuwe aflevering beschikbaar is. Dankjewel weer voor het luisteren!