Convolutionele neurale netwerken (CNN’s) werken door gebruik te maken van convolutionele lagen om automatisch hiërarchische representaties van invoergegevens, zoals afbeeldingen, te leren. Elke convolutionele laag bestaat uit filters (ook wel kernels genoemd) die over de invoergegevens glijden en convolutiebewerkingen uitvoeren om functies te extraheren. Deze functies leggen ruimtelijke patronen vast, zoals randen, texturen en vormen. Het netwerk leert steeds complexere patronen te detecteren terwijl informatie door opeenvolgende convolutionele lagen stroomt. Poolinglagen verkleinen vervolgens de ruimtelijke dimensies van kenmerkkaarten, waardoor belangrijke informatie behouden blijft en de rekenefficiëntie wordt verbeterd. Ten slotte verwerken volledig verbonden lagen afgevlakte feature-kaarten om voorspellingen te doen op basis van geleerde features.
CNN’s werken door een reeks convolutionele en poolinglagen toe te passen op invoergegevens. Convolutionele lagen gebruiken kleine filters die over de invoer glijden en elementgewijze vermenigvuldiging en sommatie uitvoeren om featuremaps te genereren. Deze functiekaarten leggen gelokaliseerde patronen in de invoergegevens vast. Door lagen samen te voegen worden de kenmerkkaarten vervolgens gedownsampled, waardoor de ruimtelijke dimensies worden verkleind en dominante kenmerken worden geëxtraheerd. Dankzij dit hiërarchische functie-extractieproces kunnen CNN’s robuuste representaties van complexe gegevens leren, waardoor ze effectief worden voor taken als beeldclassificatie, objectdetectie en beeldsegmentatie.
Deep Convolutional Neural Networks (DCNN’s) breiden de architectuur van CNN’s uit door meerdere convolutionele lagen te stapelen om steeds abstractere kenmerken te leren. Terwijl gegevens door diepere lagen stromen, leert het netwerk hiërarchische representaties van kenmerken kennen, waardoor complexe relaties in de invoergegevens worden vastgelegd. DCNN’s bevatten vaak aanvullende technieken zoals batchnormalisatie, uitvalregularisatie en resterende verbindingen om de trainingsstabiliteit en -prestaties te verbeteren. Deze diepere architecturen stellen DCNN’s in staat om state-of-the-art resultaten te bereiken bij computer vision-taken, zoals beeldherkenning en semantische segmentatie.
Het mechanisme van CNN’s draait om het gebruik van convolutionele lagen, die filters gebruiken om kenmerken in invoergegevens te detecteren. Elk filter schuift over de invoer en voert convolutiebewerkingen uit om kenmerken zoals randen, texturen en patronen te extraheren. Het netwerk leert deze kenmerken te herkennen door tijdens de training de filtergewichten aan te passen via backpropagation, waarbij fouten iteratief worden geminimaliseerd. Door meerdere convolutionele lagen met niet-lineaire activeringsfuncties te stapelen, kunnen CNN’s complexe relaties en hiërarchische representaties binnen gegevens modelleren, waardoor effectief leren en gevolgtrekkingen mogelijk worden.
Volledig convolutionele netwerken (FCN’s) passen CNN-architecturen aan voor taken die ruimtelijke output vereisen, zoals beeldsegmentatie. In tegenstelling tot traditionele CNN’s, die volledig verbonden lagen gebruiken voor classificatie, vervangen FCN’s deze lagen door convolutionele lagen. Dankzij deze aanpassing kunnen FCN’s ruimtelijke informatie in het hele netwerk bewaren, waardoor pixelgewijze voorspellingen kunnen worden gedaan. FCN’s bevatten vaak upsampling-lagen of getransponeerde convoluties om de ruimtelijke resolutie te herstellen die verloren is gegaan tijdens pooling-operaties. Door end-to-end convolutionele verwerking te handhaven, verwerken FCN’s op efficiënte wijze invoer en uitvoer van willekeurige grootte, waardoor ze zeer geschikt zijn voor taken als semantische segmentatie en objectdetectie in afbeeldingen.