title: Why do dilated convolutions preserve resolution?
body: <p><a href="https://i.stack.imgur.com/qA0Kx.gif" rel="noreferrer"><img src="https://i.stack.imgur.com/qA0Kx.gif" alt="enter image description here"></a></p>
  
  <p>The animation is from <a href="https://github.com/vdumoulin/conv_arithmetic" rel="noreferrer">here</a>. I am wondering why the dilated convolution is claimed to preserve resolution. Apparently the input in blue is 7x7 and the output in green is 3x3.</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>One way to work around the resolution loss is to pad the input with roughly half the size of the current receptive field, but</p>
  
  <ol>
  <li>this essentially undermines the statement that dilated convolutions do not lose resolution, because it is the padding that preserves the resolution. To get the same output size with the input, a conventional convolution needs even less padding.</li>
  <li>since the padding grows exponentially, a relative not-that-small dilation factor will leads to a heavily padded input image. Imagine a 1024x1024 input with 10x dilation, it will become about 2048x2048 (please let me know if I am wrong here). This is 4x the original size, which means most of the convolutions are done on the padded area instead of the real input. Personally this seems quite counterintuitive to me.</li>
  </ol>