Pooling Layers
Pooling layers are used to reduce the dimensions of the feature maps of convolution layers. But why do we need to perform such downsampling? One of the main reasons is to reduce the number of calculations that are performed in the networks. Adding multiple layers of convolution with different filters can have a significant impact on the training time. Also, reducing the dimensions of feature maps can eliminate some of the noise in the feature map and help us focus only on the detected pattern. It is quite typical to add a pooling layer after each convolutional layer in order to reduce the size of the feature maps.
A pooling operation acts very similarly to a filter, but rather than performing a convolution operation, it uses an aggregation function such as average or max (max is the most widely used function in the current CNN architecture). For instance, max pooling will look at a specific area of the feature map and find the maximum values of its pixels. Then,...