Learning objectives of course

By the end of this course, you will

  • understand the basic functioning of modern deep learning libraries, including concepts like automatic differentiation, gradient-based optimization.
  • be able to implement several standard deep learning architectures (MLPs, ConvNets, RNNs, Transformers), truly from scratch … understand how hardware acceleration (e.g., on GPUs) works under the hood for modern deep learning architectures, and be able to develop your own highly efficient code.

Prerequisites

In order to take this course, you need to be proficient with:

  • Systems programming (e.g., 15-213) • Linear algebra (e.g., 21-240 or 21-241)
  • Other mathematical background: e.g., calculus, probability, basic proofs
  • Python and C++ development
  • Basic prior experience with ML