Pooling layers
In a deep convolutional network, pooling layers are extremely useful elements. There are two main kinds of these structures: max pooling and average pooling. They both work on patches , 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 dimensionality reduction with limited information loss (for example, if we set the strides to (2, 2), it's possible to halve the dimensions of an image/feature map). Clearly, pooling techniques can be more or less lossy (max pooling in particular), and the specific result depends on the single image.
In general, pooling layers try to summarize the information contained in a small chunk into a single pixel. This idea is supported by a perceptual-oriented approach; in fact, when the pools are not very large, it's rather...