Een Convolutional Neural Network (CNN), of convolutioneel neuraal netwerk, is een specifiek type neuraal netwerk dat ontworpen is voor het verwerken van gegevens met een grid-achtige topologie, zoals afbeeldingen, video’s en spraak. CNN’s worden voornamelijk gebruikt in taken met betrekking tot computer vision.
De samenhang met AI is dat CNN’s een fundamentele en krachtige techniek zijn binnen het bredere veld van kunstmatige intelligentie (AI), en meer specifiek binnen machine learning en deep learning.
Ze behoren tot de innovatiefste benaderingen voor het oplossen van complexe problemen in AI, zoals objectherkenning en beeldclassificatie.
Hoe een CNN werkt
Een CNN bootst de werking van het visuele systeem van de mens na en is opgebouwd uit verschillende lagen die samenwerken om kenmerken uit de invoerdata te extraheren en te leren. De belangrijkste lagen zijn:
- Convolutionele laag: Dit is de kern van het netwerk. Hier wordt een filter (ook wel een kernel genoemd) over de invoerdata geschoven, bijvoorbeeld een afbeelding. Dit filter detecteert specifieke kenmerken, zoals randen, hoeken of texturen. De output van deze laag is een ‘feature map’ die aangeeft waar deze kenmerken zich bevinden in de afbeelding.
- Pooling laag: Na de convolutie wordt de pooling-laag gebruikt om de dimensies van de feature maps te verkleinen en het model robuuster te maken voor kleine verschuivingen in de invoer. Dit gebeurt door bijvoorbeeld de maximale waarde uit een bepaald gebied te selecteren (max-pooling).
- Volledig verbonden laag: Aan het einde van het netwerk worden de geabstraheerde kenmerken gecombineerd in een traditioneel neuraal netwerk. Deze laag gebruikt de geleerde kenmerken om uiteindelijk een voorspelling of classificatie te maken.
- Dit proces van gelaagde verwerking stelt een CNN in staat om automatisch relevante kenmerken uit gegevens te leren, wat het een extreem effectieve methode maakt voor taken die afhankelijk zijn van visuele patronen. Dit onderscheidt CNN’s van traditionele algoritmes waarbij de kenmerken handmatig moeten worden ontworpen.