<p>TL;DR compute the receptive field ignoring all skip connections.</p>

<p>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.)</p>

<p>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.</p>

<hr>

<p>Getting the maximum among branches becomes more complicated if instead of a simple skip connection you have something like an <a href="https://arxiv.org/abs/1409.4842" rel="nofollow noreferrer">inception block</a>. 
In those cases, you may want to <a href="http://kukuruza.github.io/receptive_field" rel="nofollow noreferrer">compute the receptive field directly by definition</a>.</p>
How to calculate receptive field of blocks with skip connection?
<p>Although there are many resources about how to calculate the receptive field (RF) of CNNs (ex: <a href="http://fomoro.com/tools/receptive-fields" rel="nofollow noreferrer">http://fomoro.com/tools/receptive-fields</a>), 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?</p>

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

<p>Thanks,
Daniel</p>