Fundamentals of deep learning