Randgeval: waarom uitzonderingen de grootste uitdaging vormen voor slimme technologie
Stel je voor: een zelfrijdende auto is duizenden kilometers foutloos door de stad gereden. Dan steekt op een donkere avond iemand met een fiets aan de hand het wegdek over, niet bij een zebrapad maar er middenin op een plek waar dat eigenlijk niet mag. Het systeem heeft dit precieze scenario nooit eerder gezien. Zo'n zeldzame, onvoorziene situatie noemen technici een randgeval, in het Engels een edge case. Het is een gebeurtenis die net buiten de grenzen valt van wat een systeem is getraind of ontworpen om aan te kunnen.
Randgevallen komen overal voor waar techniek beslissingen neemt op basis van regels of data: in software, in kunstmatige intelligentie, in medische apparatuur en in de veiligheidssystemen van fabrieken. Meestal gaat het om iets kleins en onschuldigs, zoals een webformulier dat vastloopt bij een naam met een apostrof erin. Maar bij systemen die zelfstandig handelen, zoals zelfrijdende auto's of medische diagnose-software, kan een enkel gemist randgeval ernstige gevolgen hebben. Daarom is het opsporen en afhandelen van randgevallen een van de belangrijkste, maar ook lastigste onderdelen van het bouwen van betrouwbare technologie.
Wat is het precies?
Elk technisch systeem wordt gebouwd en getest met een bepaalde verwachting van de situaties die het zal tegenkomen. Een spamfilter verwacht e-mails in het Nederlands en Engels, een zelfrijdende auto verwacht fietsers, voetgangers en andere auto's die zich min of meer voorspelbaar gedragen. Al deze verwachtingen samen vormen wat ontwikkelaars het "normale bereik" noemen.
Een randgeval is een input of situatie die aan de rand van dit bereik ligt, of er net buiten valt. Denk aan een invoerveld dat een getal verwacht, maar een extreem groot getal krijgt, een lege waarde, of een negatief getal waar dat niet logisch is. In de context van kunstmatige intelligentie (AI) gaat het vaak om zeldzame combinaties van omstandigheden: fel tegenlicht, sneeuw op een verkeersbord, een dier dat plotseling oversteekt, of een mens die zich ongebruikelijk gedraagt.
Belangrijk is het onderscheid met een gewone fout (bug). Een bug is een fout in de code zelf. Een randgeval is een situatie in de echte wereld waar het systeem niet op voorbereid is, ook al werkt de code op zich perfect. Ontwikkelaars sporen randgevallen op door drie stappen te doorlopen: eerst brainstormen ze over grenswaarden en ongebruikelijke combinaties, vervolgens testen ze het systeem doelbewust met die situaties (dit heet edge case testing), en ten slotte verzamelen ze data uit de praktijk om onvoorziene gevallen alsnog te ontdekken. Bij zelfrijdende auto's gebeurt dat laatste bijvoorbeeld door duizenden testkilometers te rijden en elke ongebruikelijke gebeurtenis te loggen voor nadere analyse.
Wat wil men ermee bereiken?
Het uiteindelijke doel is betrouwbaarheid: een systeem moet niet alleen goed werken in de negen van de tien voorspelbare situaties, maar ook niet compleet falen in de ene onvoorspelbare situatie. Voor kritieke toepassingen, zoals verkeer, gezondheidszorg of energienetwerken, is dit geen kwestie van gebruiksgemak maar van veiligheid.
Bij kunstmatige intelligentie speelt nog een tweede reden mee. Machine-learning-modellen leren patronen uit trainingsdata, en zijn per definitie zwak in situaties die in die data ondervertegenwoordigd zijn. Onderzoekers proberen daarom expres "moeilijke" randgevallen te verzamelen en toe te voegen aan trainingsdatasets, in de hoop dat het model generaliseert naar situaties die het nog nooit letterlijk heeft gezien. Dit wordt ook wel robuustheid genoemd: het vermogen van een systeem om goed te blijven presteren onder afwijkende of onverwachte omstandigheden.
Er is ook een economische en juridische kant. Bedrijven die zelfrijdende auto's, medische AI of financiële algoritmes op de markt brengen, moeten aantonen dat hun systemen veilig genoeg zijn. Regelgevers zoals toezichthouders op verkeersveiligheid vragen expliciet om documentatie over hoe randgevallen zijn getest, voordat een systeem goedkeuring krijgt.
Voorbeelden uit de praktijk
In mei 2016 kwam Joshua Brown om het leven toen zijn Tesla Model S, rijdend op de rijhulpfunctie Autopilot, niet remde voor een oplegger die de weg overstak. Onderzoek wees uit dat het camerasysteem de witte zijkant van de trailer niet goed onderscheidde van de heldere lucht erachter, een randgeval in de beeldherkenning dat destijds niet was voorzien.
In maart 2018 overleed Elaine Herzberg in Tempe, Arizona, nadat een zelfrijdende testauto van Uber Advanced Technologies Group haar aanreed. Zij stak de weg over buiten een zebrapad, in het donker, met een fiets aan de hand. Onderzoek van de Amerikaanse veiligheidsraad NTSB liet zien dat het perceptiesysteem haar op verschillende momenten classificeerde als onbekend object, voertuig en fiets, en te laat een consistente, correcte classificatie als voetganger maakte. Dit ongeval leidde tot strengere eisen aan het testen van randgevallen in de Amerikaanse zelfrijdende-auto-industrie.
Op het gebied van beeldherkenning toonden onderzoekers rond Ian Goodfellow in 2014 en 2015 aan dat je neurale netwerken kunt misleiden met zogeheten adversarial examples: piepkleine, voor het menselijk oog nauwelijks zichtbare aanpassingen aan een foto die een AI-model ertoe brengen een pandabeer voor een gibbon aan te zien. Dit werk maakte duidelijk dat randgevallen soms niet toevallig ontstaan, maar ook doelbewust door kwaadwillenden gecreëerd kunnen worden, wat het onderzoeksveld van AI-veiligheid mede op gang bracht.
Waymo, het zelfrijdende-autobedrijf van Google-moeder Alphabet, gebruikt sinds de jaren 2010 een intern simulatieplatform (aanvankelijk bekend als Carcraft) om miljarden kilometers aan verkeerssituaties te simuleren, inclusief zeldzame randgevallen die te gevaarlijk of te zeldzaam zijn om in het echte verkeer te testen. Elke ongebruikelijke situatie die een testauto op de weg tegenkomt, wordt teruggevoerd in de simulatie om te controleren hoe het systeem er in duizenden variaties op reageert.
Ook buiten het verkeer speelt het probleem: bij taalmodellen zoals ChatGPT proberen onderzoekers en zogeheten "red teams" doelbewust ongebruikelijke of misleidende prompts te bedenken (het omzeilen van veiligheidsregels, ook wel jailbreaks genoemd) om te ontdekken in welke randgevallen het model ongewenste of schadelijke antwoorden geeft, zodat dit voor lancering kan worden verholpen.
Hoe ver is de techniek?
Er bestaat geen technologie die randgevallen volledig kan uitsluiten; het opsporen ervan is een voortdurend proces, geen eindpunt. Wel is de aanpak de afgelopen tien jaar sterk geprofessionaliseerd. Grote techbedrijven investeren fors in gesimuleerde testomgevingen, omdat het onmogelijk is om alle zeldzame situaties in de echte wereld te laten gebeuren en te registreren. Simulatie maakt het mogelijk om varianten op een gevaarlijke situatie duizenden keren te herhalen zonder risico.
Tegelijk blijft er een fundamenteel obstakel: je kunt niet testen op situaties waar je nog niet aan gedacht hebt. Dit heet in de vakliteratuur het probleem van de "unknown unknowns", de onbekende onbekenden. Hoe uitgebreider een testprogramma, hoe meer bekende randgevallen worden afgedekt, maar er blijft altijd een kans op een nieuw, nooit eerder waargenomen scenario. Bij zelfrijdende auto's heeft dit ertoe geleid dat volledige, overal inzetbare autonome voertuigen (niveau 5 automatisering) nog altijd niet op de markt zijn; bedrijven beperken hun diensten bewust tot goed gekarteerde gebieden en gunstige weersomstandigheden om de kans op onbekende randgevallen te verkleinen.
Bij taalmodellen en generatieve AI is de ontwikkeling sneller zichtbaar, maar het probleem hardnekkiger: gebruikers vinden voortdurend nieuwe manieren om modellen te misleiden, en bedrijven reageren daarop met nieuwe trainingsrondes en filters, in een soort kat-en-muisspel dat vooralsnog niet definitief "opgelost" is.
Wie werken eraan?
In de autotechniek zijn Waymo, Tesla, Cruise (General Motors), Mobileye (onderdeel van Intel) en verschillende Duitse en Japanse autofabrikanten zoals Mercedes-Benz en Toyota actief betrokken bij het testen en simuleren van randgevallen voor zelfrijdende systemen. Toezichthouders zoals de Amerikaanse NHTSA (National Highway Traffic Safety Administration) en Europese instanties stellen eisen aan hoe fabrikanten dit proces moeten documenteren.
Op het gebied van AI-veiligheid en robuustheid zijn onderzoeksgroepen van onder meer OpenAI, Anthropic, Google DeepMind en Meta AI actief, samen met academische centra zoals Stanford, MIT, de Universiteit van Oxford en in Nederland onder meer de TU Delft en de Radboud Universiteit, die onderzoek doen naar de betrouwbaarheid en verklaarbaarheid van machine-learning-modellen. Daarnaast bestaan internationale standaardisatie-instanties zoals ISO (met de norm ISO 26262 voor functionele veiligheid van elektronische systemen in voertuigen) die richtlijnen opstellen voor het omgaan met randgevallen in veiligheidskritieke techniek.