# What is dilated pooling and how it works mathematically?

While I understand the concept of dilated convolution as there are lot of papers explaining about it, I have heard less about dilated pooling.

• Can someone explain what it is?

• What is the internal implementation of it? Preferably with an example.

From Tensorflow Github:

Dilated max-pooling is simply regular max-pooling but the pixels/voxels you use in each "application" of the max-pooling operation are exactly the same pixels/voxels you would select with dilated convolution.

Dilated convolution/pooling are useful for connectomics and 3D shape datasets (3D deep learning).

So, similarly as in convolution every nth pixel is selected for the operation.

Edit

Selecting points like this:

making pooling for them like this:

Picture sources:

https://www.quora.com/Is-a-pooling-layer-necessary-in-CNN-Can-it-be-replaced-by-convolution

https://www.quora.com/What-is-max-pooling-in-convolutional-neural-networks

Edit2:

2 x 2 max pooling with 3 x 3 dilation:

0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0 (5) 0  0 [6] 0  0 (3) 0  0 [6] 0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0 (3) 0  0 (4) 0  0 (2) 0  0 (4) 0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0 (1  0  0 (2) 0  0 (2) 0  0 (1) 0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0 (3) 0  0 [4] 0  0 [6] 0  0 (3) 0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0


becomes

6  6
4  6

• I read the same on tensorflow github but hardly understood anything in terms of mathematics. When I do the max pooling with a 3x3 kernel size and 3x3 dilation on an nxn image, it results in (n-6)x(n-6) size of output. In convolution, I understand it completely that zeros are added in the kernel at the dilation rate and then that kernel is convolved over the input to get the output but how does it work in pooling is my question. – jupiter.rm Mar 10 '18 at 15:09
• See my edit. By now, looking the picture I don't get why anybody would use max pooling here, but maybe average pooling would help in some task to catch the big picture. – mico Mar 10 '18 at 18:44
• I see a picture representing maxpooling. It will be great if you can add a picture of 2x2 maxpooling with 3x3 dilation rate. – jupiter.rm Mar 10 '18 at 21:33
• I edited the answer with an image. Zeros represent values not selected for pooling. – mico Mar 11 '18 at 6:58
• Edited more: (x) marks selection with dilation and [x] selection with pooling. – mico Mar 11 '18 at 12:23

I found this picture helpful for a quick explanation of dilated pooling.