Using Randomness Effectively in Deep Learning