Deep Learning

Columbia University - Spring 2019

Class is held in 517 Hamilton Building, Tue and Thu 7:10-8:25pm

Office hours (Monday-Friday)

Tuesday 5-6pm, CEPSR 620: Lecturer, Iddo Drori

Friday 4-5pm, Mudd TA room: Course Assistant, Darshan Thaker

Thursday 4-5pm, Mudd TA room: Course Assistant, Linyong Nan

Wednesday 10:30-11:30am, Mudd TA room: Course Assistant, Yueqi Wang

Monday 2-3pm, Mudd TA room: Course Assistant, Fan Wu


First Day of Classes (Tuesday, January 22)

Lecture 1 (Tuesday, January 22): Introduction
Machine learning timeline: from Least Squares to AlphaZero, milestones of neural networks and deep learning, fully connected neural networks, forward propagation as a composition of functions, each with linear and non-linear component, nonlinear activation functions, network loss functions.

Lecture 2 (Thursday, January 24): Backpropagation, CNN's
Backpropagation algorithm using chain rule in reverse mode differentiation, computing gradient of total loss with respect to all network parameters in a single backward pass using local computations, derivative of activation functions, chain rule for differentiation, equations for backpropagation, input normalization, weight initialization, computational graph, differential programming.

Lecture 3 (Tuesday, January 29): DeepMind AlphaStar
Evolution strategies for efficient distributed optimization.
PyTorch tutorial, homework 1.

Lecture 4 (Thursday, January 31): CNN's, Optimization
Optimization methods using first order and second order derivatives, comparison, analytic and numerical computation of gradients, stochastic gradient descent, adaptive gradient descent methods, finding descent direction based on gradients and selecting the step size.
Representations sharing weights, convolution as filters or matrix multiplication, 2D and 3D convolutions as filters or block Toeplitz matrices, convolution and max pooling layers, CNN's,

Lecture 5 (Tuesday, February 5): CNN's, Regularization
ResNet and ODENet, DenseNet, SENet
Regularization of neural networks, bias and variance, generalization error, learning and fitting curves, vector and matrix norms, and cross validation, regularized loss functions, dropout regularization, data augmentation.

Lecture 6 (Thursday, February 7): Sequence Models
Recurrent neural networks (RNNs), bidirectional RNNs, deep RNNs, backpropagation through time, limitations, long-short term memory (LSTM), gated-recurrent unit (GRU).

Lecture 7 (Tuesday, February 12): Sequence Models
Encoder-decoder attention, self-attention, embeddings
TensorFlow and Keras tutorial

Lecture 8 (Thursday, February 14): Deep Learning for Protein Structure Prediction
Homework 2

Lecture 9 (Tuesday, February 19): Generative Models
Autoencoder, variational Bayes, fast approximation alternative to Markov Chain Monte Carlo methods, optimization approximating posterior, variational auto-encoder (VAE).

Lecture 10 (Thursday, February 21): Generative Models
Generative adversarial networks (GANs) from a game theoretic and co-evolution perspectives, DCGANs, limitations, Wasserstein GANs, conditional GANs, Cycle GANs, 3D-GANs.

Lecture 11 (Tuesday, February 26): Adversarial Examples, Uncertainty, and Bias in Deep Learning

Competition (Tuesday, February 26 - Tuesday March 12): Protein Tertiary Structure Prediction
Winners and course staff published in NeurIPS workshop 2019.

Lecture 12 (Thursday, February 28): Deep Mutual Information

Lecture 13 (Tuesday, March 5): Real-Time Debate Generation Demo, Reinforcement Learning Introduction

Lecture 14 (Thursday, March 7): Reinforcement Learning
Markov Decision Processes, value-based methods, policy-based methods, general policy iteration.

Lecture 15 (Tuesday, March 12): Reinforcement Learning
Monte-Carlo sampling, temporal Difference sampling, Q-Learning.

Lecture 16 (Thursday, March 14): Deep Reinforcement Learning
Deep Q-Networks

Spring recess (Monday, March 18 to Friday, March 22)

Lecture 17 (Tuesday, March 26): Deep Reinforcement Learning
Model-based reinforcement learning

Lecture 18 (Thursday, March 28): Deep Reinforcement Learning
Policy gradient methods, REINFORCE, Actor-Critic methods
TensorFlow agents

Lecture 19 (Tuesday, April 2): Deep Reinforcement Learning
Expert iteration, AlphaZero.

Lecture 20 (Thursday, April 4): Advanced Sequence Models
Encoder-Decoder attention, self attention, transformers, BERT.

Lecture 21 (Tuesday, April 9): Automatic Deep Learning
Automatic machine learning (AutoML), neural network architecture search, meta learning.

Lecture 22 (Thursday, April 11): Bayesian Deep Learning
TensorFlow probability, Pyro.

Lecture 23 (Tuesday, April 16): Graph Neural Networks, Few-Shot Learning
Node and subgraph embeddings, neighborhood aggregation, graph convolutional networks (GCNs), graph neural networks (GNNs), gated graph neural networks (GGNNs).

Lecture 24 (Thursday, April 18): Deep Learning for Self Driving Cars
Introduction, ChauffeurNet.

Lecture 25 (Tuesday, April 23): Quantum Neural Networks
Spin, polarization, qubits, entanglement, Bell's inequality, quantum gates and circuits, no cloning theorem, Bell circuit, superdense coding and quantum teleportation, error correction.

Lecture 26 (Thursday, April 25): Quantum Neural Networks
Deutsch-Jozsa algorithm, Simon's algorithm, Shor's algorithm and quantum key distribution (QKD), Grover's algorith, quantum neural networks (QNNs).

Lecture 27 (Tuesday, April 30): Project Presentations

Lecture 28 (Thursday, May 2): Project Presentations

Last Day of Classes (Monday, May 6)