The structure that pixels actually have
An image isn't a flat vector. It's a 2-D grid where nearby pixels are correlated, the same object can appear at different positions, and useful features are local before they're global. A naively-flattened image fed into an MLP loses all of this. CNNs were invented to exploit that structure directly.
Three properties matter: locality (a feature lives in a local window of pixels), translation invariance (a cat is a cat wherever it appears in the frame), and compositionality (low-level features compose into mid-level features compose into objects).
The cost of treating images as flat vectors
An MLP on 224×224 RGB images has 3 * 224 * 224 = 150,528 input features. The first hidden layer has roughly that many parameters per hidden unit. A 256-wide first layer alone uses 38M parameters — more than a small CNN — and learns a unique weight for every (input pixel, hidden unit) pair. That's a lot of parameters memorizing translation that a single 3×3 convolution captures with 9 weights.
Where this leads
The next lessons in this track build the toolkit: convolutions (locality + translation), pooling (downsampling), the classic CNN lineage (AlexNet → VGG → ResNet → ConvNeXt), then ViT (transformers eat vision too), then sequence models, then attention, then transformer blocks. The pattern: each architecture encodes assumptions about the data; pick the architecture whose assumptions match.