3
$\begingroup$

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.

$\endgroup$
1
$\begingroup$

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:

picture

making pooling for them like this:

image 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
$\endgroup$
  • $\begingroup$ 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. $\endgroup$ – Rajul Mittal Mar 10 '18 at 15:09
  • $\begingroup$ 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. $\endgroup$ – mico Mar 10 '18 at 18:44
  • $\begingroup$ I see a picture representing maxpooling. It will be great if you can add a picture of 2x2 maxpooling with 3x3 dilation rate. $\endgroup$ – Rajul Mittal Mar 10 '18 at 21:33
  • $\begingroup$ I edited the answer with an image. Zeros represent values not selected for pooling. $\endgroup$ – mico Mar 11 '18 at 6:58
  • $\begingroup$ Edited more: (x) marks selection with dilation and [x] selection with pooling. $\endgroup$ – mico Mar 11 '18 at 12:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.