Geprinte versie: V.1.0.0, uitgebracht op 23-11-2020

Bijsluiter - Fase 2: Ontwerp - vier componenten

Deze ‘bijsluiter’ is de gebruikershandleiding behorend bij de Handreiking Duurzaam Toegankelijke Algoritmes. Deze handreiking bestaat uit een overzichtsplaat, een vragenlijst en deze bijsluiter. Alle onderdelen van zowel de overzichtsplaat als de vragenlijst worden in dit document nader toegelicht en waar mogelijk voorzien van praktische voorbeelden.

Fase 2: Ontwerp - vier componenten

2.1. Inleiding

Een algoritme bestaat uit een viertal componenten: trainingsdata, output, logica en documentatie. De archivering heeft betrekking op alle vier deze componenten. Bij het ontwerpen van het algoritme bekijk je dus per component hoe lang deze bewaard moet blijven, voor wie deze toegankelijk moet zijn en in welk vorm die wordt bewaard.

In deze paragraaf wordt elk van de vier componenten toegelicht.

2.3. Trainingsdata

Met ‘trainingsdata’ wordt bedoeld: de data waarmee het algoritme wordt gevoed. Dit wordt ook wel ‘de input’ genoemd.

De vorm van de trainingsdata kan verschillen. Een algoritme kan gebruik maken van een statische set data, die eenmalig worden verzameld en die in principe nooit meer wijzigen, denk aan een database met gegevens over verkeersongevallen gekoppeld aan geografische locaties in het jaar 2017. Er kan ook sprake zijn van realtime-data die enorm vluchtig is, denk bijvoorbeeld aan sensordata. In veel gevallen worden datasets eerst nog bewerkt, dan wordt bijvoorbeeld de datasemantiek genormaliseerd of worden datasets samengevoegd.
Verder kan de trainingsdata bestaan uit enerzijds trainingsdata op basis waarvan het algoritme patronen leert herkennen en anderzijds specifieke data die op basis van die patronen geanalyseerd worden.

Ook de inhoud van de trainingsdata kan verschillende vormen hebben. Data kunnen objectief en subjectief zijn. Een voorbeeld van objectieve data is het aantal inwoners per provincie: dit zijn neutrale feiten die niet ter discussie kunnen worden gesteld. Een voorbeeld van subjectieve data is een database met gegevens over belastingfraudeurs. In dit voorbeeld kan de vraag worden gesteld hoe deze gegevens zijn verzameld, hier zou bijvoorbeeld profilering aan de orde kunnen zijn. Het zijn geen neutrale feiten, maar gegevens die zijn verzameld op basis van beleidsmatige keuzes en menselijke inschatting.

Ontwerpvragen die te maken hebben met trainingsdata, zijn onder meer:

  • Bewaren we trainingsdata of volstaan we met het bewaren van het datamodel (zie ook 2.5. Logica) en eventueel een beschrijving van welke brondata zijn gebruikt (zie ook 2.2. Documentatie)?
  • Bewaren we alle ruwe data of alleen de bewerkte datasets?
  • Als er realtime-data wordt gebruikt, bewaren we dan steekproeven om de werking van het algoritme achteraf te kunnen reproduceren?
2.4. Output

Met ‘output’ wordt bedoeld: de uitkomst van een algoritme. Hierin onderscheiden we drie verschillende vormen:

  • Ruwe resultaten
    • Dit zijn uitkomsten van een algoritmische berekening die niet door een mens zijn geïnterpreteerd. Bijvoorbeeld een Excel-rapport waarin sollicitanten op volgorde van geschiktheid worden gepresenteerd.
  • Verwerkte resultaten
    • Dit zijn documenten waaraan een algoritmische berekening ten grondslag ligt. Bijvoorbeeld een besluit om iemand wel of geen toelage te verstrekken of een beleidsdocument waarin algoritmische berekeningen zijn geanalyseerd en geduid.
  • Weergave in dashboard
    • Dit is een realtime-weergave op een bepaald moment in de tijd, die niet in een document wordt vastgelegd.

Ontwerpvragen die te maken hebben met output zijn bijvoorbeeld:

  • Regelen we de archivering van de output op het niveau van de zaak waarop het betrekking heeft en zien we de archivering van de werking van het algoritme als een op zichzelf staande zaak of regelen we de archivering integraal?
  • Als algoritmische berekeningen als realtime-weergave in een dashboard worden getoond, is het dan mogelijk om een export te maken op het moment van raadpleging zodat wordt vastgelegd welk inzicht op welk moment is gebruikt voor verdere verwerking? Wat is hier aanvullend op instructieniveau voor nodig?
2.5. Logica

De logica bestaat uit de code en het datamodel.

De code bestaat uit meerdere rekenregels die verbanden weergeven. Een voorbeeld: als een algoritme wordt ingezet om automatisch documenten te herkennen, dan wordt het algoritme eerst getraind door bijvoorbeeld heel veel verschillende facturen te laten zien. Het algoritme zoekt dan naar gedeelde eigenschappen en legt deze vast in rekenregels, zoals: ‘als er bovenaan het document rekening of factuur staat, dan is het waarschijnlijk een factuur’. Hoe meer trainingsdata een algoritme verwerkt, hoe meer verbanden het zal herkennen en hoe uitgebreider de code wordt. Vanwege dit zelflerende karakter, is het vaak nodig om periodiek te toetsen of het algoritme nog naar behoren werkt.

Het datamodel definieert de data waarmee een algoritme wordt gevoed. Dit kun je vergelijken met een Excel-sheet: alle gegevens in kolom A staan voor leeftijd, alle gegevens in kolom B staan voor geslacht. Als er meerdere datasets worden gebruikt, dan maakt het datamodel duidelijk dat op kolom A in dataset 1 dezelfde definitie van toepassing is als op kolom D in dataset 2. Zo weet het algoritme dat het appels met appels vergelijkt en peren met peren. Het datamodel is dus een essentieel element in het algoritme: daarin wordt vastgelegd welke type gegevens worden gebruikt en wat de inhoudelijke betekenis is van die gegevens.

Een voorbeeld. Bij een sollicitatieproces voor stewardessen wordt op basis van een algoritme een lijst opgesteld met de meest geschikte kandidaten. Telkens als er iemand wordt aangenomen, leert het algoritme daar weer van. Omdat in deze specifieke sector meer vrouwelijke dan mannelijke kandidaten beschikbaar zijn, worden er vaker vrouwen dan mannen aangenomen. Het algoritme kijkt niet naar oorzaken, maar enkel naar verbanden. Het gevolg is dat het algoritme mannelijke kandidaten structureel lager scoort. Bij een audit op het algoritme komt dit als onwenselijk, discriminerend gedrag naar boven en het datamodel wordt hierop aangepast, zodat het algoritme het element ‘geslacht’ voortaan niet meer meeneemt in de analyse.

Ontwerpvragen die te maken hebben met logica zijn bijvoorbeeld:

  • Welke afspraken maken we over het documenteren van de monitoring van de correcte werking van het algoritme?
  • Met welke frequentie archiveren we de code? Bij elke wijziging, bij elke majeure wijziging of periodiek?
  • Hoe leggen we de keuzes vast aan de hand waarvan het datamodel tot stand is gekomen?
  • Hoe documenteren we eventuele wijzigingen in het datamodel?
2.2. Documentatie

Met documentatie wordt alle documentatie bedoeld die gaat over het ontwerp of de werking van het algoritme.

Er zijn drie soorten documentatie

  • Ontwerpdocumentatie
    • Dit is documentatie die tijdens de ontwerpfase wordt opgesteld en gezamenlijk het ontwerp vormen
  • Beheerdocumentatie
    • Dit is documentatie die tijdens de beheerfase wordt opgesteld over wijzigingen in het algoritme en over monitoring van de correcte werking van het algoritme
  • Verantwoordingsdocumentatie
    • Dit is documentatie die specifiek wordt opgesteld voor de uitlegbaarheid van een algoritme.

Ontwerpdocumentatie bestaat bijvoorbeeld uit een functioneel en technisch ontwerp of een privacyimpactanalyse. Beheerdocumentatie bestaat bijvoorbeeld uit verslagen van een Change Advisory Board.

Het is nodig om specifiek stil te staan bij verantwoordingsdocumentatie, want deze zal vaak op initiatief van de informatiebeheerdeskundige worden opgesteld. Het gaat hier om documentatie die vooral bedoeld is om de verantwoordingsfunctie van de overheid in te vullen. Een voorbeeld van dergelijke documentatie is een informatiewaardeanalyse. Als bij analyse van de trainingsdata bijvoorbeeld blijkt dat er subjectieve data wordt gebruikt (zie 2.3 Trainingsdata) dan kan daaruit de maatregel volgen dat er een analyse wordt opgesteld over de totstandkoming van deze gegevens: hoe functioneerde het proces waarin deze gegevens zijn verzameld? Hoe betrouwbaar zijn ze?

Ontwerpvragen die gaan over documentatie zijn bijvoorbeeld:

  • Wat moet er minimaal worden beschreven om verantwoording te kunnen afleggen over de werking en het gebruik van het algoritme?
  • Welke afspraken maken we over documenteren van het beheer?