Course Description

This course explores three dimensions of deep learning techniques:
  • Modeling: feed-forward, convolutional, and recurrent neural networks
  • Learning algorithm: supervised learning, reinforcement learning, and unsupervised learning
  • Applications: image classification, sequence modeling, and game playing
The course introduces the basics of all these techniques, with a focus on implementation details in Python and TensorFlow.

Teaching Assistants

Upcoming Events

These times and locations can slightly change each week, so please refer to the calendar below for updates.

Lectures

Tuesday and Thursday. 10:30-11:50.
Gates-Hillman Center (GHC), Room 4101.
(GHC 4101)

Forum

CMU students: Piazza.

Syllabus

Event Type Date Description Course Materials
Lecture 1 Tuesday
Jan 16
Course Introduction
Course logistics
Supervised Learning
[slides]
Lecture 2 Thursday
Jan 19
Python and Numpy
Python Reviews
Numpy
[slides]
Python and Numpy tutorials
Getting started with TensorFlow
Lecture 3 Tuesday
Jan 23
Supervised Learning
Data and Label
Loss Function
Training Algorithms
Overfitting and Regularization
[slides]
Reading (optional): G+B+C, Chapter 5
Lecture 4 Thursday
Jan 25
Intro to TensorFlow
More on Numpy
Computational Graph
Execution Order
[slides]
Reading (optional): TF Mechanics 101
Lecture 5 Tuesday
Jan 30
Supervised Learning
Training Algorithms
Overfitting and Regularization
[slides]
Reading (optional): G+B+C, Chapter 5
Lecture 6 Thursday
Feb 1st
TensorFlow Basics
Computational Graph
Execution Models
Variables and Scopes
[slides]
Assignment 1 Friday
Feb 2st
Image Classification
Due: March 2nd
[Write up]
Lecture 7 Tuesday
Feb 6th
Feed-forward Neural Network
Feed-forward networks
Activation Functions
Back-propagation
Regularization Techniques
Augmented Connections
[slides]
Reading (optional): G+B+C, Chapter 7, 8
Lecture 8 Thursday
Feb 8th
TensorFlow Basics
Saving and Loading Variables
Feed-dict
[slides]
Lecture 8 Tuesday
Feb 13th
Convolutional Neural Network
The Convolution Operation
[slides]
Reading (optional): G+B+C, Chapter 9
Lecture 9 Tuesday
Feb 20th
Convolutional Neural Network
To be updated!
[slides]
Reading (optional): G+B+C, Chapter 9
Lecture 10 Tuesday
Feb 22th
Coding a Neural Network in TF
[slides]
Lecture 11 Tuesday
Feb 27th
Coding a Neural Network in TF
[slides]
Lecture 12 Tuesday
Mar 1st
Dynamic Graphs in TF
Coding dropout and batchnorm with tf.cond
[slides]
Lecture 13 Tuesday
Mar 5th
Dynamic Graphs in TF
More on batch_norm's implementation with tf.cond
tf.while_loop
[slides]
Lecture 14 Thursday
Mar 7th
Recurrent Neural Networks
RNNs as a composite of functions
Inputs, Outputs, Hidden States
[slides]
Reading (optional): G+B+C, Chapter 10
Lecture 15 Tuesday
Mar 12th
Recurrent Neural Networks
Case study: sequence to sequence models
[slides]
Reading (optional): G+B+C, Chapter 10
Lecture 16 Tuesday
Mar 19th
Coding Recurrent Neural Networks
Using tf.while_loop
[slides]
Assignment 2 Friday
Feb 2st
(Fake) Machine Translation
Due: April 12th
Extended to: April 15th
[Write up]
Lecture 17 Thursday
Mar 29th
Coding Recurrent Neural Networks
Attention
[slides]
Lecture 18 Thursday
Apr 1st
Reinforcement Learning
State, Action, Reward
Trajectory
Expectation Objective
[slides]
Lecture 19 Thursday
Apr 3rd
Reinforcement Learning
Reward Functions
Policy Network
Policy Gradient
[slides]
Lecture 20 Thursday
Apr 5th
Reinforcement Learning
REINFORCE equation
Baseline function
[slides]
Lecture 21 Tuesday
Apr 10th
Implementing REINFORCE
Leverage Auto-differentiation for REINFORCE
Manipulate rewards for baseline
Baseline and Temporal Structure
[slides]
Assignment 3 Friday
Apr 13th
Pong with Deep Reinforcement Learning
Due: Apr 27th
Extended to: April 30th
[Write up]

Readings and Materials

The primary recommended texts for this course are:

Assignment Submission

  1. For each project, we will provide you with some starter code, which you can clone from the class github.
  2. You should create your own github account, work on your code, and submit by sending us your completed assignment.
  3. We will take the time stamp of your latest push to github as your submission time. Throughout the semester, each student will be granted 5 late days to use on 3 assignments. Once these late days expire, your late submissions will not be accepted.

Notes to Students

Take care of yourself! As a student, you may experience a range of challenges that can interfere with learning, such as strained relationships, increased anxiety, substance use, feeling down, difficulty concentrating and/or lack of motivation.

All of us benefit from support during times of struggle. There are many helpful resources available on campus and an important part of having a healthy life is learning how to ask for help. Asking for support sooner rather than later is almost always helpful. CMU services are available, and treatment does work. You can learn more about confidential mental health services available on campus at: http://www.cmu.edu/counseling/. Support is always available (24/7) from Counseling and Psychological Services: 412-268-2922.

Accommodations for Students with Disabilities:

If you have a disability and have an accommodations letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at access@andrew.cmu.edu.

Prerequisites

Web template by Andrej Karpathy