IFT 6135 - Representation Learning

Winter 2022, A Deep Learning Course offered by the Université de Montréal

IFT6135-H22 DIRO, Université de Montréal

Course Description:

This is a course on representation learning in general and deep learning in particular. Deep learning has recently been responsible for a large number of impressive empirical gains across a wide array of applications including most dramatically in object recognition and detection in images and speech recognition.

In this course we will explore both the fundamentals and recent advances in the area of deep learning. Our focus will be on neural network-type models including convolutional neural networks and recurrent neural networks such as LSTMs. We will also review recent work on attention mechanism and efforts to incorporate memory structures into neural network models. We will also consider some of the modern neural network-base generative models such as Generative Adversarial Networks and Variational Autoencoders.

The course will use the textbook: Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville (available for order at amazon or online for free here).

In particular topics covered by the course include the following:

  • Neural networks structure and training algorithms

  • Convolutional neural networks

  • Recurrent neural networks

  • Transformer Networks

  • Optimization methods for training neural networks

  • Regularization of neural networks

  • Normalization Methods (Batch Normalization, etc.)

  • Attention Mechanism

  • Applications to Computer Vision tasks (Image Segmentation, Bounding Box Detection, etc.)

  • Applications to Natural Language Processing tasks

  • Autoencoders

  • Variational Autoencoders

  • Generative Adversarial Networks (GANs)

  • Autoregressive Generative Models

  • Neural Flow-based Generative Models

  • Meta-Learning

  • Graphical Neural Networks

  • Self-supervised Learning

  • Domain Adaptation

Instruction style: The lecture time will be devoted to traditional lectures. Students are responsible for keeping up-to-date with the course material outside of class time, mainly by reading the textbook and other readings assigned for each lecture. The material to be reviewed for each class will be made available on this course website, including (this year) videos from the lectures.

Evaluation:

The course will include a set of 3 assignments. Each assignment will consist of two components:

    1. A problem set of theoretical questions

    2. A practical component involving programming and running experiments.

See the Assignment Policy for more information.

In addition to these assignments there will be a final exam. Both the practical and theoretical component of the assignments is to be done individually.

The final grade will be composed as follows:

  • Assignments: 3 * 25% = 75% (For each assignment, 25% = 10% (theory) + 15% (practical)

  • Final Exam: 25% - Final exam is 3 hours long and covers all material seen in class and in the assignments. The exam will be closed-book, but you will be allowed a single (double-sided) hand-written 8.5" x 11" cheat sheet.

Instructors:

  • Instructor: Prof. Aaron Courville <Aaron.Courville at gmail.com>

  • Teaching assistants: peut être atteint sur Piazza.

    • Samuel Lavoie (head TA)

    • Akram Erraqabi (Assignment 1)

    • Matthew Scicluna (Assignment 1)

    • Ankit Vani

    • Sai Aravind Sreeramadas

    • Naga Karthik

    • Mohammad Bayazi


Previous Exams:

Warning: material changes from year to year. This year's exam will be entirely short answer / multiple choice / true-false questions.