Deep learning project

Voor de bacheloropleiding Applicatieontwikkeling, binnen het vak Artificiële Intelligentie, kreeg ik samen met twee medestudenten de opdracht om een AI-model te trainen dat verschillende kattensoorten kan herkennen. Na het ontwikkelen van het model moesten we het presenteren aan onze docent en verdedigen door middel van een mondelinge toelichting en het beantwoorden van gerichte vragen. De opdracht luidde als volgt: stel een uitgebreid rapport op met een duidelijke titel, een overzicht van de teamleden, een inleiding, en een beschrijving van de technische concepten die nodig zijn om de uitdaging aan te pakken. Leg uit wat je doet, waarom je het doet, en wat de resultaten zijn. Het rapport moest afgesloten worden met een sectie over Generative AI (GenAI) — of GenAI moest geïntegreerd worden binnen de tekst — gevolgd door een algemene conclusie.

Het Team

Jorrit (Ik)

Jorrit

Teamlid

Gilles

Gilles

Teamlid

Stef

Stef

Teamlid

Mijn focus

Tijdens dit project werkten we als team samen aan elk onderdeel. Hieronder geef ik een overzicht van de onderdelen waarop ik de grootste impact heb gehad.

Sanity checks afnemen

Tijdens het trainen van ons deep learning-model om verschillende kattensoorten te herkennen, voerde ik verschillende sanity checks uit. Op die manier kon ik er zeker van zijn dat het model correct functioneerde en dat eenvoudige fouten de nauwkeurigheid niet negatief beïnvloedden. Dankzij deze checks ontdekten we onder andere in welke volgorde we de afbeeldingen het best konden verwerken. Bovendien kwamen we erachter dat het model vooral moeite had met het onderscheiden van cheetahs en luipaarden, die het vaak met elkaar verwarde.

Foto Vooruitgang Sanity check

De accuraatheid van het model die gigantisch omhoog ging door de juiste volgorde te vinden

Foto Confusion Matrix

De confusion matrix van ons deep learning model, 2024

Confusion matrix opstellen

Om te achterhalen waarop we ons classificatiemodel het best verder konden trainen, schreef ik code om de juiste en foutieve voorspellingen weer te geven in een confusiematrix. Deze visualisatie hielp ons om snel inzicht te krijgen in welke klassen vaak door het model werden verward.

Data proper maken

Toen we de dataset ontvingen waarop we ons model moesten trainen, merkten we al snel dat de data niet proper was. Zo stonden verschillende afbeeldingen onder de verkeerde naam in de verkeerde mappen, en bevatte de dataset ook veel verwarrende beelden sommige waren te wazig, terwijl andere helemaal niets met katten te maken hadden, zoals foto's van kledingstukken of voedsel. Daarom besloten we als team om samen alle 1200 afbeeldingen handmatig te controleren en de ‘vuile’ data eruit te filteren. Om dit proces efficiënter te laten verlopen, heb ik samen met Stef een script ontwikkeld dat ons hielp bij het opschonen van de dataset. Verder zijn we er daarna dan nog eens handmatig doorgeweest om zeker te zijn dat alles in orde was.

Foto Foute afbeelding

Een afbeelding van een leeuwpaard dat tussen de tijger foto's verstopt zat

Powerpoint opstellen

Om ons te ondersteunen tijdens de verdediging, stelden we een PowerPoint-presentatie op. Die hielp ons niet alleen om onze visie en realisaties duidelijk over te brengen, maar bood ook de mogelijkheid om de presentatie logisch en gestructureerd op te bouwen. In totaal bestond de presentatie uit 22 dia’s.

Foto Eerste dia powerpoint

De transfer learning dia van de powerpoint, 2024

Zelfreflectie

Wat verliep er goed?

  • Communicatie binnen het team
  • De taakverdeling tussen het team
  • De powerpoint opbouwen
  • Het project verdedigen

Wat verliep er minder goed?

  • Het begrijpen van de leerstof was soms pittig
  • Soms had ik moeite met alles op mijn laptop werkend te krijgen

Conclusie

De leerstof rond artificiële intelligentie kan soms aanvoelen als een echte achtbaan. Het ene moment lijkt alles logisch en begrijpelijk, terwijl je je de volgende dag afvraagt of je er nog iets van snapt. Dat gevoel had ik tijdens een groot deel van het semester. Vandaar dat ik trots ben dat ik tegen het einde van dit project de leerstof echt onder de knie had. Ik ben ook ontzettend trots op ons team en tevreden met het eindresultaat: een model met een nauwkeurigheid van 92,58%.