Using deconvolution in practice
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.