Pooling Layer#

What are pooling layers?#

A pooling layer generates an output from a ‘pool’, such as a \( 2 \times 2 \) block, usually by selecting from that block. For example, commonly used pooling layers include max-pooling, which retains the maximum of every \( 2 \times 2 \) block. But there are also some fewer used layers like average pooling, which takes an weighted average from the block (acts a lot like a convolution layer).

When to use pooling layers?#

Use pooling layers when you want to drastically reduce the input size. For example, \( 2 \times 2 \) blocks reduce the height and the width by 2 times. Pooling layers also have the meaning of ‘focusing on the best part’. When you’re using a pooling layer, you usually don’t care about individual points in the input, but whether there’s something special in one region of the input.