Deep Neural Networks from Scratch