Explain concepts of Pooling in Convolutional Neural Network?
Ans: A pooling layer is one of the building blocks of a Convolutional Neural Network. Its function is to gradually reduce the spatial size of the representation to reduce the number of parameters and speed of the computation in the network. Pooling layer functions on each feature map independently. The most common approach used in pooling concept is max pooling.
The pooling layer functions upon each feature map separately to create a new set of the same number of pooled feature maps.
Pooling involves selecting a pooling function, like a filter to be applied to feature maps. The size of the pooling operation or filter is smaller than the size of the feature map; precisely, it is almost always 2×2 pixels applied with a stride of 2 pixels.
This means that the pooling layer will always decrease the size of each feature map by a factor of 2.
Average Pooling Layer
Average pooling involves calculating the average for each patch of the feature map. This means that each 2×2 square of the feature map is down sampled to the average value in the square.
Max Pooling Layer
Maximum pooling is a pooling operation that calculates the maximum, or largest, value in each patch of each feature map.
The results are down sampled or pooled feature maps that highlight the most present feature in the patch, not the average presence of the feature in the case of average pooling. This has been found to work better in practice than average pooling for computer vision tasks like image classification.
We can make the max pooling operation real by again applying it to the output feature map of the line detector convolutional operation and manually calculate the first row of the pooled feature map.
Global Pooling Layers
There is another type of pooling called global pooling. Instead of down sampling patches of the input feature map, global pooling down samples the entire feature map to a single value. This would be the similar as setting the pool size to the size of the input feature map.
Global pooling can be used in a model to summarize the occurrence of a feature in an image. It is also sometimes used in models as an alternative for using a fully connected layer to change from feature maps to an output prediction for the model.