project 13
ResNet50- & VGG19-modelvergelijking
Een analytisch onderzoek dat twee klassieke convolutionele architecturen via transfer learning op dezelfde dataset traint en ze vervolgens vergelijkt op nauwkeurigheid, inferentietijd en modelgrootte.
- Categorie
- AI
- Rol
- Data science en modelevaluatie
- Jaar
- 2026
gebruikte technologieën
- Python
- TensorFlow
- Keras
- CUDA
- Matplotlib
- Seaborn
probleem
Probleem
Voor een specifiek beeldclassificatieprobleem was onbekend welke convolutionele architectuur de betere balans bood tussen nauwkeurigheid, inferentietijd, modelgrootte en overfitting. De beslissing moest op meting berusten, niet op intuïtie.
oplossing
Oplossing
Volgens de principes van transfer learning heb ik voorgetrainde ResNet50- en VGG19-modellen op dezelfde dataset geoptimaliseerd en fijngesteld met laagsgewijs bevriezen van gewichten en eigen classificatielagen. Met Matplotlib en Seaborn heb ik vergelijkingsscripts gebouwd die loss/accuracy-curves, de confusiematrix en inferentielatentie visualiseren.
resultaat
Resultaat
Het resultaat is een grondige analyse die de sterke en zwakke punten van beide architecturen statistisch blootlegt en een basis biedt voor hardware- en modelkeuze bij toekomstige edge-deployments.
belangrijkste functies
- 01Optimalisatie van voorgetrainde ResNet50- en VGG19-modellen op dezelfde dataset via transfer learning.
- 02Fine-tuningstrategieën met laagsgewijs bevriezen van gewichten en eigen classificatielagen.
- 03Vergelijkingsscripts die loss/accuracy-curves, confusiematrices en inferentielatentie visualiseren.
- 04Architectuurvergelijking op precision, recall en F1-score.
waarom deze keuzes
Waarom zijn ResNets residuele verbindingen cruciaal?
In vlakke diepe architecturen zoals VGG verdwijnen gradiënten naarmate er lagen bijkomen, waardoor het model ondanks meer diepte slechter leert. De skip connections van ResNet lossen dit op; de metingen toonden experimenteel hogere nauwkeurigheid en snelheid met minder parameters.
Waarom transfer learning?
Beide architecturen vanaf nul trainen zou veel langer hebben geduurd, en de datasetgrootte leende zich er niet voor. Starten vanaf voorgetrainde gewichten en de laatste lagen aanpassen hield de vergelijking eerlijk en reproduceerbaar.