60.001 Applied Deep Learning
Course Description
Deep neural networks have revolutionized the landscape of modern day AI. In this course, we will take an applied approach and dive into deep neural networks: concepts, how they work, and how the students can implement them for concrete, practical problems. Students are expected to gain experience in tackling a complete deep learning project in PyTorch, from data gathering and augmentation to implementing and running a deep neural network. They will learn fundamental concepts in machine learning and neural networks such as transfer learning, data loaders, and others.
Learning Objectives
- Be aware of the main goals of deep learning, its main application domains and current challenges
- Design and choose appropriate deep models for solving different types of predictive modelling problems
- Analyse model performance and interpret it to optimize performance
- Implement cutting edge deep learning models on a range of practical problems in PyTorch
- Explain the workings of neural networks and deep learning technologies
- Appreciate the technical skills necessary to be a capable deep learning scientist
Measurable Outcomes
- Identify important concepts and current challenges in deep learning
- Design model architectures for different applications with different modalities such as image, text and time series data
- Implement deep models in PyTorch
- Evaluate the performance of deep learning models and optimize their performance
- Explain the workings and pros/cons of different cutting-edge deep learning models
- Implement a fully working deep learning project from scratch including data processing and model optimization
Prerequisite
Mutually Exclusive Subject
Textbook(s) and/or Other Required Material
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning. MIT press.
- Zhang, A., Lipton, Z. C., Li, M., & Smola, A. J. (2021). Dive into deep learning. arXiv preprint arXiv:2106.11342.