4 september 2021

Hoeveel gegevens heb ik nodig voor mijn AI-project?

Kunstmatige intelligentie (AI) en de verschillende bijbehorende leeralgoritmen lijken misschien nog obscuur en mysterieus voor niet-experts. Toch zijn ze steeds vaker aanwezig in ons dagelijks leven, van navigatiesystemen tot het automatisch aanvullen van zinnen in berichtendiensten of geavanceerde aanbevelingen in je favoriete streaming-app. Deze relatieve ondoorzichtigheid wordt over het algemeen verklaard door het gebrek aan begrip van deze technologieën en in het bijzonder van hoe ze werken. Het is onder andere niet altijd duidelijk wat er nodig is om dit soort algoritmen te trainen en te bouwen, zowel wat betreft data als infrastructuur. In dit artikel proberen we kort te verduidelijken wat een "AI-algoritme" eigenlijk nodig heeft aan gegevens. Laten we echter opmerken dat er niet zoiets bestaat als een universele regel voor dat doel, en dat het antwoord afhangt van veel factoren, zoals het probleem (weersvoorspelling, automatisch invullen van belastingdocumenten of voorspelling van de kortste route in een navigatietoepassing) of het type leeralgoritme dat wordt overwogen (lineaire regressie, klassiek machine learning of neurale netwerken), enz.

Zoals eerder vermeld, is de complexiteit van het probleem de eerste factor die de hoeveelheid gegevens beïnvloedt die nodig is om een bepaalde nauwkeurigheid te bereiken. Het belangrijkste doel van een leeralgoritme is om de verbanden tussen de verschillende kenmerken van de trainingsgegevens (de attributen) vast te leggen. Hoe ingewikkelder de verbanden, hoe meer voorbeeldgegevens het algoritme nodig heeft. Bijvoorbeeld, de voorspelling van het aantal mensen op vakantie volgens de tijd van het jaar of de identificatie van verschillende onzuiverheden en defecten op het oppervlak van metallurgische producten vereisen niet dezelfde hoeveelheid trainingsgegevens.
De complexiteit van het algoritme zelf is ook een belangrijke factor. Kunstmatige intelligentie varieert van eenvoudige algoritmen zoals lineaire regressies tot complexe algoritmen zoals neurale netwerken en meer "klassieke" algoritmen voor machinaal leren zoals random forests. Hoe complexer het algoritme, hoe groter de hoeveelheid gegevens die nodig is om het te trainen. Hetzelfde geldt voor de architectuur van neurale netwerken, waarbij de complexiteit wordt weerspiegeld door het aantal lagen neuronen en het aantal neuronen per laag.

Zelfs als er geen absolute waarheid bestaat over de hoeveelheid gegevens die nodig is, zijn er basisregels om de orde van grootte van de geschikte steekproefgrootte in te schatten. Een van de meest gebruikte (maar controversiële... en terecht) is de regel van 10: stel dat een model ongeveer tien keer meer waarnemingen nodig heeft dan het vrijheidsgraden heeft (een vrijheidsgraad kan een parameter van het model zijn, een kenmerk van de gegevens, of een klasse in het geval van classificatie). Als we dit principe toepassen in het geval van lineaire problemen, is het aantal vrijheidsgraden voornamelijk het aantal attributen van de gegevens (de dimensie van het probleem). In een neuraal netwerk daarentegen neemt het aantal vrijheidsgraden aanzienlijk toe door het grote aantal parameters dat moet worden berekend. Dit laatste varieert afhankelijk van het exacte type algoritme, maar hangt in elk geval af van de grootte van elke laag neuronen en het aantal lagen. Voor een complex probleem zoals objectherkenning in hoge definitie kunnen gemakkelijk duizenden beelden per klasse nodig zijn.

Zoals je al had kunnen raden, geldt over het algemeen: hoe rijker en diverser de dataset, hoe beter. Er zijn echter alternatieven als je niet genoeg gegevens hebt om je algoritme te trainen om hoge nauwkeurigheidsniveaus te bereiken. Je kunt bijvoorbeeld gebruikmaken van vooraf getrainde modellen door een model dat is getraind voor een algemene taak uit te breiden voor een nieuwe (maar voldoende vergelijkbare) taak door middel van een proces dat "transfer learning" wordt genoemd. Een vooraf getraind model voor objectranddetectie of tekstdetectie op basis van afbeeldingen kan bijvoorbeeld worden verfijnd voor het detecteren van nummerplaten. Andere technieken zijn het gebruik van gegevens uit externe (mogelijk openbare) gegevensbronnen (bijv. weergegevens) of het gebruik van gegevensverrijkingsmethoden om synthetische gegevens te genereren op basis van transformaties van echte gegevens (bijv. het verrijken van beeldgegevenssets met willekeurig bijgesneden, omgedraaide of geroteerde beelden). Deze laatste methode wordt regelmatig gebruikt voor objectherkenning/detectieproblemen, waarvoor het niet altijd eenvoudig is om een grote gelabelde database te verzamelen.

Tot slot moet je niet vergeten dat kwaliteit minstens zo belangrijk (zo niet belangrijker) is dan kwantiteit. Honderd zuivere en gevarieerde waarnemingen zijn altijd veel beter dan een miljoen zeer ruisige of perfect uniforme waarnemingen, vandaar het onderscheid tussen "gegevens" en "informatie". Het toevoegen van gegevens, zelfs van goede kwaliteit, kan soms zelfs leiden tot een verzadiging van de modelprestaties, of zelfs tot een vermindering ervan (bijvoorbeeld door klasse-onbalans).

Concluderend zijn de complexiteit van het probleem en het aantal verklarende variabelen doorslaggevende criteria bij het bepalen van de hoeveelheid gegevens die nodig is. Maar andere aspecten, zoals de kwaliteit en variëteit van de gegevens, spelen ook een belangrijke rol. Er bestaan wel vuistregels om ruwe schattingen te maken, maar niets kan (in dit stadium) de menselijke expertise in dat proces vervangen.

Benieuwd hoe AI je nieuwe kansen kan bieden in je bedrijf? Aarzel dan niet om contact op te nemen met onze AI-specialisten.

Laetitia Josse, projectmanager

Wil je een project starten?

Let‘s talk