Concept · Chapter 5: Vision, Speech & Reinforcement Learning
Pooling and Downsampling
Pooling shrinks a feature map by summarising each small block, usually by its maximum, so later layers see a wider area at lower cost.
The problem
Keeping full resolution through every layer is expensive, and exact positions matter less than whether a feature is present nearby.
The solution
Replace each 2×2 block by its maximum (or average), halving height and width; or use a convolution with stride 2.
The consequence
Networks get cheaper, receptive fields grow faster, and outputs tolerate small shifts, at the cost of discarding precise location.
You should understand first
- Vectors
- Tensors and Shapes
- Images as Tensors
- Dot Product
- Convolution
- Pooling and Downsampling
A tiny example
The 2×2 block [[0.1, 0.9], [0.3, 0.2]] becomes 0.9 under max pooling and 0.375 under average pooling. Apply that to every non-overlapping block and a 14×14 map becomes 7×7. Tick "2×2 max pool" in the lab and the edges survive as coarser blocks.
Why it helps, and what it costs
If an edge moves by one pixel within a block, the block's maximum usually does not change, so pooled features are more tolerant of small shifts than raw feature maps (convolution alone is equivariant: the output moves; pooling adds a little invariance: the output stays put). It also cuts computation for every later layer.
The cost is position. A classifier asking "is there a cat?" does not mind. A segmentation model asking "exactly which pixels are the cat?" does, which is why designs such as U-Net carry high-resolution features around the pooling steps.
Many modern networks replace pooling with strided convolutions (the filter jumps two pixels at a time, so downsampling is learned) and finish with global average pooling, which averages each final feature map to a single number before the classifier.
What to remember
- 2×2 max pooling with stride 2 keeps the strongest response in each block and quarters the number of values.
- It has no weights to learn.
- It trades precise position for robustness to small shifts; segmentation must then recover the lost detail.
Key papers
Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position
Kunihiko Fukushima · 1980 · Biological Cybernetics
An early layered network with local feature detectors and pooling-like stages, built to recognise a pattern wherever it appears: the architectural ancestor of the CNN.
Watch
StatQuest with Josh Starmer
Neural Networks Part 8: Image Classification with Convolutional Neural Networks (CNNs)
Walks a tiny CNN through a complete example, filter to pooling to fully connected layer, with every number shown.