**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.

TRFL

**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)**