Thank you very much for your quick reply. I  just checked if there were any difference by merging the encoder and decoder functions but no … it produces the same result.
I also realised that basically using this “skip layer” technique probably imply that you need to have a fair amount of noise on your input data otherwise the network will not learning anything due to the skip layer mechanism.
What I don’t understand though with my test is that I train my network with only one image (again, for testing) that I blurred. The network seems to learn how to go from the blurred image to the unblurred one. However, during my evaluation, if I input any other image my network will always output the sharp version of the image used for training… I guess I have a massive bug in my code because it does not make any sense.
If you have any idea or extra explanation ?
Thank you again for your answer.
Francois