I am implementing a convolutional autoencoder. For the decoder part of the model, some examples (such as this one from Francois Chollet) use standard convolutional layers (Conv2D in keras) in the decoder part of the model (in combination with an upsampling layer) , whereas others (such as this one) use transposed convolutional layers (Conv2DTranspose in Keras), in the example without an upsampling part.

Which is the better choice, what are possible advantages or disadvantages of those two options?

When using transposed convolutional layers, should I adjust the filter size to achieve upsampling, or should I include additional upsampling layers?


1 Answer 1


I found this article helpful in answering your question. https://distill.pub/2016/deconv-checkerboard/

In short, transposed convolution might easily result in checker board artifacts, while upsample+convolution has a bias against this.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.