Naar de inhoud

Wat zijn convolutional neural networks?

De architectuur achter computer vision: hoe CNN's beelden analyseren met convolutielagen, pooling en feature extraction.

5 minuten lezen

Wat zijn CNN’s?

Een convolutional neural network (CNN) is een type deeplearningmodel dat speciaal is ontworpen voor het verwerken van data met een rasterstructuur, zoals afbeeldingen.

CNN’s zijn een van de fundamenten van computer vision: ze liggen ten grondslag aan gezichtsherkenning, zelfrijdende auto’s, medische beeldanalyse en nog veel meer.

Waarom CNN’s voor beelden?

Waarom niet gewoon een standaard neuraal netwerk? Stel je een afbeelding van 224×224 pixels voor met 3 kleurkanalen (RGB):

224 × 224 × 3 = 150.528 inputwaarden per afbeelding.

Nadeel: Fully connected

Elk neuron in de eerste laag heeft al 150.528 gewichten nodig (één per inputwaarde), dus het netwerk krijgt al snel veel te veel gewichten → overfit snel, traag, onpraktisch.

Voordeel: CNN

Deelt gewichten via filters → efficiënt, leert lokale patronen.

CNN’s lossen dit op met drie slimme eigenschappen:

  • Lokale verbindingen: elk neuron kijkt alleen naar een klein gebied (het receptive field).
  • Gedeelde gewichten: dezelfde filter wordt hergebruikt over het hele beeld.
  • Overal hetzelfde patroon: dezelfde filter vindt een patroon waar het ook in het beeld staat, dus een kat wordt herkend of hij nu linksboven of rechtsonder staat.

De convolutielaag

De kern van een CNN is de convolutie. Een kleine matrix (de “kernel” of “filter”) schuift over het beeld en berekent een gewogen som op elke positie.

1010001110101000111101010

Input (5×5)

101010101

Kernel (3×3)

513253332

Feature map (3×3)

Convolutie: de filter schuift over het beeld. De gemarkeerde positie van de kernel geeft output 5 (1×1 + 1×0 + 1×1 + 0×0 + 1×1 + 0×0 + 1×1 + 1×0 + 1×1).

Verschillende filters detecteren verschillende features: horizontale lijnen, verticale lijnen, randen, texturen. Door meerdere filters te stapelen, leert het netwerk steeds complexere patronen.

Pooling: dimensiereductie

Na de convolutie komt vaak een poolinglaag. Deze verkleint de ruimtelijke dimensies, waardoor het netwerk efficiënter wordt en minder gevoelig voor kleine verschuivingen.

Max pooling

1423
4

Pakt de maximale waarde: behoudt de sterkste activatie.

Average pooling

1423
2,5

Berekent het gemiddelde: een vloeiendere representatie.

Max pooling en average pooling over hetzelfde 2×2-gebied.

Complete CNN-architectuur

Een typische CNN combineert meerdere convolutie- en poolinglagen, gevolgd door fully connected lagen voor de uiteindelijke classificatie:

  1. Input

    224×224×3

  2. Conv + ReLU

    112×112×64

  3. Max pool

    56×56×64

  4. Conv + ReLU

    56×56×128

  5. Max pool

    28×28×128

  6. Flatten

    100.352

  7. FC

    4096

  8. Output

    1000klassen

Een typische CNN van input tot output, met de afmetingen na elke stap.

Elke volgende convolutielaag leert features op een hoger niveau:

Lagen 1 en 2

Randen, lijnen, kleuren

Lagen 3 en 4

Texturen, patronen

Laag 5 en verder

Objecten, gezichten

Bekende CNN-modellen

Door de jaren heen zijn er steeds krachtigere CNN-architecturen ontwikkeld:

Model Jaar Innovatie Lagen
LeNet-5 1998 Eerste succesvolle CNN (handgeschreven cijfers) 5
AlexNet 2012 ReLU, dropout, training op GPU’s. Luidde de doorbraak van deep learning in. 8
VGGNet 2014 Dieper netwerk met alleen 3×3 filters 16-19
GoogLeNet/Inception 2014 Inception-modules: parallelle filters van verschillende groottes 22
ResNet 2015 Skip connections: maken netwerken van 152 lagen en meer trainbaar 18-152
EfficientNet 2019 Compound scaling: diepte, breedte en resolutie samen opschalen Variabel

Praktische toepassingen

CNN’s worden breed toegepast in de industrie:

Gezichtsherkenning

Ontgrendelen van telefoons, toegangscontrole, het taggen van foto’s.

Autonome voertuigen

Objectdetectie, rijstrookherkenning, verkeersbordherkenning.

Medische beeldanalyse

Kankerdetectie in röntgenfoto’s, MRI-scans, pathologiecoupes.

Kwaliteitscontrole

Defectdetectie in fabrieken, visuele inspectie van producten.

Een vraag over dit onderwerp?

Stuur een bericht via het formulier. Alles loopt via e-mail; u krijgt binnen twee werkdagen antwoord.