...

/

Transposed Convolutions

Transposed Convolutions

This lesson will introduce two-dimensional transposed convolution in JAX.

As we may have inferred directly from its formula, the convolution operation leads either to a decrease or no change in the size of the output. This’s helpful in classification problems, but there are some instances where we need to go the other way.

Note: The animations to explain the convolution mechanics are used here with special thanks from Vincent Dumoulin, Francesco Visin - A guide to convolution arithmetic for deep learning [arXiv:1603.07285]

Introduction

In transposed convolution, we go the other way around, where the input image is upsampled and usually increases in size. This is often helpful in image generation using a GAN/VAE or superresolution, and so on.

We’ll continue with the following assumptions:

  • The input image I (shown in blue) has the dimensions m×nm\times n.
  • The convolving kernel/filter, F has the dimensions f×ff\times f (square kernels are the usual standard).
  • The output image O (shown in green) has the dimensions x×yx\times y
...