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.