Global average pooling
What is it and why is it used?
- Normally if we want to flatten the outputs from the convolutional layer’s we try to use fully connected layers but these layers require a lot of parameters and therefore computational expensive.
- This is were global average pooling comes in… instead of using a Fully Connected layer we can design a network such that the last convolutional layer has the number of channels equal to the number of outputs and just take each of the channel and average the values into the number of output values.
- It is native to the convolution structure by enforcing correspondences between feature maps and categories. Thus the feature maps can be easily interpreted as categories confidence maps.
- There is no parameter to optimize in the global average pooling thus overfitting is avoided at this layer. Furthermore, global average pooling sums out the spatial information, thus it is more robust to spatial translations of the input.
- FC’s don’t understand the concept of feature maps.