Published using Google Docs
UW CSEP 590C Spring 2020 - Full Stack Deep Learning
Updated automatically every 5 minutes

Full Stack Deep Learning

UW CSEP 590C Spring 2020

Overview

Instructor: Sergey Karayev

TAs: Shivan Singhal and Zhaofeng Wu

Our course will be entirely online.

We will meet 6:30 - 9:20 pm every Thursday according to the schedule below.

If you want to meet for 30 min “office hours”, please Slack me!

All synchronous meetings will occur on Zoom and will be recorded. Make sure you install the client beforehand, and test your audio/video so that you can participate in discussions. A decent webcam and microphone or headset greatly improve everyone’s experience.

All asynchronous communication will be on Slack (you will be added to the workspace). Although Slack is a type of chat, it is best used in a more asynchronous way. Use threads, don’t expect immediate responses, and write your messages to be more like emails and less like texts. Course staff will be most active on Thursdays, but our real goal here is to foster student discussion and community.

There is an official mailing list for this course, but it will not be used. Please communicate with us and each other via Slack.

Lastly, we’re living through some pretty stressful times right now. I understand that and want this class to be a source of support and comfort, not stress. I came across the slide below, and think it’s a valuable message to hear.

Assignments and Labs

If there is a suggested reading, please read it after the lecture and before submitting the assignment.

Weekly assignment will be released 9pm Thursday, and due 6pm the following Thursday. No late submission will be allowed. All assignments, including the final exam, will be on Gradescope (you will be added to the course).

The final grade will be calculated as weighing each of the 8 assignments by 8%, and the final exam by 36%. Grading will be generous, because we’re all adults here.

In addition, we will have 8 labs, all ungraded, in which we will build a whole deep learning project to understand the content of handwritten paragraphs. We will walk through each lab together synchronously, and you are encouraged to spend as much time as you want on the labs independently.

Our computing environment for the labs will be web-based. You don’t need to have access to a GPU or set your machine up, beyond being able to access the Internet.

Schedule

Lectures and Labs

Reading

Assignment

Week 1 - April 2

[recording]

Lecture 0: Introduction

Lecture 1: Fundamentals of Deep Learning

Notebook Part 1: Coding up a neural network

How the backpropagation algorithm works

Optional: Fast.ai Book Chapter: Foundations 

Assignment 1

Week 2 - April 9

[recording]

Notebook Part 2: Keras, PyTorch, Classification

Lecture 2: Machine Learning Projects

Lab 1: Introduction to labs and setup [GCP setup] [readme] [slides]

Machine Learning Yearning

Optional:

- Diving deep into cross-entropy loss and softmax

- Rules of Machine Learning

Assignment 2

Week 3 - April 16

[recording]

Lecture 3: Convnets

Lecture 4: Computer Vision Applications

Lab 2: Synthetic line and CNNs [readme] [slides]

The Building Blocks of Interpretability

Assignment 3

Week 4 - April 23

[recording]

Lecture 5: Recurrent Neural Networks 

Lab 3: LSTM + CTC [readme]

The Unreasonable Effectiveness of Recurrent Neural Networks

Attention Craving RNNS: Building Up To Transformer Networks

Assignment 4

Mid-quarter Survey

Week 5 - April 30

[recording]

Lecture 6: Transfer Learning and Transformers

Lab 3b: Transformers [notebook]

Transformers from Scratch

Optional:

The Future of Natural Language Processing [1hr video]

Project Proposal

Week 6 - May 7

[recording]

Lecture 7: Infrastructure / Tooling

Lab 4: Tooling and Experimentation [readme] [video] [slides]

Machine Learning: The High-Interest Credit Card of Technical Debt

Assignment 5

Week 7 - May 14

[recording]

Lecture 8: Troubleshooting DNNs

Lab 5: Line Detection [slides] [readme]

Why is Machine Learning “Hard”?

Assignment 6

Week 8 - May 21

[recording]

Lecture 9: Data Management

Lab 6: Data Annotation and Management [readme] [slides]

Lecture 10: ML Teams

Rules of Machine Learning

Assignment 7

Week 9 - May 28

[recording]

Lecture 10: Testing & Deployment

Lab 7: Testing [slides] [readme]

Lab 8: Web Deployment [slides] [readme]

The ML Test Score: a Rubric for Production Readiness

Assignment 8 (light assignment)

Finish your project!

Week 10 - June 4

Lecture 11: Research Directions [video] [slides]

Project reports or videos are due!

Exam to be taken any time until 11:59pm on June 11 (60 min timed)

Getting Specific about Algorithmic Bias [30 min video]

Final Project

Final Exam

🎉 all done!

Other resources

This course was originally developed as a 3-day weekend bootcamp, together with Pieter Abbeel and Josh Tobin. If curious, you can preview lectures by watching recordings from a year ago on that site.

Distill.pub has great articles filled with unprecedented visualization of how and why deep learning works.

Fast.ai is a great free two-course sequence aimed at first getting hackers to train state-of-the-art models as quickly as possible, and only afterward delving into how things work under the hood. Highly recommended for anyone.

/r/MachineLearning/ is a good community for staying up to date with developments.

The best deep learning newsletter in my opinion is The Batch by Andrew Ng.