General Information
Objective: Study of the main deep learning methods and their applications.
Syllabus: Machine learning basics; Deep Feedforward Networks; Convolutional Neural Networks (CNNs), Recurrent Neural Networks; Transformers and Natural Language Processing (NLP); Generative Adversarial Networks (GANs); Graph Neural Networks; Reinforcement Learning; Variational Autoencoders; Diffusion Models; Frameworks for deep learning and Practical Aspects; Applications of deep learning models for real-world problems.
Duration/credits: 45 hours/3 credits (12 weeks).
Time: Tuesdays (13:50 - 17:30) - online with synchronous online (SYN) classes.
Lecturers: André Eugenio Lazzaretti.
Prerequisites: Linear algebra; Probability and statistics; Differential and integral calculus; Programming (Python).
Python Basics (Lecture 3 and 4 from this link; Lectures 1.2, 1.3, 1.4, 1.5, 2.1, 2.2, 2.3, 2.4, and 2.5 from this link).
Full course on math for ML (link).
Grade: Assignments (20%) and Final Project (80%).
Book: Prince, S. J. D. Understanding Deep Learning. MIT Press, 2023: https://udlbook.github.io/udlbook/.
Week 6 (CNNs) - 11/11
Content:
CNNs (slides, video).
Assignment 05:
Simpsons Character Classification (link).
Practical Aspects with Pytorch:
CNN in Pytorch and other resources (CNN, Save-Load Models, Transfer Learning and Fine Tuning, Custom Image Datasets, Data Augmentation).
Week 10 (Variational Autoencoders and Diffusion Models) - 09/12
Content:
Variational Autoencoders (slides, video).
Diffusion Models (slides, video).
Week 11 (Project Proposals)
Guidelines and submission (form).
Final Project - Rules:
It can be in pairs.
Something more than getting data and a network already available is expected.
Important to detail and interpret the results.
Important: it could become a publication in a conference/journal.
Project Proposals - Guidelines:
What is the problem to be solved? Preferably a real problem that can be solved via deep learning.
Appropriate answer (example): Classify EEG signals to identify movement intentions.
Inappropriate answer (example): I have this dataset (own, Kaggle, etc.) and intend to use a CNN to check the classification result.
Dataset available? Few data may make it unfeasible.
Do you need HW (GPU)? The LABIC cluster may be made available.
What techniques do you intend to use and why?
If you have a comparison parameter (papers, kaggle, etc).
Final Project - Presentation:
Final Report Deadline: 25/02/2026.
Must contain: Introduction (detailing the addressed problem); Methodology; Results (with comparisons, if possible); Conclusions.
Suggested template: IEEE.
Presentation Deadline: 26/02/2026 and 27/02/2026.
10 minutes for each work + 5 minutes for questions.