CS 395T - Deep learning seminar - Fall 2019
meets MW 2:00 - 3:30pm in GDC 4.304
instructor Philipp Krähenbühl
email philkr (at) utexas.edu
office hours by appointment (send email)
TA Dian Chen
email dchen (at) cs.utexas.edu
TA hours M 4:00-5:00pm, TA station desk 2
Please use canvas for assignment questions.
- 391L - Intro Machine learning (or equivalent)
- 311 or 311H - Discrete math for computer science (or equivalent)
- proficiency in Python, high level C++ understanding
- All projects are in Python with PyTorch as the recommended deep learning backend. It is also recommended to familiarize yourself with numpy, scipy, scikit-learn and matplotlib as additional libraries.
- NOTE: It is possible to use other languages / deep learning packages, but highly discouraged as the course staff cannot provide support.
- Basic deep learning background
- You should be familiar with at least one deep learning package (Caffe, Tensorflow, Torch, Matconvnet, …). You should have trained at least one deep network with one of these packages.
- The class reads and discuss two recent research papers per class
- Coding assignments/projects implement one of 4-6 themantically similar papers (we read in class).
- The best two groups for each implementation presents their findings in class (10-20 min each)
- For each assignment, you’ll have to work in groups of 2-3 students. No individual submissions. Different team-mates for each project.
- Auditing allowed if there is space (no homework or presentation, but participation required)
This year the class focuses on two major themes: “Image generation”, and “vision and action”. This is meant to be a very interactive class for upper level students (MS or PhD). For every class we read two recent research papers (most no older than two years), which we will discuss in class.
Goals of the class
After this class you should be able to
- Read and understand deep learning papers
- Implement and execute a research project in deep learning
- 5% attandance (may miss 2 classes)
- 5% participation
- 15% per project
- (extra) 2% Best performing paper implementation each
- (extra) 1% Second best performing paper implementation each
There are 6 mini-projects on class. Project 1 implements an auto-encoder and should be a warmup. Projects 2-5 implement specific papers. You’ll have a choice of four papers to implement per project. The best two implementations per project receive extra credit. It is ok to fail at implementing a project, but clearly highlight and document why you failed on a writeup. If you manage to re-implement the project, your writeup can just be a few sentences (e.g. it worked as advertised).
Project 6 is a bit more open-ended and uses a 4 very recent simulation environment.
Estimates of required effort to pass the class are:
- 2-4 hours per week reading
- 3 hours per week discussions in class
- 2-10 hours per week of programming
- Start the projects early
- most deep neural networks take 1 day to train on a GPU
- let us know early if you don’t have GPU access (first or second week), colab or google cloud might be options
- read the assigned papers early, write down questions and discussion topics
Tips for reading a paper
- Do more than just read the paper
- No paper is trivial
- Think of what are the essential tricks that make the paper work
- Question any decision and claim made by the authors
- It is the authors responsibility to convince you that their approach works better than prior (or simpler) alternatives
- If a claim is not backed by experiments or a citation (or backed by a wrong citation), you may assume it’s wrong
- Think about how this fits with other peoples findings
- Is there a larger theme across a series of papers?
- Does it contradict other papers you know?
- Use colored markers
- Mark important things in one color
- Mark things you disagree with (you think are wrong) in a different color
Syllabus subject to change.