Transposed convolutions

We know that applying a convolution repeatedly to an image reduces its size, but what if we would like to go in the opposite direction; that is, go from the shape of the output to the shape of the input while still maintaining local connectivity. To do this, we use transposed convolution, which draws its name from matrix transposition (which you should remember from Chapter 1, Vector Calculus).

Let's suppose we have a 4 × 4 input and a 3 × 3 kernel. Then, we can rewrite the kernel as a 4 × 16 matrix, which we can use for matrix multiplications to carry out our convolutions. This looks as follows:

If you look closely, ...

Get Hands-On Mathematics for Deep Learning now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.