0
$\begingroup$

I'm trying to build a decoder version of ResNet, i.e. one that goes from the prelogits layer and attempts to recreate the image. I can get it working by using transposed convolutions, but the quality of reconstructed images isn't that great (checkerboard artifacts). I've read that the state of the art is to use UpSampling (i.e. resize) followed by a convolutional layer instead. Whenever I try this my network no longer converges and the images produces are all white/black.

What am I missing?

$\endgroup$

1 Answer 1

1
$\begingroup$

Presumably, you have the seen the Distil article discussing checkerboard artifacts due to transposed convolutional layers, where they recommend upsampling (resizing) and then doing regular convolution. This is known to be a reasonable approach, so it is likely something specific to your case. Without architectural details, I can only guess that it might be (a) your hyper-parameters have been tuned to work with transposed conv layers, so it breaks with this different approach, or (b) you have introduced some kind of vanishing gradients or convergence issue (e.g., not using residual connections, not using batch norm, too large of a learning rate, etc...). The loss (e.g., $L_2$ reconstruction) and it's gradients may be of a different magnitude than what the other (hyper-)parameters were expecting, for example. Feel free to post back with more info.

$\endgroup$

Your Answer

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

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