In a deep convolutional network, pooling layers are extremely useful elements. There are mainly two kinds of these structures: max pooling and average pooling. They both work on patches p ∈ ℜn × m, shifting horizontally and vertically according to the predefined stride value and transforming the patches into single pixels according to the following rules:
There are two main reasons that justify the use of these layers. The first one is a dimensionality reduction with limited information loss (for example, setting the strides to (2, 2), it's possible to halve the dimensions of an image/feature map). Clearly, all pooling techniques ...