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