Deep Learning” systems, typified by deep neural networks, are
increasingly becoming an essential element for most AI tasks, ranging
from language understanding, and speech and image recognition, to
machine translation, planning, game playing, and autonomous
driving. As a result, expertise in deep learning has become a
mandatory prerequisite in many advanced academic settings, and a large
advantage in the industrial job market.

In this course we will learn about the basics of deep neural networks,
and their applications to various AI tasks. By the end of the course,
it is expected that students will have good familiarity with the
subject, and be able to apply Deep Learning to a variety of
tasks. They will also be positioned to understand the current
literature on the topic and extend their knowledge through further
study.

The course is well rounded in terms of concepts. It helps us
understand the fundamentals of Deep Learning. The course starts off
gradually with MLPs and it progresses into the more complicated
concepts such as attention and sequence-to-sequence models. We will
utilize PyTorch which is important to implement Deep Learning
models. As a student, you will learn the tools required for building
Deep Learning models. The homeworks will also involve Kaggle. The
Kaggle components allow us to explore multiple architectures and
understand how to fine-tune and improve models. The task for all the
homeworks were similar and it was interesting to learn how the same
task can be solved using multiple Deep Learning approaches. Overall,
at the end of this course you will be confident enough to build and
tune Deep Learning models.

Class is adapted from from CMU 11785.