What Is Pooling Layer

This section provides a quick introduction of pooling layer, which reduces the size of the input feature set by pooling a single value out of each local neighbor area.

What Is Pooling Layer? Pooling Layer is a layer of neural nodes in neural network that reduces the size of the input feature set. This is done by dividing the input feature set into many local neighbor areas, and then pooling one output value from each local neighbor area.

The most commonly used method to pool an output value from a local neighbor area is to take the maximum input value of that area.

For example, if we pool a 2-dimensional input image by dividing it into 3x3 pixel local neighbor areas, the pooling layer output can be calculated as:

oi,j = max(xi-1,j-1, xi-1,j, xi-1,j+1,
           xi,  j-1, xi  ,j, xi  ,j+1,
           xi+1,j-1, xi+1,j, xi+1,j+1)

If an input image is pooled with 3x3 pixel areas, the size of the input image will be reduced by 9 times. This is a huge saving on processing time and resources. If we use a larger pooling area, we could save even more. But we may lose some details in the original image when using large pooling areas. So we have to be balanced about saving process effort and losing input information.

Here is an example of an input image being pooled using 4x4 pixel areas (source: ccideas.com). As you can see, we lost a lot of information on the image background.

Pooling Output using 4x4 Pixel Areas
Pooling Output using 4x4 Pixel Areas

The main purpose of a pooling layer is to reduce the size of input feature set. But it can also be used to reduce "noises" in the output of a convolutional layer. This is why a convolutional layer is commonly followed by a pooling layer.

Table of Contents

 About This Book

 Deep Playground for Classical Neural Networks

 Building Neural Networks with Python

 Simple Example of Neural Networks

 TensorFlow - Machine Learning Platform

 PyTorch - Machine Learning Platform

 Gradio - ML Demo Platform

CNN (Convolutional Neural Network)

 What Is CNN (Convolutional Neural Network)

 What Is Convolutional Layer

What Is Pooling Layer

 RNN (Recurrent Neural Network)

 GNN (Graph Neural Network)

 GAN (Generative Adversarial Network)

 Performance Evaluation Metrics

 References

 Full Version in PDF/EPUB