AIST4010/ESTR4140: Foundation of applied deep learning-Spring 2024

[Pre-course survey, Piazza, Scribing preference, Logistics, Course schedule and materials]

Course description

This course covers how to use deep learning techniques to resolve real-life computational problems, handling different kinds of data. We start the course by introducing the problem-solving paradigm with deep learning: data preparation, building the model, training the model, model evaluation, and hyper-parameter searching. Then, we fill in the details in the paradigm. Regarding the deep learning models, we will go from the simplest linear regression model, towards the relatively complicated models. To handle various data types, that is, the structured data, images, text, sequences, signals, and graphs, in our daily life, we would cover CNN/ResNet, RNN/LSTM, Attention, and GNN models. In addition to the above paradigm, we will also cover the commonly used techniques to handle overfitting. We would briefly go through the generative models, VAE, and GAN, at the end of this course.

Teaching team

Lecturer: Yu LI (liyu@cse.cuhk.edu.hk), SHB-106. Office hour: 10:30am-12:30pm, Thursday
TA:

Time and location

Monday: 2:30pm-4:15pm, LHC-101.
Thursday: 2:30pm-3:15pm, LHC-101.
Thursday: 3:30pm-4:15pm, LHC-101. Tutorial
Thursday: 5:30pm-6:15pm, LHC-101. ESTR-4140

Format

Mainly onsite. Slides will be available the day before the lecture day. We will also provide the Zoom session.

Logistics

Communications

Blackboard is the main software to manage the course, and grading will be through blackboard. We will use Piazza (AIST4010) for discussion. You can ask questions through Piazza, even anonymously. For a personal matter, please use the private post to the instructor and the TA. You are also very welcomed to send emails to the instructor and TAs.

Grading

Bonus (up to 2%): One additional scribing: 1%. Pre-course survey + Post-lecture survey: 0.2% for each, and the maximum is 1%. I do encourage you to complete all of them so that to let me know your feedback and adjust the course accordingly. Register here

Open-book quiz policy

The quiz is open-booked.

Assignment

Half of them will be fixed-answer questions while half of them will be Kaggle competition. The last Kaggle competition (A3-Kaggle) is optional. If you participate in that one, you final score of the Kaggle part will be the highest two out of the three.

Programming

All the programming assignments should be done by Python, and we suggest you to use Colab.

Scribing

Please register for your Scribing preference. We should have at least one student for each lecture. We may adjust the assignment if necessary. Notice that your scribing note will be posted online, for others’ reference. You can choose to hide your name or not. Deadline for resigtration: 11:59 pm on 29th Jan. After that, the Google sheet will be closed. Here are some good scribing examples from another course.

Projects

You can choose to do the project individually or team-up. However, for the team-up project, we will have higher requirement and the project should target at publication. Moreover, the contribution of each student and the workload split should be defined clearly at the beginning of the project. Please discuss with Prof. Li if you want to do serious team-up project. You should submit a proposal (6%), a mid-term report (7%), a final report (17%) and give a presentation (17%). Both the lecturer (90%) and the students (10%) will be the markers.

Late days

Each student will have 6 late days to turn in assignments, which can be used on written assignments including A1-written, A2-written, A3-written, project proposal, and project M-report. They cannot be used on Kaggle assignments, the project final report and the scribing note. A maximum of 2 late days can be used for each assignment. Grades will be deducted by 25% for each additional late day. If you would like to use late days for any assignment, please fill in this form before the assignment deadline: Late Day Application.

Post-lecture survey

Deadline for each survey: 11:59pm on the day before the next lecture. We do this because I could have time to answer the questions you mentioned in the survey. Please fill 1 in the Google sheet: Survey results, once you have finished one survey. Usually, we will trust the 1s you fill in the Google sheet. But we will check the things in detail if the number of survey forms we received and the number of 1s on the Google sheet is not consistent.

About ChatGPT and Al tools

We embrace Al tools, but I need to make sure you can learn something from the course.

Course schedule and materials

Lec Date Location Topic Slides/Video Notes Reading Important dates (All due at 11:59 pm)
1 Jan 8 (Mon) LHC-101 Introduction Lec-1      
2 Jan 11 (Thu) LHC-101 ML review Lec-2 Notes Data mining book, D2L, Colab, Kaggle A0 posted
3 Jan 15 (Mon) LHC-101 LR/NN Lec-3 Notes D2L, Universal approximation theorem  
4 Jan 18 (Thu) LHC-101 Backpropagation Lec-4 Notes D2L, Universal approximation theorem, Chain rule, Subgradient  
5 Jan 22 (Mon) LHC-101 CNN Lec-5 Notes D2L, LeNet, AlexNet  
6 Jan 25 (Thu) LHC-101 Overfitting Lec-6 Notes D2L, Augmentation survey, Transfer learning, AlexNet, OOD, Meta-learning A0 due, A1 posted
7 Jan 29 (Mon) LHC-101 CNN++ Lec-7 Notes D2L, DL Bioinformatics, In the slides Scribing preference registration due
8 Feb 1 (Thu) LHC-101 CNN++ Lec-8 Notes D2L, DL Bioinformatics, In the slides  
9 Feb 5 (Mon) LHC-101 Optimization Lec-9 Notes Momentum, Adam  
10 Feb 8 (Thu) LHC-101 Optimization Lec-10 Notes Adam, D2L, Visualization course, Research writing  
- Feb 12 (Mon) - - - - - Lunar New Year Vacation
- Feb 15 (Thu) - - - - - Lunar New Year Vacation
11 Feb 19 (Mon) LHC-101 Loss function Lec-11 Notes YOLO, Neural style transfer A1-written due
12 Feb 22 (Thu) LHC-101 Text processing Lec-12 Notes Gensim, NLP datasets Project proposal due
13 Feb 26 (Mon) LHC-101 RNN Lec-13 Notes Text generation A1-Kaggle due, A2 posted
14 Feb 29 (Thu) LHC-101 RNN++ Lec-14 Notes GRUs  
- Mar 4 (Mon) - - - - - Reading Week
- Mar 7 (Thu) - - - - - Reading Week
15 Mar 11 (Mon) LHC-101 RNN++/Attention Lec-15 Notes Attention A2-written due, A3 posted
16 Mar 14 (Thu) LHC-101 Attention Lec-16 Notes Attention, GPT-4 Project M-report due
17 Mar 18 (Mon) LHC-101 BERT&GPT Lec-17 Notes BERT, code, GPT papers in slides A2-Kaggle due
18 Mar 21 (Thu) LHC-101 NLP&Graph Lec-18 Notes Finetune BERT, Text summarization, DeepWalk, node2vec  
19 Mar 25 (Mon) LHC-101 Graph Lec-19   DeepWalk, node2vec  
20 Mar 28 (Thu) LHC-101 GNN Lec-20   GCN, GraphSAGE, GAT A3-written due
- Apr 1 (Mon) - - - - - Easter Monday
- Apr 4 (Thu) - - - - - Ching Ming Festival
21 Apr 8 (Mon) LHC-101 GAN & Generative Lec-21   RL, GAN, Unrolled GAN, Train GAN A3-Kaggle due
22 Apr 11 (Thu) LHC-101 Summary & Presentation Lec-22, Lec-23     Participation Quiz
23 Apr 15 (Mon) LHC-101 Project Presentation        
24 Apr 18 (Thu) LHC-101 Project Presentation       Project report due

Tutorial schedule and materials

All the tutorial slides and codes except Kaggle assignments can be found in this GitHub Repo. The slides and solutions of the Kaggle tutorials will be released on BlackBoard.

TUT Date Location Topic Slides
1 Jan 11 (Thu) LHC-101 Introduction to Colab, Kaggle, A0  
2 Jan 18 (Thu) LHC-101 PyTorch Colab (practice)
Colab (solution)
3 Jan 25 (Thu) LHC-101 Image Classification Basics Colab 1
Colab 2
4 Feb 1 (Thu) LHC-101 ResNet from Scratch ResNet paper
Colab (practice)
Colab (solution)
5 Feb 8 (Thu) LHC-101 CNN components in practice Colab 1
Colab 2
Colab 3
6 Feb 22 (Thu) LHC-101 Object Detection with YOLO Slide
Colab
7 Feb 29 (Thu) LHC-101 A1-Kaggle tutorial  
8 Mar 14 (Thu) LHC-101 RNN Colab 1
Colab 2
9 Mar 21 (Thu) LHC-101 GNN Slide
Colab
10 Mar 28 (Thu) LHC-101 A2-Kaggle tutorial  
11 Apr 11 (Thu) LHC-101 A3-Kaggle tutorial Colab

Assignments