CSC413/2516 Winter 2022
Neural Networks and Deep Learning


Course syllabus and policies: Course handout.

Teaching staff:

  • Instructor and office hours:
  • Head TA: Harris Chan and John Giorgi

Contact emails:

Please do not send the instructor or the TAs email about the class directly to their personal accounts.

Piazza: Students are encouraged to sign up Piazza to join course discussions. If your question is about the course material and doesn’t give away any hints for the homework, please post to Piazza so that the entire class can benefit from the answer.

Lecture and tutorial hours:

  Time Location
Lecture Tuesday 6-8 pm YouTube
Tutotiral Tuesday 8-9 pm Zoom

Online lectures and tutorials: The access to online lectures and tutorials will be communicated via course mailing list. Course videos and materials belong to your instructor, the University, and/or other sources depending on the specific facts of each situation, and are protected by copyright. Do not download, copy, or share any course or student materials or videos without the explicit permission of the instructor. For questions about recording and use of videos in which you appear please contact your instructor.



Announcements:

  • Mar 26: Programming Assignment 4 handout and the starter code (a4_dcgan.ipynb, a4_GCN.ipynb and a4_dqn.ipynb) are now online. Make sure you create a copy in your own Drive before making edits, or else the changes will not be saved.
  • Mar 1: Homework 4 handout is released, due April 1st.
  • Mar 1: Homework 3 handout updated to Version 1.1.
  • Feb 27: Programming Assignment 3 handout and the starter code (nmt.ipynb, bert.ipynb and clip.ipynb) are now online. Make sure you create a copy in your own Drive before making edits, or else the changes will not be saved.
  • Feb 6: Homework 3 handout is due Mar 11th.
  • Feb 6: Homework 3 handout is released.
  • Feb 11: Programming Assignment 2 handout and the starter code updated to Version 1.4.
  • Feb 6: Homework 2 handout updated to Version 1.1.
  • Feb 5: Programming Assignment 2 handout and the starter code are now online. Make sure you create a copy in your own Drive before making edits, or else the changes will not be saved.
  • Feb 2: Programming Assignment 1 handout updated to Version 1.2.
  • Jan 30: Programming Assignment 1 handout and the starter code updated to Version 1.1.
  • Jan 29: Homework 2 handout is due Feb 11th.
  • Jan 22: Programming Assignment 1 handout and the starter code are now online. Make sure you create a copy in your own Drive before making edits, or else the changes will not be saved.
  • Jan 20: Homework 1 handout updated to Version 1.1.
  • Jan 15: Homework 1 handout is due Jan 28th.

Course Overview:

It is very hard to hand design programs to solve many real world problems, e.g. distinguishing images of cats v.s. dogs. Machine learning algorithms allow computers to learn from example data, and produce a program that does the job. Neural networks are a class of machine learning algorithm originally inspired by the brain, but which have recently have seen a lot of success at practical applications. They’re at the heart of production systems at companies like Google and Facebook for image processing, speech-to-text, and language understanding. This course gives an overview of both the foundational ideas and the recent advances in neural net algorithms.


Assignments:

  Handout Due
Homework 1 pdf Jan. 15(out), due Jan. 28
Programming Assignment 1 starter code(make a copy in your own Drive), pdf Jan. 22(out), due Feb. 04
Homework 2 pdf Jan. 29(out), due Feb. 11
Programming Assignment 2 starter code (make a copy in your own Drive), pdf Feb. 05(out), due Feb. 18
Homework 3 pdf Feb. 19(out), due Mar. 11
Programming Assignment 3 nmt.ipynb (make a copy in your own Drive), bert.ipynb, clip.ipynb, pdf Feb. 26(out), due Mar. 18
Homework 4 pdf Mar. 19(out), due Apr. 01
Programming Assignment 4 a4_dcgan.ipynb, a4_GCN.ipynb, a4_dqn.ipynb (make a copy in your own Drive), pdf Mar. 26(out), due Apr. 08
Course Project handout due Apr. 15 due Apr. 20



Midterm Online Quiz: Feb. 11

The midterm online quiz will cover the lecture materials up to lecture 4 and Homework 2. The quiz will be hosted on Quecus for 24 hours. The exact details will be announced soon.


Calendar:

Suggested readings included help you understand the course material. They are not required, i.e. you are only responsible for the material covered in lecture. Most of the suggested reading listed are more advanced than the corresponding lecture, and are of interest if you want to know where our knowledge comes from or follow current frontiers of research.

  Date     Topic Slides Suggested Readings
Lecture 1 Jan 11 Introduction & Linear Models Slides Roger Grosse’s notes: Linear Regression, Linear Classifiers, Training a Classifier
Tutorial 1 Jan 11 Multivariable Calculus Review ipynb iPython notebook: ipynb, you may view the notebook via Colab.
Lecture 2 Jan 18 Multilayer Perceptrons & Backpropagation Slides Roger Grosse’s notes: Multilayer Perceptrons, Backpropagation
Tutorial 2 Jan 18 Autograd and PyTorch ipynb iPython notebook: ipynb, you may view the notebook via Colab.
Lecture 3 Jan 25 Distributed Representations & Optimization Slides Roger Grosse’s notes: Automatic Differentiation, Distributed Representations, Optimization
Tutorial 3 Jan 25 How to Train Neural Networks Slides, code demo iPython notebook: ipynb, you may view the notebook via Colab.
Lecture 4 Feb 01 Convolutional Neural Networks and Image Classification Slides Roger Grosse’s notes: ConvNets, Image Classification. Related papers: Yann LeCun’s 1998 LeNet, AlexNet.
Tutorial 4 Feb 01 Convolutional Neural Networks ipynb iPython notebook: ipynb, you may view the notebook via Colab
Lecture 5 Feb 08 Interpretability Slides Related papers: Sanity Check for Saliency Maps, SmoothGrad, Towards a rigorous science of interpretable machine learning.
Tutorial 5 Feb 08 How to Write a Good Course Project Report Slides  
Midterm Quiz Feb 11      
Lecture 6 Feb 15 Optimization & Generalization Slides Roger Grosse’s notes: Generalization, Exploding Vanishing Gradients. Related papers: Dropout, ResNet
Tutorial 6 Feb 15 Best Practices of ConvNet Applications Slides  
Reading Week Feb 22      
Lecture 7 Mar 01 Recurrent Neural Networks and Attention Slides Roger Grosse’s notes: RNNs, Exploding Vanishing Gradients. Related papers: LSTM, ResNet, Neural machine translation, Show, attend and tell.t
Tutorial 7 Mar 01 Recurrent Neural Networks Colab  
Lecture 8 Mar 08 Transformers and Autoregressive Models Slides Related papers: Transformers, BERT pre-training, PixelRNNs, WaveNet, PixelCNNs.
Tutorial 8 Mar 08 NLP and Transformers Slides  
Lecture 9 Mar 15 Reversible Models & Generative Adversarial Networks Slides Related papers: Generative adversarial networks, CycleGANs, RealNVP.
Tutorial 9 Mar 15 Information Theory Slides  
Lecture 10 Mar 22 Generative Models & Reinforcement Learning Slides Related papers: RealNVP, Variational Auto-encoder, Policy Gradients for Robotics, Proximal Policy Optimization Algorithm.
Tutorial 10 Mar 22 Generative Adversarial Networks Slides  
Lecture 11 Mar 29 Q-learning & the Game of Go Slides Related papers: Deep Q Network, AlphaGo, AlphaZero.
Tutorial 11 Mar 29 Policy Gradient and Reinforcement Learning Slides, Colab  
Lecture 12 Apr 05 Recent Trends in Deep Learning    

Resource:

Type Name Description
Related Textbooks Deep Learning (Goodfellow at al., 2016) The Deep Learning textbook is a resource intended to help students and practitioners enter the field of machine learning in general and deep learning.
  Information Theory, Inference, and Learning Algorithms (MacKay, 2003) A good introduction textbook that combines information theory and machine learning.
General Framework PyTorch An open source deep learning platform that provides a seamless path from research prototyping to production deployment.
Computation Platform Colab Colaboratory is a free Jupyter notebook environment that requires no setup and runs entirely in the cloud.
  GCE Google Compute Engine delivers virtual machines running in Google’s innovative data centers and worldwide fiber network.
  AWS-EC2 Amazon Elastic Compute Cloud (EC2) forms a central part of Amazon.com’s cloud-computing platform, Amazon Web Services (AWS), by allowing users to rent virtual computers on which to run their own computer applications.