[Pre-course survey, Piazza, Scribing preference, Logistics, Course schedule and materials]
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.
Lecturer:
Yu LI (liyu@cse.cuhk.edu.hk), SHB-106. Office hour: 10:30am-12:30pm, Thursday
TA:
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
Mainly onsite. Slides will be available the day before the lecture day. We will also provide the Zoom session.
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.
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
The quiz is open-booked.
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.
All the programming assignments should be done by Python, and we suggest you to use Colab.
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.
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.
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.
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.
We embrace Al tools, but I need to make sure you can learn something from the course.
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 |
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 |