https://www.youtube.com/watch?v=ByjaPdWXKJ4 This is the time-stamped video of "deconvolution". I can understand normal convolution but not so much with upsampling convolution. In the video he explained that you plop down the filter and use each individual scalar as the weight to apply to each value in the filter. I am having a hard time understanding how he got an output shape of 4x4? Is there a special formula for calculating the output for "upconvolution"? I am also confused on the padding and how it affects upconvolution?
$\begingroup$ There is a question here om datascience called 'what are deconv layers' with 100 upvotes that explains the issue in great detail. You should have a look at it. $\endgroup$– AlexApr 21, 2018 at 12:17
$\begingroup$ For convenience, link to "What are deconvolutional layers?" $\endgroup$– chutsuJan 14, 2020 at 10:30
https://towardsdatascience.com/types-of-convolutions-in-deep-learning-717013397f4d This has helped me understand how deconvolutional layer or transposed convolution works! Note to self don't google deconvolution or upconvolution google transposed convolution instead.
Update 2: http://deeplearning.net/software/theano/tutorial/conv_arithmetic.html
It turns out "deconvolution" is just convolution but with different arithmetics. You can take the transpose or add enough padding so that
1) You can upsample instead of downsampling.
2) Keep the previously linked relation, what I mean is you need to make sure each upsampled filter still contains a symbolic link with the smaller input.