Deep Learning Fundamentals