Skip to main content
Back to Machine Learning

Machine Learning · Deep Learning

Convolutional Neural Networks

The one idea: A plain feedforward network looks at an image by flattening it into one giant list of pixels and learning a separate weight for every pixel in every position — expensive, and it has to relearn "what an edge looks like" separately for every location in the image. A convolutional network instead slides one small, shared set of weights (a kernel) across every position in the image, so the same learned pattern-detector gets reused everywhere — cutting parameters by orders of magnitude and, as a side effect, making the network recognize a feature no matter where in the image it appears.
⚠️ The trap: A CNN with enough capacity to do well on ImageNet-scale problems will happily memorize a small training set instead of learning general features — and the failure won't look like an error, it'll look like a 99% training-accuracy success story that falls apart on new images. The fix isn't a smarter architecture, it's three unglamorous, standard practices from the training recipe — data augmentation, dropout, and batch normalization — applied together. Skip them and a CNN with millions of parameters will overfit a few thousand images almost every time.

Feedforward networks (the plain stacked-layer kind) can technically be pointed at an image — just flatten the pixel grid into one long vector and feed it into Dense layers. It's a bad idea for two connected reasons, both of which convolutional networks fix directly.

Why CNNs beat plain feedforward nets on images

Parameter sharing. A Dense layer connects every input pixel to every output unit with its own independent weight. A modest 200×200 grayscale image is 40,000 inputs;…

Keep reading: Convolutional Neural Networks

Unlock the full Machine Learning track — every lesson, the AI tutor, and full mock assessments.

  • Full lesson content
  • AI tutor for this section
  • Practice questions