News for hackers. Stuff that matters.
Re:Deep image prior 'learns' on just one image by flyingspork on Thursday November 30, 2017 @07:34PM (#15820994)
Not an expert so take this with a grain of salt; I could be misinterpreting the paper.

It seems that the current accepted method is to train a network with distorted images as the input and the correct undistorted images as the targets. Then after training you can feed a new distorted image into the trained network and get the estimated "fixed" image.

However this team actually uses the distorted image as both the input and the target to the net. So if they were to let the training go on for too long the network will produce an exact copy of the distorted input image. But for some reason, the structure of the network means that the estimated output learns realistic features first, and then overfits to the noise afterwords. So if you stop the training early, you get an image that incorporates realistic features from the distorted image, but hasn't had time to "learn" the noisy features.

Re:Deep image prior 'learns' on just one image by jboggan on Thursday November 30, 2017 @08:18PM (#15821210)
This is fascinating because I've been running into something similar with sequence to sequence models translating natural language into Python code. I got better results stopping "early" when the perplexity was still quite high, I thought it was a little crazy.
Re:Deep image prior 'learns' on just one image by samgd on Friday December 01, 2017 @02:41AM (#15822551)
Re:Deep image prior 'learns' on just one image by denzil_correa on Friday December 01, 2017 @08:41AM (#15823714)
Fascinating! Could you share more on the details of your experiment?
Re:Deep image prior 'learns' on just one image by syrak on Friday December 01, 2017 @12:21PM (#15825379)
> So if they were to let the training go on for too long the network will produce an exact copy of the distorted input image.

It won't. The objective (min (E(x, x0) + R(x)) they are trying to optimize (over output images x) amounts to a combination of:

- The output image x should "look like" the input image x0, this is the error term E(x, x0);

- The output image x should be "regular", this is the regularization term R(x).

The latter term prevents overfitting: R should be chosen such that noisy images for example are considered irregular (high R(x)).

Re:Deep image prior 'learns' on just one image by flyingspork on Friday December 01, 2017 @05:08PM (#15828104)
Ah you're totally right about it not producing an exact copy, they even mention how they used different error functions for the different classes of distortion, my mistake.

But w.r.t. the regularization term, what I thought they meant by "we replace the regularizer R(x) with the implicit prior captured by the neural network" at the end of pg 2 was that they let the natural behavior of a neural network during optimization serve as the regularization, without need for an explicit regularization term. Not entirely sure though.

Re:Deep image prior 'learns' on just one image by Mahn on Friday December 01, 2017 @08:39AM (#15823701)
> for some reason, the structure of the network means that the estimated output learns realistic features first, and then overfits to the noise afterwords.

Why does this happen? What characteristics does the network structure have that cause this effect?

Re:Deep image prior 'learns' on just one image by CardenB on Friday December 01, 2017 @11:17AM (#15824762)
I think the reason this paper is so interesting is that no one had any idea why this happens
Re:Deep image prior 'learns' on just one image by toblender on Friday December 01, 2017 @02:44PM (#15826697)
Wow thanks for the explanation, I would they would just use what you wrote for the abstract.

At first, I thought the machine learning algorithm was able to just bridge the gap in images from nothing...

CSI time: Enhance ... enhance... enhance!