Conv2DTranspose equivalent


In the paper A guide to convolution arithmetic for deep learning it literally says

“Another way to obtain the result of a transposed convolution is to apply an equivalent– but much less efficient– direct convolution”

In order to verify this for myself, first, I executed a Conv2DTranspose operation as Andrew showed in the lecture video and then I tried to replicate the results with the same type of direct convolution as shown in Figure 4.1 of the paper. However, I wasn’t able to replicate the results using a direct convolution, so now I am wondering whether I made a mistake somewhere or whether it is actually not possible to replicate a Conv2DTranspose operation with a direct convolution.

Would it be possible for anyone to check out my Google Sheet and tell me whether I made a mistake somewhere?

Update: Find the Google Sheet as a csv file in the comment below


Ahh, I figured it out. You need to flip the kernel values over its midpoint and then it actually works. Since it works, I will remove the link to my Google Sheet and attach the corresponding csv file instead
Conv2DTranspose_equivalent_operations - Sheet1.csv (1.2 KB)

If anyone else is also interested in this topic, I can really recommend this blog post: Transposed Convolutions explained with… MS Excel! | by Thom Lane | Apache MXNet | Medium

Thanks for your report.