r/MachineLearning - [Discussion] How reproducible is deep learning?
I think it is possible, but non-trivial. You are right that you can use seeds to initialize the random number generator to get deterministic numbers for various libraries, but you might have to do it for *each* library, as they (numpy, NN-framworks, etc.) use different generators. Furthermore there are different sources of randomness, e.g. if you learn from scratch you have While you can seed the initializations, fixing the batches might come with a performance hit, as you would have to turn-off parallel batch generation (which many frameworks do, to keep the graphics card fed). There is also the approach to freeze/write-out the weights after just one iteration which solves the weight-initialization randomness. However it is an important question and unfortunately many papers don't even try to make their work reproducible (and I don't blame them because it's not that simple). I have trained networks from scratch with same hyper-parameters and final accuracy differed /- 0.5 percent.
Jun-30-2018, 10:31:56 GMT
- Technology: