Normal convolution operation:
As pictured above: 4x4 input, convolution kernel for 3x3, output for 2x2. The calculation can be understood as:
The input matrix expands into a 4*4=16 dimension vector, which is recorded as X
The output matrix expands into a 2*2=4 dimension vector, which is called Y
The convolution kernel C is the following matrix:
The convolution operation can be expressed as Y = Cx (which can be understood by the motion diagram), and the reverse propagation of the convolution can be as follows, equivalent to multiplying the c^t
Inverse convolution operations:
As shown above: 2x2 input, convolution kernel for 3x3, output for 4x4. If you follow normal convolution, the generated feature map size should be reduced, but now we want to generate a larger size, we can padding the input. However, unlike the normal convolution padding, the starting point of deconvolution convolution operation is not necessarily on the original feature map, but from the padding region. Looking closely at the motion diagram, you can see that the midpoint of the first operation convolution nucleus is on the padding region.
The inverse convolution is opposite to the convolution in the forward and reverse propagation of the neural network structure.
Write link content here