title: What is the difference between performing upsampling together with strided transpose convolution and transpose convolution with stride 1 only?
body: <p>I noticed in a number of places that people use something like this, usually in fully convolutional networks, autoencoders, and similar:</p>
  
  <pre><code>model.add(UpSampling2D(size=(2,2)))
  model.add(Conv2DTranspose(kernel_size=k, padding='same', strides=(1,1))
  </code></pre>
  
  <p>I am wondering what is the difference between that and simply:</p>
  
  <pre><code>model.add(Conv2DTranspose(kernel_size=k, padding='same', strides=(2,2))
  </code></pre>
  
  <p>Links towards any papers that explain this difference are welcome.</p>