1

Although there are many resources about how to calculate the receptive field (RF) of CNNs (ex: http://fomoro.com/tools/receptive-fields), I didn't find anything regarding skip connections. In [1] they mention that skip connections make the effective RF smaller, but what happens to the theoretical RF?

At the end of the day, I would like to know how to calculate the receptive field of a network comprising many residual blocks.

Thanks, Daniel

  • [1] Luo, Wenjie, et al. "Understanding the effective receptive field in deep convolutional neural networks." Advances in Neural Information Processing Systems. 2016. – dancivitarese Nov 16 '17 at 15:28

1 Answers1

0

TL;DR compute the receptive field ignoring all skip connections.

First, in a general case, let's say we have two branches of data flow - A and B. You can compute the receptive field for branches A and B independently, and then simply take the maximum when the branches merge. (The reason you can take the max is that branches typically merge via channels concatenation.)

Now, when one branch is a skip connection, and the other is not, the one which is not, gives the larger receptive field. If you have many skip connections, the longest route (with no skip connections) would give the maximum receptive field. Hence the result in TL;DR.


Getting the maximum among branches becomes more complicated if instead of a simple skip connection you have something like an inception block. In those cases, you may want to compute the receptive field directly by definition.

etoropov
  • 1,185
  • 11
  • 16