How does Neural Network denoise an image?
in general CNN can generate images, so we can feed them noised images and images without noise at output and it can learn how to figure out pixel color based on his neighbours, actually you can't reconstruct perfectly because noise cause removal of some information from image and all you can do it to find "as best as possible" values to restore original image

for more info this clip is very informative
https://www.youtube.com/watch?v=z4vl3Z6NFW8