conv_arithmetic
conv_arithmetic copied to clipboard
Figure 4.2 seems to have error
I am attaching the two figures taken from the arXiV. In convolution:
it says the padding is 2x2
and in transposed, it also says the padding is 2x2. Shouldn't it be 1x1?
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.