CEng 501 - Deep Learning - Fall 2023
Images generated by the “Stable Diffusion” method. From left to right: “a bunch of students learning deep neural networks” by Picasso, Van Gogh and Da Vinci.
Instructor: Emre Akbas; e-mail: emre at ceng dot metu.edu.tr; Office: B-208; Office hours: click + by apppointment
Lectures: Monday 9:40-12:30 at BMB-4
Online communication: (forum, homework submissions) https://odtuclass.metu.edu.tr/
Syllabus: pdf
Announcements
- Oct 9, 2022 - Homework assignment 1 is announced. See Week 1 below.
- Oct 9, 2022 - Student with these IDs can add the class during add-drops this week. Those who are already registered do not need to do anything.
- Sep 28, 2023 - Due to conflict with the Opening Ceremony of the university (see “[GENEL-DUYURU: 11661] 2023 - 2024 Eğitim-Öğretim Yılı Açılış Töreni”), our first meeting will be on October 9th, instead of October 2nd. See you all on October 9th in BMB4.
- Sep 24, 2023 - I am receiving too many e-mails about taking this course as a special student, as an undergrad, from other departments/universities, etc. I am not able to respond each of them. If you want to take the course, please make sure you attend the first lecture. And, please see my answers to frequently asked questions.
Late submission policy
Any work, e.g. an assignment solution, that is submitted late past its deadline will receive -10 points per day delayed. For example, if the deadline is Oct 14, 23:55 and a student submits his/her work anytime on Oct 15, that work will be evaluated over 90 instead 100.
Detailed syllabus
An important note: Lecture slides provided below are by no means a complete resource for studying. I frequently use the board in class to supplement the material in the slides.
Week 1
- No class due to opening ceremony.
Week 2
Week 3
Week 4
- Lecture topics: Model selection, hyper-parameter tuning, maximum likelihood and maximum aposteriori esitmations; Biological neuron, artificial neuron, Perceptron, Multilayer perceptrons (slides).
- Hands-on tutorial: developing a basic classifier using hinge loss: Colab notebook.
- Reading assignment for next week: LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436-444.
Week 5
- Lecture topics: Multilayer Perceptrons, Activation Functions, Backpropagation, Stochastic Gradient Descent, Momentum (slides)
- Lecture topics: convolutional neural networks (part 1) (slides)
Week 6
- Lecture topics: Convolutional neural networks continued, multiclass hinge loss, derivation of cross-entropy loss, implementing backpropagation in a modular way, AlexNet, data augmentation, dropout. (slides)
- Colab notebook on building, training and evaluating a basic MLP.
- Colab notebook on building, training and evaluating a basic CNN.
- Reading assignment for next week: He, K., Zhang, X., Ren, S. and Sun, J. Deep residual learning for image recognition. In CVPR 2016.
Week 7
- Lecture topics: implementing a convolutional layer, initialization of neural networks, normalization layers, adaptive learning rate methods (slides).
Week 8
- Lecture topics: some notable applications of CNNs and major CNN architectures (slides).
- Colab notebook on implementing a bare-bones object detector.
- Homework assignment 2 announced on ODTUClass.
Week 9
Week 10
- Lecture topics: LSTM, GRU, and some applications of RNNs (slides).
- A RNN example: solving simple arithmetic operations using a sequence-to-sequence encoder-decoder model: Colab notebook (in Keras)
Week 11
- Lecture topics: Attention, self-attention, Transformer, some notable applications of transformers (slides).
- Reading assignment: Vaswani et al., “Attention is All you Need”, in NIPS 2017.
Week 12
- Lecture topics: Unsupervised/generative modeling, energy-based models, Boltzmann machines, Restricted Boltzmann machines, deep belief networks, generative adversarial networks, autoencoders, variational autoencoders (slides).
Week 13
- Lecture topics: A brief intro to deep reinforcement learning (slides).
Week 14
- New year’s day (Jan 1, 2024). No class.
Frequently Asked Questions about taking the course
I am receiving too many e-mails about taking the course. Unfortunately, I cannot reply them one by one. Below are answers to common questions.
Q0: Is it going to be an online or face-to-face course?
A0: Face to face.
Q1: Can I take the course?
A1: There is a huge demand for the course from all kinds of backgrounds. Thanks. However, I have the responsibility to evaluate your learning outcomes and grade you. Therefore, I need to limit the number of seats. Based on my previous years’ experience, this limit will be around 35-40.
Since this is a graduate METU CENG course, I need to give priority to the graduate students in our department. Here is the priority order that I will use to accept students to the class. From high to low priority:
- Grad students from METU CENG,
- A limited number of 4th year undergraduate students from METU CENG,
- Grad students from other METU departments,
- Special students (see http://oidb.metu.edu.tr/ozel-ogrenci, you need to be a grad student in some other university to be eligible).
I must note that the first two categories (METU CENG students) almost fill up the whole capacity. So, unfortunately, there will not be much room for the remaining two categories.
Also, precedence will be given to students who are actively doing research in machine learning and related areas. This course is not a PyTorch or Keras tutorial, we intend to go beyond the “user” level.
You might want to check out the other two DL courses given at Multimedia Informatics and Electrical Engineering departments.
Machine learning background is required. If you have not taken a machine learning course before, please do not take this course.
Fluency in Python is required.
Q2: How can I register for the course?
A2: Come to the first lecture. In the first lecture, I will collect information from the participants and then, will decide (based on my answer A1 above) on who will be able to register. This enrollment list will be announced in a couple of hours following the first lecture. Students listed in this enrollment list will be able to add the course during the add-drop period.
Q3: I was able to take the course during the regular interactive registration. Should I worry about not being accepted?
A3: No worries. You will stay.
Q4: Can I take this course as a special student?
A4: Possible but unlikely. Please see my answer A1 above.
Q5: Even if I don’t officially register for the class, can I audit it?
A5: Yes, definitely.