vdumoulin / conv_arithmetic

A technical report on convolution arithmetic in the context of deep learning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Figure 4.2 seems to have error

EngineerKhan opened this issue · comments

I am attaching the two figures taken from the arXiV. In convolution:
Screenshot 2021-10-06 at 6 17 42 PM
it says the padding is 2x2

and in transposed, it also says the padding is 2x2. Shouldn't it be 1x1?
Screenshot 2021-10-06 at 6 17 59 PM

I understand how this can be confusing: the convention we are using is to refer to the parameters of the direct convolution as i, k, s and p, and those of the transposed convolution (i.e., the one that we would apply to the output of the transposed convolution if we wanted to obtain a matrix of the same shape as the one the direct convolution was applied on) as i', k', s' and p'.

In other words, what Figure 4.2's captions is saying is that if we had a direct convolution from a matrix A to a matrix B, with matrix A being 5x5, using a 4x4 kernel, unit stride and 2x2 padding (i.e., i=5, k=4, s= 1 and p=2) and we applied a transposed convolution to B to obtain a matrix C of the same shape as A, the transposed convolution would have parameters i'=6, k'=4, s'= 1 and p'=1.

I hope this helps clarifying it.

I have been trying to implement it in JAX, but being unable to match the dimensions with the formula is really putting me off. Should I apply the a-trous formula there or something else is wrong there? Some help would be really appreciated as I am stuck due to this.

Unfortunately we don't have the resources to provide help with your code nor to provide guidance on how to implement this, but please let me know if there is something that is still unclear about the Figure or the guide.