Using deconvolution in practice Suppose that I have an input image with 224 * 224 * 3 dimensions. I pass it through a convolution layer with 64 filters and same convolution operation. Suppose that I want to reconstruct the original image using the output of the convolution layer which has the size 224 * 224 * 64. I have the following questions:


Should I use deconvolution? If so, how is the arrangement of deconvolution layer (number of filters and the value of weights. Also when should the activation be applied)?
Are the number of filters and weights in forward pass equal to the backward pass?
Is there any technique other than deconvolution?
Is there any available Keras code for my need?


I've seen here and also here but they represent a high level abstraction and don't contain appropriate detailed answer.
Since what you are describing sounds like some sort of auto-encoder, you can use this blog on how to use convolution layers in Keras. 

Most of the logic is straightforward: If you wish to reconstruct your input, you need to your output to have the same spatial dimensions and the same number of channels as your input. As in most neural network architectures, you will gradually decrease the spatial dimensions of your input and increase the number of filters, and if you wish to reconstruct your input you will use the same concept of layers, but in reverse order, using deconvolution layers. 

As to whether you need to use deconvolution or what is the optimal number of channels, layers and symmetry is entirely up to what you are trying to accomplish and the specific details of your problem.