CS583: Deep Learning

Instructor: Shusen Wang

TA: Yao Xiao


Meeting Time:

Office Hours:

Contact the Instructor:


Goal: This is a practical course; the students will be able to use DL methods for solving real-world ML, CV, and NLP problems. The students will also learn math and theories for understanding ML and DL.


Assignments and Bonus Scores

Syllabus and Slides

  1. Machine learning basics. This part briefly introduces the fundamental ML problems-- regression, classification, dimensionality reduction, and clustering-- and the traditional ML models and numerical algorithms for solving the problems.

  2. Neural network basics. This part covers the multilayer perceptron, backpropagation, and deep learning libraries, with focus on Keras.

  3. Convolutional neural networks (CNNs). This part is focused on CNNs and its application to computer vision problems.

  4. Recurrent neural networks (RNNs). This part introduces RNNs and its applications in natural language processing (NLP).

  5. Autoencoders. This part introduces autoencoders for dimensionality reduction and image generation.

  6. Generative Adversarial Networks (GANs).

  7. Recommender system. This part is focused on the collaborative filtering approach to recommendation based on the user-item rating data. This part covers matrix completion methods and neural network approaches.

  8. Deep Reinforcement Learning.

  9. Parallel Computing.

  10. Adversarial Robustness. This part introduces how to attack neural networks using adversarial examples and how to defend from the attack.


Every student need to participate in a Kaggle competition.

Alternatively, one can work on any deep learning research project and submit a research paper style report. Note that the requirement is much higher than a Kaggle project:


Required (Please notice the difference between "required" and "recommended"):

Highly Recommended:


Grading Policy


Expected grade on record:

Late penalty: