teacher
Sign in

Convolutional Neural Networks

How small sliding filters let a network find patterns in images with far fewer weights than a fully connected layer.

35 min4 interactive

Why not just an MLP on pixels?

A grayscale 28x28 image has 784 pixel values. Flatten it and feed a fully connected layer of 128 units: 784 x 128 = 100,352 weights, for a tiny image. A 224x224 color photo has 150,528 values, so the first layer alone would need hundreds of millions of weights.

It also ignores structure:

  • Locality: nearby pixels belong together (an edge, a corner); far-apart pixels matter less.
  • Translation: a cat is a cat whether it is in the top-left or the centre. A fully connected layer must relearn the cat at every position.

A CNN (convolutional neural network) builds both facts into the architecture.

1 of 6