Deep learning from scratch