<p>If you look into the reference paper <a href="https://arxiv.org/pdf/1606.05328.pdf" rel="nofollow noreferrer">Conditional Image Generation with
PixelCNN Decoders</a> which Gate Activation (<strong>G.A</strong>) borrowed from, you can notice that it use the following formula:</p>

<p><a href="https://i.stack.imgur.com/Na2lM.gif" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Na2lM.gif" alt="G.A formula"></a></p>

<p>Although <code>stride=2</code> reduce dimension to half of the input size, <strong>G.A</strong> layer with proper <code>W</code> dimension produce the same as the input dimension which means no mismatch dimension will occur.</p>
Strided convolution & residual connection
<p>I am studying <strong>SwishNet</strong>, a Fast CNN for Speech, Music and Noise Classification and Segmentation.</p>

<p>In that <a href="https://arxiv.org/abs/1812.00149" rel="nofollow noreferrer">paper</a>, they used <strong>Strided Convolution</strong> &amp; <strong>Residual Net</strong>. After through <code>stride=2 conv layer</code> its output length will be half of the input length.</p>

<p>My question is how can merger output with input(residual connection) even their array dimension is mismatched?</p>

<p><strong>G.A</strong> is just gated activation function, so it does not affect on the output dimension!</p>

<p><a href="https://i.stack.imgur.com/17wZI.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/17wZI.jpg" alt="enter image description here"></a></p>