Neural Networks & Deep Learning
Fall 2021

Syllabus
Summary

It is very hard to hand design programs to solve many real world problems, e.g. distinguishing images of cats versus 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 are 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.

Roughly the first 2/3 of the course focuses on supervised learning --- training the network to produce a specified behavior when one has lots of labeled examples of that behavior. The last 1/3 focuses on unsupervised learning and reinforcement learning.


Logistics

Time MW 2:40-3:55
Location CSB 451
Instructor Richard Zemel <zemel[at]cs.columbia.edu>
Teaching Assistants Arpit Prashant Bahety <ab5232[at]columbia.edu> Xudong Lin <xudong.lin[at]columbia.edu> Sachit Menon <sachit.menon[at]columbia.edu> Anusha Misra <am5684[at]columbia.edu>
Office Hours
Mondays, 4-5pm, and by appointment.

Lectures & Tutorials

Week 1
Lecture 1   Introduction & Linear Models
Sep 13, 15
Tutorial 1   Multivariable Calculus Review
Sep 15
Week 2
Lecture 2   Multilayer Perceptrons & Backpropagation
Sep 20, 22
Tutorial 2   Autograd and PyTorch
Sep 15
Week 3
Lecture 3   Automatic Differentiation & Distributed Representations
Sep 27, 29
Week 4
Lecture 4   Optimization
Oct 4
Lecture 5(a)   Convolution Neural Networks, Part I
Oct 6
Tutorial 3   Neural Network Training
Oct 6
Week 5
Lecture 5(b)   Convolution Networks and Image Classification
Oct 11
Week 6
Lecture 6   Generalization
Oct 18
Lecture 7   Interpretability
Oct 20
Tutorial 4   Best Practices in CNNs
Oct 20
Week 7
Lecture 8   Recurrent Neural Networks
Oct 27
Tutorial 5   Recurrent Neural Networks
Nov 3
Week 8
Lecture 9   Attention
Nov 8
Lecture 10   Transformers
Nov 10
Tutorial 6   Natural Language Processing
Nov 10
Week 9
Lecture 11   Generative Modelling: Autoregressive Models and GANs
Nov 15

Assignments

Assignment 1 [Note: version 2 (fixed typos and links) available here now (Sep. 24)]
Due date: Oct 8, 2021, 2pm.
Assignment 2
Due date: Nov 8, 2021, 2pm.
Assignment 3 [Released here Nov. 15]
Due date: Nov 29, 2021, 2pm.

Exams

Wednesday, October 13, 2021. 2:40pm - 3:55pm.
Key Slides
Sample Questions

Projects

Proposal due: Nov 15, 2021, 2pm. Project due: Dec 13, 2021, 2pm.

Prerequisites

In order to be successful in this course, you should have a strong knowledge of the following subjects (as from a previous undergraduate course):

  • Machine Learning
  • Multivariable Calculus
  • Linear Algebra
  • Probability & Statistics

Grading

Assignments 36%
Midterm (Oct 13 in class) 16%
Project (Due Mon Dec 13) 20%
Final (Wed Dec 22, 1-2:30) 28%
Attendance and participation Bonus
Please review the Columbia honor code. While working on assignments in small teams is okay, your homework solutions must be your own.