Er is een negatieve relatie tussen de complexiteit van it en de uitlegbaarheid ervan. Simpeler: het is lastig een leek te vertellen hoe een intelligente technologie als artificial intelligence (ai) werkt. Het pleidooi van Diederick Beels voor explainable ai draag ik dan ook een warm hart toe. We moeten voorkomen dat straks niemand meer echt begrijpt wat er onder de motorkap van een ai-model gebeurt – ontwikkelaars, laat staan eindgebruikers.
Het genoemd artikel legt de nadruk op het belang van transparantie voor wat je compliance zou kunnen noemen: je moet als organisatie kunnen aantonen dat je voldoet aan wet- en regelgeving. Als je modellen gebruikt die onbegrijpelijke beslissingen nemen, dan lukt dat niet. Sterker, als het gaat om beoordelingsbeslissingen (denk aan het al dan niet toekennen van een hypotheek) dan ben je zelfs verplicht te onderbouwen waar deze keuze op is gebaseerd. Als je hiervoor algoritmes hebt ingezet die niet zijn uit te leggen, dan ben je ver van huis.
Trial and error
Er zijn nog meer zwaarwegende redenen die explainable ai (‘verklaarbare ai’) belangrijk maken. Zoals wel vaker binnen de it is het ontwikkelen van ai-modellen een kwestie van trial and error. Je ontwikkelt iets in de hoop dat het op een bepaalde manier werkt. En als blijkt dat dit toch niet het geval is, dan ga je eraan sleutelen totdat het goed is. In zo’n proces is het cruciaal dat je altijd blijft begrijpen wat er onder de motorkap gebeurt. Als ai een zwarte doos wordt waarvan je de werking niet meer begrijpt, dan kun je ook niet meer bijsturen.
Een voorbeeld: ai wordt ingezet voor beeldherkenning, bijvoorbeeld om foto-onderschriften automatisch te genereren. Stop je er een plaatje in van een hond die gitaar speelt, dan krijg je als onderschrift: een hond die gitaar speelt. Het systeem herkent op basis van een uitgebreide database aan beelden dat er een hond op de foto staat en dat deze een gitaar vasthoudt. Een explainable ai-toepassing laat ook zien op basis van welke criteria deze conclusie is getrokken: je ziet dan bijvoorbeeld dat het model de contouren van de hond heeft herkend als zijnde een hond.
Verkeerde afslag
Toepassingen als deze kunnen ook net de verkeerde afslag nemen. Zo was er een model dat getraind werd om schapen op foto’s te herkennen. Dat lukte op een gegeven moment heel goed. Er bleek echter een foutje in te zijn geslopen: het model had ontdekt dat alle schapen in een groene achtergrond (gras) staan. De beslissing of er op een foto wel of geen schaap stond, werd niet genomen op basis van de contouren van het schaap, maar aan de hand van de groene achtergrond. Een zwaan of een witte tuintafel met een groene achtergrond zouden ook worden herkend als ‘schaap’.
Het spreekt voor zich dat je als ontwikkelaar hier wel inzicht in moet hebben. Als een model op deze manier ontspoort, dan is het belangrijk om te achterhalen waar het mis is gegaan.
Adoptie van eindgebruikers
Misschien nog wel de belangrijkste reden om ai explainable te maken, is de adoptie van de eindgebruiker. Naarmate algoritmes intelligenter worden, is het voor developers al soms ingewikkeld om te snappen wat er nu eigenlijk gebeurt onder de motorkap – en dat geldt voor niet-it’ers nog veel meer. In mijn gesprekken met bedrijven die de eerste stapjes hebben gezet op ai-gebied merk ik dat ze vaak vastlopen als ze niet weten hoe een model in elkaar zit, hoe het geïntegreerd moet worden in het applicatielandschap, of hoe ze het moeten testen. Een algoritme kan aan de buitenkant wel lijken te werken, maar als je niet weet waarom of hoe het werkt, dan kun je er als gebruiker nog weinig mee.
Stel: je bent een arts die de beschikking krijgt over een ai-model dat kan voorspellen of een trombosepatiënt binnenkort een bloeding gaat krijgen. Het systeem analyseert hiervoor het bloed van de patiënt. Als je niet weet welke criteria het model gebruikt om deze beslissing te nemen, dan zul je de uitkomst eerder wantrouwen dan wanneer het model volledig transparant is.
Begin eenvoudig
Een oplossing hiervoor is om zo eenvoudig mogelijk te beginnen. Eenvoudigere algoritmes hebben een betere uitlegbaarheid. Ook al presteert dit algoritme minder goed dan een complexere, het zal wel de adoptie vergroten. De eindgebruiker gaat het model vertrouwen en van daaruit kan complexiteit worden toegevoegd. Zo groei je langzaam naar het niveau waarbij de uitlegbaarheid in balans is met de benodigde prestatie.
Een aanpak die je hierin ondersteunt is DevOps for ai, omdat je hiermee de beheerder en eindgebruiker al in een vroeg stadium van de ontwikkeling actief erbij betrekt. Dat biedt niet alleen de developer meer inzicht, maar het zorgt er ook voor dat algoritmes beter uit te leggen zijn aan de eindgebruiker.
Auteur Joop Snijder is hoofd Ai Research Center bij Info Support.