What is “pooling” in a convolutional neural network?

Pooling is a technique used in convolutional neural networks (CNNs) to reduce the spatial dimensions of feature maps while retaining important information. This makes the network more computationally efficient and helps prevent overfitting. The most common types are max pooling and average pooling. Max pooling selects the maximum value from each region of the feature map, preserving the most significant features while discarding less important details. For example, a 2x2 pooling layer reduces a 4x4 feature map to 2x2, simplifying computations in later layers. Pooling also adds translational invariance, meaning the network becomes less sensitive to small changes in the input's position. This is critical for tasks like image recognition, where objects may appear in different locations within an image. Pooling layers play a crucial role in the overall efficiency and robustness of CNNs.