Algoritmeregister: Wat is een algoritme en waarom registratie?

Hans Weda
6 min readJun 26, 2023

--

Afgelopen jaar is het algoritmeregister gestart waarbij overheden de door hen gebruikte algoritmen kunnen registreren. Dit register kwam vorige week in het nieuws omdat maar een beperkt aantal overheden algoritmen had aangeleverd, en veel registraties incompleet zijn. Laten we eens kijken wat een algoritme eigenlijk is en welke typen algoritmen geregistreerd zouden moeten worden.

Een algoritme is een heel precieze reeks van instructies om een bepaald probleem op te lossen. Typisch worden algoritmen met behulp van een programmeertaal omgezet in computerprogramma’s die door een computer kunnen worden uitgevoerd. Op deze manier kun je een computer inzetten voor het oplossen van problemen. Je kunt een algoritme vergelijken met een recept met heel nauwkeurige instructies om een gerecht te bereiden.

Zo bestaan er bijvoorbeeld diverse algoritmen om een lijst te sorteren, zogenaamde sorteeralgoritmen. Dit soort algoritmen worden gebruikt om woorden op alfabetische volgorde te zetten of getallen te sorteren op grootte. De eerste sorteeralgoritmen werden al ontworpen in de jaren vijftig van de vorige eeuw, in de geboortejaren van de computers. Maar ook tamelijk recentelijk, in 2006, werd er nog een nieuw sorteeralgoritme gepubliceerd: library sort. Dit type algoritmen worden algemeen gebruikt. Stel dat een gemeentegriffier een lijst met namen van raadsleden in een spreadsheet op alfabetische volgorde wil zetten, maakt deze griffier ongetwijfeld gebruik van een sorteeralgoritme.

Er zijn nog tal van andere algoritmen die in dezelfde categorie als sorteeralgoritmen vallen. Daarbij kun je bijvoorbeeld denken aan zoekalgoritmen die efficiënt een woord terugvinden in een lange tekst. Of compressiealgoritmen die data op efficiënte wijze comprimeren. Algoritmen die foto’s als jpg-bestanden opslaan, of die films in mp4 formaat zetten zijn voorbeelden van compressiealgoritmen.

Dit type algoritmen brengt weinig maatschappelijke discussie te weeg. Ze worden veel gebruikt en hebben tot snellere en efficiëntere werkwijze en opslag geleid, maar ze zijn niet direct betrokken bij beoordeling van zaken of mensen. Registratie van het gebruik hiervan lijkt me dan ook niet noodzakelijk. De naam ‘algoritmenregister’ is dan ook slecht gekozen — het gaat immers niet om registratie van alle gebruikte algoritmen.

Om wat voor soort algoritmen gaat het dan wel?

De overheid maakt ook gebruik van algoritmen die door experts bedachte regels implementeren. Het gaat bijvoorbeeld om algoritmen die de belastingaanslag bepalen aan de hand van de ingevulde aangifte. Afhankelijk van de hoogte van je inkomen kom je in een bepaalde belastingschijf met bijbehorend percentage. Belastingexperts hebben deze regels bedacht die via een algoritme worden geïmplementeerd in computerprogramma’s bij de belastingdienst. Een ander voorbeeld is de berekening van de hoogte van de verkeersboete afhankelijk van de mate van overschrijding van de maximumsnelheid.

In dit type algoritmen is de relatie tussen de inkomende gegevens (inkomen, rijsnelheid) en uitkomst (aanslag, boete, etc) tamelijk eenvoudig en rechtlijnig. Je zou de uitkomst op een bierviltje kunnen uitrekenen. Er is in deze algoritmen ook geen sprake van kansberekening en waarschijnlijkheden. Hoewel er zeker wel maatschappelijke discussie over de regels is (belasting te hoog, boete te laag, etc), is er weinig discussie over de gebruikte algoritmen. Hoewel de gebruikte regels publiek en helder moeten zijn, gaat het algoritmeregister naar mijn idee ook niet over dit type algoritmen.

Gaat het dan misschien om zogenaamde slimme algoritmen bij het algoritmeregister?

Voordat ik verder inga op deze algoritmen wil ik graag even ageren tegen de term ‘slim’. Bovengenoemde algoritmen zijn bedacht door intelligente wetenschappers en vakmensen die ik zeker slim zou willen noemen. Het product van hun creatieve werk, het algoritme, is slim in elkaar gezet maar is vanuit zichzelf niet inventief, creatief of slim. Zoals al eerder gesteld bestaat een algoritme uit een reeks strikte regels, die ook strikt opgevolgd worden. Er is daarin geen ruimte voor enige afwijking — tenzij expliciet door een regel aangegeven wanneer en hoe je mag afwijken. Maar ook dat is dan weer een regel die onderdeel is van het algoritme en die strikt opgevolgd moet worden.

Er is lijkt mij hier sprake van een antropomorfisme: het toekennen van menselijke eigenschappen aan niet-menselijke zaken. Zo is een lieve teddybeer eigenlijk niets meer dan een zacht omhulsel gevuld met opvulmateriaal en niet in staat tot een menselijke emotie als liefde. Op vergelijkbare wijze kan een algoritme een slimme indruk op ons maken, maar laten we niet vergeten dat het eigenlijk een verzameling heel strikte instructies is.

Genoeg over de term ‘slim algoritme’. Er wordt hier, lijkt mij, over het algemeen gedoeld op machine learning (ML) algoritmen. Dit type algoritmen produceert voorspellingen voor nieuwe data op basis van oude data. Hierboven spraken we over expertregels die vertaald werden in een algoritme. Deze expertregels bepalen expliciet hoe bepaalde invoer resulteert in een uitkomst. Bij machine learning krijgen de regels vorm door de uitkomst te optimaliseren op basis van oude data. De oude data bestaat uit een bij voorkeur grote hoeveelheid voorbeelden van invoer met bijbehorende uitkomst. Het optimalisatie proces wordt het ‘leren’ of ‘trainen’ van het algoritme genoemd, alweer een antropomorfisme. Indien er nu nieuwe data wordt ingevoerd in het ML algoritme resulteert dat in een voorspelling: een bepaalde kans op een uitkomst.

Een paar opmerkingen hierover. Net als andere algoritmen bestaan ML algoritmen uit heel strikte regels, in dit geval uit strikte regels hoe het leren op basis van voorbeelden moet worden uitgevoerd. Het resultaat van deze optimalisatie hangt sterk van de ingevoerde voorbeelden af. Daarmee is de voorspelling ook sterk afhankelijk van de data waarmee het algoritme getraind werd. In sommige gevallen is het ML algoritme tamelijk eenvoudig en gemakkelijk te duiden. In andere gevallen is het ML algoritme erg complex. Dit is bijvoorbeeld het geval bij deep learning algoritmen die onder andere veel bij herkennen van objecten in foto’s of video’s worden ingezet, maar ook bijvoorbeeld bij spraakherkenning. Deep learning algoritmen zijn typische voorbeelden van ‘zwarte doos’ of ‘black box’ algoritmen.

Dit type algoritmen, de ML algoritmen, liggen onder het vergrootglas, met name als deze worden ingezet om voorspellingen of uitspraken te doen over burgers. De ingevoerde voorbeelden waarmee het algoritme getraind wordt, kunnen kenmerken bevatten waardoor de uitkomst van het ML algoritme onbedoeld en onterecht discriminerend kan uitpakken. Dit speelt met name bij de black box algoritmen waarbij de werking dermate complex is dat de relatie tussen input en uitkomst niet eenvoudig te herleiden is.

Als burger zou ik deze ML algoritmen graag geregistreerd willen hebben. Ik zou daarbij in de volgende zaken geïnteresseerd zijn:

1. Een bijsluiter bij het ML algoritme waarbij wordt uitgelegd welke voorbeeld data is gebruikt voor het trainen van het ML algoritme, welk type ML algoritme gebruikt is en hoe de juistheid van de uitkomsten getoetst is.

2. De broncode van het ML algoritme zodat data specialisten de juistheid kunnen verifiëren en zo nodig verbeteringen kunnen suggereren.

3. Open toegang tot het ML algoritme waarbij geïnteresseerden zelf nieuwe data kunnen invoeren en vervolgens voorspellingen ontvangen.

Met name het laatste punt is een erg krachtig instrument. Stel een algoritme voorspelt de kans op belastingfraude. Indien in de in te voeren nieuwe data een westerse naam wordt vervangen door een niet-westerse naam zou dat geen gevolgen voor de uitkomst mogen hebben. Is dat wel zo, dan hebben de makers iets uit te leggen. Dit werkt voor alle typen ML algoritmen, ook voor black box algoritmen.

Overigens werkt het openstellen van het ML algoritme ook in het voordeel van de echte fraudeurs: ook zij kunnen onder de motorkap van het ML algoritme kijken en vervolgens passende maatregelen nemen om hun frauduleuze praktijken te verhullen. Mogelijk moet hier een tussenweg worden gekozen waarbij enkel de grote lijnen van het ML algoritme publiek zijn en de details voor inspectie beschikbaar zijn voor een ML controle orgaan.

Laten we tot slot terug komen op het algoritmeregister.

Ik zou willen voorstellen het algoritmeregister specifieker te maken, namelijk enkel voor ML algoritmen, en dan met name ML algoritmen die uitspraken over mensen of groepen mensen doen. Dit type algoritmen zijn met name onderwerp van de maatschappelijke discussie. Een naamswijziging van het register zou daarbij dan ook passend zijn, bijvoorbeeld “Machine Learning register”. Door de overheid gebruikte ML algoritmen zijn een publieke zaak en moeten in principe voor het publiek toegankelijk zijn. Het register zelf zou tenminste de bijsluiter moeten bevatten en bij voorkeur ook links naar de broncode en het ML algoritme zodat een ieder zich van de juiste werking op de hoogte kan stellen.

Ik hoop met dit stuk wat helderheid te hebben verschaft rondom algoritmen. Neem voor vragen of suggesties gerust contact op!

--

--