Skip to content

Commit

Permalink
Release v1.7/straktrekken algoritmes/ai (#414)
Browse files Browse the repository at this point in the history
Co-authored-by: Nout van Deijck <[email protected]>
  • Loading branch information
BartdeVisser and noutvandeijck authored Nov 26, 2024
1 parent 35cc678 commit 2746320
Show file tree
Hide file tree
Showing 74 changed files with 256 additions and 252 deletions.
4 changes: 2 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Algoritmekader
summary: In het Algoritmekader staan alle regels, tips en hulpmiddelen voor overheden voor verantwoord gebruik van algoritmes en AI.
summary: In het Algoritmekader staan alle regels, tips en hulpmiddelen voor overheden voor verantwoord gebruik van algoritmes.
hide:
- navigation
- toc
---
# Het algoritmekader
<div class="header-container">
<div class="subheader">Wetten en regels, tips en hulpmiddelen voor verantwoord gebruik van algoritmes en AI.
<div class="subheader">Wetten en regels, tips en hulpmiddelen voor verantwoord gebruik van algoritmes.
<span class="version-container">
<span class="version-label">bètaversie</span>
<div class="hover-info">
Expand Down
6 changes: 3 additions & 3 deletions docs/levenscyclus/dataverkenning-en-datapreparatie.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ De data zullen vervolgens worden opgeschoond, geanalyseerd en voorbereid voor ve

Het is van belang dat dataverzameling op de juiste manier gebeurt, en dat datasets die gebruikt gaan worden van goede kwaliteit zijn.
In deze fase is het van belang om de datakwaliteit en eventuele bias in de dataset te onderzoeken.
Indien er risico's optreden door bijvoorbeeld missende data of niet representatieve data, is het belangrijk om te kijken wat voor effecten dit heeft op het oorspronkelijke ontwerp van het algoritme of AI-systeem.
Indien er risico's optreden door bijvoorbeeld missende data of niet representatieve data, is het belangrijk om te kijken wat voor effecten dit heeft op het oorspronkelijke ontwerp van het algoritme.
Dit kan betekenen dat nieuwe keuzes moeten worden gemaakt in het ontwerp en eventueel eerste deze fase van ontwerp (deels) opnieuw moet worden doorlopen.

Met voorgaande handelingen wordt het fundament gelegd om het algoritme of AI-systeem te kunnen ontwikkelen.
Met voorgaande handelingen wordt het fundament gelegd om het algoritme te kunnen ontwikkelen.
In de praktijk zal bijvoorbeeld het analyseren van de data niet stoppen na deze fase, maar terugkerend zijn in alle fasen die volgen.
Als de verzamelde data van voldoende kwaliteit is en de vereiste maatregelen zijn getroffen, dan kan worden gestart met het ontwikkelen van het algoritme of AI-systeem.
Als de verzamelde data van voldoende kwaliteit is en de vereiste maatregelen zijn getroffen, dan kan worden gestart met het ontwikkelen van het algoritme.


## Vereisten
Expand Down
14 changes: 7 additions & 7 deletions docs/levenscyclus/implementatie.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ hide:
- toc
---

In deze fase wordt het algoritme of AI-systeem in de praktijk gebracht en duurzaam geïntegreerd in het bedrijfsproces.
In deze fase wordt het algoritme in de praktijk gebracht en duurzaam geïntegreerd in het bedrijfsproces.
In de praktijk worden veelal eerst een pilot uitgevoerd voor een afgebakende periode of over een beperkt aan zaken.
In deze situatie, een pilot, wordt tijdelijk productiedata verwerkt.
Dit vraagt om een goede samenwerking tussen het ontwikkelteam en de gebruikers van het algoritme of AI-systeem.
Niet alleen de prestaties van het algoritme of AI-systeem worden nogmaals gevalideerd, maar bijvoorbeeld ook of de output zodanig wordt gepresenteerd dat gebruikers hiermee kunnen werken.
Na deze pilot wordt onderzocht in hoeverre het algoritme of AI-systeem presteert conform wens en verwachting.
Dit vraagt om een goede samenwerking tussen het ontwikkelteam en de gebruikers van het algoritme.
Niet alleen de prestaties van het algoritme worden nogmaals gevalideerd, maar bijvoorbeeld ook of de output zodanig wordt gepresenteerd dat gebruikers hiermee kunnen werken.
Na deze pilot wordt onderzocht in hoeverre het algoritme presteert conform wens en verwachting.
Er kan worden gekozen om het algoritme eerst nog door te ontwikkelen op basis van de bevindingen, uit te faseren of om de oplossing structureel onderdeel te maken van de bedrijfsvoering door het te implementeren.

Als een besluit wordt genomen om de oplossing te implementeren, dan is het van belang dat gebruikers goed begrijpen hoe de resultaten van het algoritme of AI-systeem moeten worden geïnterpreteerd, dat de rest-risico's bekend zijn, de verantwoordelijkheden belegd zijn en dat er duidelijke werkinstructies zijn over het gebruik van het algoritme of AI-systeem.
Als een besluit wordt genomen om de oplossing te implementeren, dan is het van belang dat gebruikers goed begrijpen hoe de resultaten van het algoritme moeten worden geïnterpreteerd, dat de rest-risico's bekend zijn, de verantwoordelijkheden belegd zijn en dat er duidelijke werkinstructies zijn over het gebruik van het algoritme.
Service- en incidentmanagement moet volledig worden geoperationaliseerd, zodat gebruikers kunnen worden geholpen bij vragen of incidenten.
Een kenmerkend element van deze fase is dat vanaf nu betrokkenen onderhevig zijn aan de werking van het algoritme of AI-systeem.
Beslissingen en besluiten komen nu bijvoorbeeld mede of geheel door de werking van het algoritme of AI-systeem tot stand.
Een kenmerkend element van deze fase is dat vanaf nu betrokkenen onderhevig zijn aan de werking van het algoritme.
Beslissingen en besluiten komen nu bijvoorbeeld mede of geheel door de werking van het algoritme tot stand.
Waar passend, bijvoorbeeld bij impactvolle of hoog risico AI-systemen wordt dit duidelijk gecommuniceerd naar betrokken, voordat de oplossing volledig is geïmplementeerd.


Expand Down
4 changes: 2 additions & 2 deletions docs/levenscyclus/index.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: Levenscyclus
summary: Hulp per fase van de levenscyclus van algoritmes en AI, zoals probleemanalyse, ontwerpen, ontwikkelen, implementeren en ermee stoppen.
summary: Hulp per fase van de levenscyclus van algoritmes, zoals probleemanalyse, ontwerpen, ontwikkelen, implementeren en ermee stoppen.
hide:
- toc
---

# Levenscyclus algoritmes en AI
# Levenscyclus van een algoritme

Om algoritmes op een verantwoorde manier te gebruiken, zul je op de juiste momenten aandacht moeten hebben voor de juiste onderwerpen en risico's.
Van het ontwikkelen van een oplossing, tot het in gebruik nemen van die oplossing en er uiteindelijk weer mee stoppen.
Expand Down
10 changes: 5 additions & 5 deletions docs/levenscyclus/monitoring-en-beheer.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ hide:
- toc
---

Het algoritme of AI-systeem wordt in deze fase voortdurend gemonitord om ervoor te zorgen dat het blijft presteren zoals verwacht en kan worden gebruikt door gebruikers.
Het algoritme wordt in deze fase voortdurend gemonitord om ervoor te zorgen dat het blijft presteren zoals verwacht en kan worden gebruikt door gebruikers.
Eventuele afwijkingen of degradatie van prestaties worden gesignaleerd en er worden maatregelen getroffen om dit te herstellen.
Dit is van belang vanuit een technisch perspectief (presteert het model nog wel waar het voor ontworpen is), maar ook vanuit een juridische en ethische blik (functioneert het model nog wel rechtmatig en zijn er geen onvoorziene nadelige effecten op mens en maatschappij).
Hierbij dient ook voortdurend gemonitord te worden of de omstandigheden waarin het algoritme of AI-systeem wordt gebruikt veranderlijk zijn, en of daar op geanticipeerd moet worden.
Dit kan bijvoorbeeld spelen bij veranderende data of bij het uitvoeren van nieuw beleid of wet- en regelgeving in het werkproces dat wordt ondersteund met het algoritme of AI-systeem.
Hierbij dient ook voortdurend gemonitord te worden of de omstandigheden waarin het algoritme wordt gebruikt veranderlijk zijn, en of daar op geanticipeerd moet worden.
Dit kan bijvoorbeeld spelen bij veranderende data of bij het uitvoeren van nieuw beleid of wet- en regelgeving in het werkproces dat wordt ondersteund met het algoritme.

Het is van belang dat beheer wordt uitgevoerd over het algoritme of AI-systeem, zodat de (gehele) oplossing operationeel blijft.
Een wijziging in onderliggende systemen kan er bijvoorbeeld voor zorgen dat het algoritme of AI-systeem niet meer wordt voorzien van de noodzakelijk data om de benodigde output te genereren.
Het is van belang dat beheer wordt uitgevoerd over het algoritme, zodat de (gehele) oplossing operationeel blijft.
Een wijziging in onderliggende systemen kan er bijvoorbeeld voor zorgen dat het algoritme niet meer wordt voorzien van de noodzakelijk data om de benodigde output te genereren.
Het beheerteam zorgt ervoor dat dergelijke situaties worden voorkomen of opgelost. Er kunnen ook incidenten worden gemeld door gebruikers die worden opgelost door het beheerteam.

## Vereisten
Expand Down
10 changes: 5 additions & 5 deletions docs/levenscyclus/ontwerp.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,23 @@ hide:
- toc
---

In de ontwerpfase wordt het conceptuele ontwerp van het AI-systeem uitgedacht.
In de ontwerpfase wordt het conceptuele ontwerp van het algoritme uitgedacht.
Het is van belang om belangrijke uitgangspunten en beleid, zoals doelarchitectuur en de datastrategie, van de betreffende organisatie meteen te verwerken in het ontwerp en dat het applicatielandschap en de databronnen in beeld wordt gebracht.
In deze fase worden doorgaans veel werkzaamheden verzet, zoals business- en informatieanalyse, om een goed beeld te krijgen hoe aan de beoogde doelstellingen kan worden voldaan met een passende oplossing.

Het is goed denkbaar dat meerdere ontwerpen in deze fase tot stand komen voor het te ontwikkelen algoritme of AI-systeem.
Het is goed denkbaar dat meerdere ontwerpen in deze fase tot stand komen voor het te ontwikkelen algoritme.
Het is van belang om deze ontwerpen te toetsen bij bijvoorbeeld de proceseigenaar, opdrachtgever en gebruiker, maar ook bij informatiebeveiligingsadviseurs, privacy officers, informatiebeheerders, architecten of een ethicus.
Deze experts kunnen vanuit hun vakgebied een eerste toets doen in hoeverre het ontwerp haalbaar of gewenst is, aansluit bij de gebruikersbehoefte, aan welke vereisten moet worden voldaan of dat er risicoanalyses moeten worden uitgevoerd en een onafhankelijke commissies moet worden betrokken.

Met deze input kan het ontwerp worden verbeterd en vraagstukken over bijvoorbeeld governance en risicomanagement verder worden uitgewerkt.
In deze fase kan ook een eerste stap worden gezet om de vereisten te vertalen naar concrete maatregelen, te structureren en te beleggen bij de betrokken experts.
Als bijvoorbeeld is vastgesteld dat persoonsgegevens noodzakelijkerwijs moeten worden verwerkt en hier een grondslag voor is, dan is het van belang dat voorafgaand aan de dataverkenning en datapreparatie fase voldoende (technische) maatregelen zijn getroffen om de data veilig te verwerken in de beoogde (ontwikkel)omgeving.

Daarnaast dient er in de ontwerpfase ook aandacht besteed te worden aan de succesfactoren van een algoritme of AI-systeem.
Daarnaast dient er in de ontwerpfase ook aandacht besteed te worden aan de succesfactoren van een algoritme.
Het is belangrijk om in een multidisciplinaire setting te bepalen hoe het algoritme in de praktijk geëvalueerd kan worden en wanneer we kunnen spreken van een rechtvaardig succes.
Hierbij dient er ook te worden nagedacht over evaluatiemethoden om na te gaan of het algoritme of AI-systeem voldoet aan bijvoorbeeld het vereiste van non-discriminatie.
Hierbij dient er ook te worden nagedacht over evaluatiemethoden om na te gaan of het algoritme voldoet aan bijvoorbeeld het vereiste van non-discriminatie.

Nadat een besluit is genomen over het definitieve ontwerp van het algoritme of AI-systeem, kan worden gestart met het inrichten van de ontwikkelomgeving (indien nodig), de dataverkenning, datapreparatie.
Nadat een besluit is genomen over het definitieve ontwerp van het algoritme, kan worden gestart met het inrichten van de ontwikkelomgeving (indien nodig), de dataverkenning, datapreparatie.
Dit besluit betekent dat een akkoord wordt gegeven voor het type algoritme en de beoogde werking.

## Vereisten
Expand Down
10 changes: 5 additions & 5 deletions docs/levenscyclus/ontwikkelen.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@ hide:
- toc
---

Dit is de fase waarin het algoritme of AI-systeem wordt ontwikkeld door het ontwikkelteam.
Dit is de fase waarin het algoritme wordt ontwikkeld door het ontwikkelteam.
Als het gaat om AI-systemen, omvat deze fase het trainen van modellen met behulp van de voorbereide gegevens.
Als het gaat om algoritmes op basis van rekenregels, betreft dit het implementeren van deze rekenregels in de (ontwikkelomgeving van de) systemen.

Het algoritme of AI-systeem technisch correct ontwikkelen, inclusief het kunnen begrijpen van de beperkingen ervan, vraagt om een samenspel van expertise vanuit verschillende disciplines.
Het algoritme technisch correct ontwikkelen, inclusief het kunnen begrijpen van de beperkingen ervan, vraagt om een samenspel van expertise vanuit verschillende disciplines.
Denk hierbij aan de proceseigenaar, domeinexperts van het te ondersteunen werkproces, data scientists, data engineer, (privacy)juristen, beleidsmedewerkers en een ethicus.
Een voorbeeld hiervan is het beoordelen van de zogenaamde inputvariabelen of rekenregels (die voor een groot deel bepalen hoe een algoritme of AI-systeem functioneert) van een machine learning model of algoritme.
Een voorbeeld hiervan is het beoordelen van de zogenaamde inputvariabelen of rekenregels (die voor een groot deel bepalen hoe een algoritme functioneert) van een machine learning model of algoritme.
Deze rollen zijn bijzonder waardevol bij het beoordelen of deze variabelen of rekenregels juridisch zijn toegestaan, ethisch wenselijk zijn, technisch gezien- voldoende significant zijn en of deze van toegevoegde waarde zijn voor gebruikers.
Dit multidisciplinaire team kan tijdens de ontwikkeling continu bijsturen, zodat het algoritme of AI-systeem op een verantwoorde wijze functioneert en aansluit bij de beoogde doelstellingen.
Dit multidisciplinaire team kan tijdens de ontwikkeling continu bijsturen, zodat het algoritme op een verantwoorde wijze functioneert en aansluit bij de beoogde doelstellingen.

In deze fase is niet alleen het ontwikkelen van een algoritme of AI-systeem, maar ook het documenteren van belangrijke afwegingen en het opstellen van technische documentatie van groot belang.
In deze fase is niet alleen het ontwikkelen van een algoritme, maar ook het documenteren van belangrijke afwegingen en het opstellen van technische documentatie van groot belang.
Daarnaast zullen tal van (technische) maatregelen moeten worden getroffen zoals de verdere beveiliging van het informatiesysteem of bij de ontsluiting van de output naar gebruikers, het automatische genereren van logs en het inrichten van service en incidentmanagementprocedures.

## Vereisten
Expand Down
11 changes: 6 additions & 5 deletions docs/levenscyclus/probleemanalyse.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@ hide:

In deze fase wordt het probleem en de doelstellingen van een opdrachtgever geanalyseerd en beschreven.
Er wordt bijvoorbeeld onderzocht welke publieke taak moet worden ondersteund en welke publieke waarden daarbij moeten worden beschermd of juist gerealiseerd.
In deze fase wordt onderzocht of het ontwikkelen van een algoritme of AI-systeem een geschikt middel is om het doel te realiseren en het probleem op te lossen.
In deze fase wordt onderzocht of het ontwikkelen van een algoritme een geschikt middel is om het doel te realiseren en het probleem op te lossen.
Dat hangt van verschillende zaken af.
Hierbij kan worden gedacht aan de middelen (capaciteit en financiële middelen) die nodig zijn om algoritmen en AI op een verantwoorde wijze te ontwikkelen, de complexiteit van de oplossing, het in beeld brengen van de verwachte risico's (hoog over), een eerste beeld krijgen bij wat voor data nodig zijn en het in kaart brengen en beleggen van de verschillende verantwoordelijkheden.
Daarnaast is het van belang om het beleid met betrekking tot de inzet van algoritme en AI van een organisatie te raadplegen.

Er zal een conclusie moeten volgen of de ontwikkeling van een algoritme of AI-systeem passend is.
Deze fase wordt doorgaans afgerond met een akkoord van de (gemandateerd) verantwoordelijk(en)/opdrachtgever om een algoritme of een AI-systeem te ontwikkelen.
Hierbij kan worden gedacht aan de middelen (capaciteit en financiële middelen) die nodig zijn om algoritmen op een verantwoorde wijze te ontwikkelen, de complexiteit van de oplossing, het in beeld brengen van de verwachte risico's (hoog over), een eerste beeld krijgen bij wat voor data nodig zijn en het in kaart brengen en beleggen van de verschillende verantwoordelijkheden.
Daarnaast is het van belang om het beleid met betrekking tot de inzet van algoritme een organisatie te raadplegen.

Er zal een conclusie moeten volgen of de ontwikkeling van een algoritme passend is.
Deze fase wordt doorgaans afgerond met een akkoord van de (gemandateerd) verantwoordelijk(en)/opdrachtgever om een algoritme te ontwikkelen.
Een vastgestelde business case of plan van aanpak vormen veelal de basis om de ontwerpfase te starten met de benodigde experts.

## Vereisten
Expand Down
10 changes: 5 additions & 5 deletions docs/levenscyclus/uitfaseren.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ hide:
- toc
---

Als wordt besloten dat het algoritme of AI-systeem niet langer nodig is of wordt vervangen door een wezenlijk andere versie, wordt het gearchiveerd en uitgefaseerd.
Hiermee wordt ervoor gezocht dat later kan worden gereconstrueerd hoe het algoritme of AI-systeem heeft gefunctioneerd en dat gebruikers er geen gebruik meer van kunnen maken.
Als wordt besloten dat het algoritme niet langer nodig is of wordt vervangen door een wezenlijk andere versie, wordt het gearchiveerd en uitgefaseerd.
Hiermee wordt ervoor gezocht dat later kan worden gereconstrueerd hoe het algoritme heeft gefunctioneerd en dat gebruikers er geen gebruik meer van kunnen maken.

Archiveren betekent dat documentatie en eventuele relevante artefacten (zoals logbestanden en de parameters van het model) worden bewaard voor een bepaalde periode.
Het gaat daarbij ook om informatie over het algoritme of AI-systeem, bijvoorbeeld het besluit en onderbouwing waarom het niet meer wordt gebruikt en waarom het in het verleden wel gebruikt werd.
Archiveren is niet enkel relevant aan het einde van de levenscyclus, maar is ook gedurende het gebruik van het algoritme of AI-systeem van belang.
Het gaat daarbij ook om informatie over het algoritme, bijvoorbeeld het besluit en onderbouwing waarom het niet meer wordt gebruikt en waarom het in het verleden wel gebruikt werd.
Archiveren is niet enkel relevant aan het einde van de levenscyclus, maar is ook gedurende het gebruik van het algoritme van belang.
Er moet tijdig worden vastgesteld welke versies van een model moeten worden gearchiveerd, bijvoorbeeld al tijdens de ontwerpfase.

Bij AI-systemen is er in praktijk vaak sprake van hertrainen op nieuwe data, wat het model anders maakt en andere voorspellingen kan doen geven.
Ook meer eenvoudige algoritmes kunnen gedurende de tijd veranderen en andere voorspellingen geven, bijvoorbeeld door veranderende data of veranderende rekenregels.
Er moet worden vastgesteld welke versies van een model moet gearchiveerd.

Bij uitfaseren wordt het algoritme of AI-systeem verwijderd uit de productieomgeving en, na archivering, wordt de trainingsdata uit de ontwikkelomgeving verwijderd.
Bij uitfaseren wordt het algoritme verwijderd uit de productieomgeving en, na archivering, wordt de trainingsdata uit de ontwikkelomgeving verwijderd.
Het algoritme is hiermee niet meer te gebruiken door gebruikers.
Gebruikers moeten hier vooraf over worden geïnformeerd en waar passend, bijvoorbeeld bij impactvolle of hoog risico AI-systemen, worden betrokkenen geïnformeerd over het beëindigen van het gebruik.

Expand Down
Loading

0 comments on commit 2746320

Please sign in to comment.