STAT 4984

Information

Topic: Deep Learning

Lecture: In-person and online asynchronous (MWF:11:15-12:05PM)

Instructor: Xin (Shayne) Xing, Email: xinxing AT vt.edu

TA: Mengkun Chen , Email: mengkun21@vt.edu

TA office hours: Tuesday 4:00 PM Zoom Link


Office hours: By Appointment


Syllabus

Course description & Prerequisites

This class provides an in-depth introduction to deep learning, including algorithms, theoretical motivations, and how to implement it in practice. As part of the course, we will cover multilayer perceptrons, backpropagation, automatic differentiation, and stochastic gradient descent. We introduce convolutional networks for image processing, starting from the simple LeNet to more recent architectures. In addition, we discuss recent recurrent networks and the attention mechanism. In this course, we emphasize efficient implementation, optimization, and scalability. We use python as our programing language to implement the deep learning framework. The goal of the course is to provide both a good understanding and good ability to build a modern deep learning model and apply it to different types of real applications such as image processing and bioinformatics.


Prerequisites: An undergraduate-level understanding of probability, statistics, multivarate calculus, advanced python programing language, and linear algebra are assumed.


All class materials are distributed online; for example, you may view most class notes and homework assignments on the Schedule. Canvas is used to report scores from quizzes, homework and the final project.


Recommended Text Book

Dive into Deep Learning
Aston Zhang, Zachary C. Liption, Mu Li, and Alexander J. Smola

Deep Learning
Ian Goodfellow and Yoshua Bengio and Aaron Courville


In-class Quiz

The in-class quiz (each 10 points) must be submitted on canvas within an hour after the class. If the quiz is submitted in time, it will be guaranteed to have at least 5 points. If the quiz is not submitted in time, it will receive a zero score.


Homework Assignments

Weekly homework assignments will be posted on Canvas unless otherwise announced in class. Late homework that overdue in 24 hours are penalized to 90% of its total score. Homework that overdue for more than 24 hours would not be accepted, and missed homework receive zero scores. Homework assignments must be submitted at Canvas. Grades will be returned to you on Canvas.

It is expected that students will read the slides and refereed materials listed in the Schedule . Your work must be legible, include name, and be submitted in a single python notebook (ipynb) file. You are expected to put in 6-8 hours of work outside of class. A few of you will do well with less time than this, and a few of you will need more. You must write up your final answers and write your own code: copying homework solutions is not allowed.


Final Project

There will be one final project. The final report will include a well-written pdf document including (introduction, data visualization, Model & methods, Results). You must write up your final report and code by your own input. Please see the following for details.


The final project requires:

  1. Propsal, you’ll pick a project idea to work on early and receive feedback from the TAs.
  2. a github repository with project code(in Pytorch) and documentation.
  3. a pdf file for a final report.

Project Topics: (More examples will be added later)

  1. Computer Vision
    Image Classification with CIFAR Dataset
    Carvana Image Masking
  2. Natural Language Processing
    Amazon Review Sentiment
    Music Genre Classification
    Image Caption Generator
  3. Generative Modeling
    Generate Human Faces
  4. Reinforcement Learning
    Open AI GYM
  5. Others

Project proposal:

  1. What is the problem that you will be working on? Why is it interesting?
  2. What are the challenges of this project?
  3. What dataset are you using?
  4. What method or algorithm are you proposing? If there are existing implementations, will you use them and how?
  5. How do you plan to improve or modify such implementations?
  6. How will you evaluate your results?
  7. Any reference relevant to the project?

Final Report (at least 5 pages without figures):

  1. Explain the motivation for the project and state the problem clearly.
  2. Attach the link of github repo for this project.
  3. A description of the data include plots.
  4. Any hyperparameter and architecture choices that were explored.
  5. Presentation of results.
  6. Analysis of results.
  7. Any insights and discussions relevant to the project.
  8. References.
  9. Format: You are strongly encouraged to use Latex (here’s a link to the overleaf files). If you are not using this format, make sure to include all sections given in the format. If you prefer to use Microsoft Word, you may refer to the CVPR template.

Grades

Your grade will consist of in-class quiz (5%), Homework (55%), a Final Project (40%).


Quiz 5%
Homework 55%
Final Project 40%

The total score is the weighted average of scores in all categories. The total scores in 90-100 are guaranteed at least an A-. The total scores in 80-90 are guaranteed at least an B-. The total scores in 70-80 are guaranteed at least an C-. The total scores in 60 - 69 are guaranteed at least a D-. The lower bound of each interval may be expanded, which depends on the overall performance.


Academic Integrity

The Undergraduate Honor Code pledge that each member of the university community agrees to abide by states:

“As a Hokie, I will conduct myself with honor and integrity at all times. I will not lie, cheat, or steal, nor will I accept the actions of those who do.”

Students enrolled in this course are responsible for abiding by the Honor Code. A student who has doubts about how the Honor Code applies to any assignment is responsible for obtaining specific guidance from the course instructor before submitting the assignment for evaluation. Ignorance of the rules does not exclude any member of the University community from the requirements and expectations of the Honor Code. Academic integrity expectations are the same for online classes as they are for in person classes. All university policies and procedures apply in any Virginia Tech academic environment. For additional information about the Honor Code, please visit: https://www.honorsystem.vt.edu/

Honor Code Pledge for Assignments: The Virginia Tech honor code pledge for assignments is as follows:

“I have neither given nor received unauthorized assistance on this assignment.”

The pledge is to be written out on all graded assignments at the university and signed by the student. The honor pledge represents both an expression of the student’s support of the honor.

The field of Computational Modeling and Data Analytics requires professionals who act with the highest ethical standards. CMDA teaches skills that empower you to have a tremendous impact upon the world. We teach you these skills with the expectation that you will exercise them responsibly.

Responsible practice is a habit forged during your undergraduate studies.

Schedule

Time Materials Homework
Week 01 (01/17-01/23) Week 1: Intro to deep learning (code)
Readings: Artificial Intelligence-The Revolution Hasn't Happened Yet
An Introduction to Colab
Week 02 (01/24-01/30) Week 2: Multilayer perceptrons (code)
Homework 01
(due on 11:59PM, 02/04.)
Week 03 (01/31-02/06) Week 3: Optimization (code)
Readings: Dropout
Homework 02
(due on 11:59PM, 02/11.)
Week 04 (02/07-02/13) Week 4: Convolutional neural networks 1 (code)
Readings: Pytorch Tutorial
Homework 03
(due on 11:59PM 02/18)
Week 05 (02/14-02/20) Week 5: Convolutional neural networks 2 (code)
Batch Normalization
Homework 04
(due on 11:59PM 02/25)
Week 06 (02/21-02/27) Week 6: Recurrent neural network (code)
Homework 05
(due on 11:59PM 03/04)
Week 07 (02/28-03/06) Week 7: Attention (code)
Attention? Attention
Attention is all you need
Homework 06
(due on 11:59PM 03/18)
Week 08 (03/07-03/13) Spring Break
Week 8,9 (03/14-03/27) Week 8,9: Generative Model (code)
VAE paper
GAN paper
Homework 07
(due on 11:59PM 04/01)
Week 10 (03/28-04/03) Week 10: Reinforcement Learning (code)