Deep learning

EE-559

Media

9 April 2025

09.04.2025, 10:34

30 April 2025

30.04.2025, 10:42

26 March 2025

26.03.2025, 11:36

14 May 2025

14.05.2025, 10:33

26 Feb 2025

26.02.2025, 10:39

RCP instructions

02.04.2025, 12:16

2 April 2025

02.04.2025, 12:11

19 feb 2025

19.02.2025, 10:46

7 May 2025

07.05.2025, 10:44

19 March 2025

19.03.2025, 11:10

12 March 2025

12.03.2025, 10:37

16 April 2025

16.04.2025, 10:49

EE-559 Deep learning

14 May 2025

14.05.2025, 10:33

7 May 2025

07.05.2025, 10:44

30 April 2025

30.04.2025, 10:42

16 April 2025

16.04.2025, 10:49

9 April 2025

09.04.2025, 10:34

RCP instructions

02.04.2025, 12:16

2 April 2025

02.04.2025, 12:11

26 March 2025

26.03.2025, 11:36

19 March 2025

19.03.2025, 11:10

12 March 2025

12.03.2025, 10:37

5 Mar 2025

05.03.2025, 10:32

26 Feb 2025

26.02.2025, 10:39

19 feb 2025

19.02.2025, 10:46

5 Mar 2025

05.03.2025, 10:32


This file is part of the content downloaded from Deep learning.
Course summary

About this course

This course explores how to design reliable discriminative and generative neural networks, the ethics of data acquisition and model deployment, as well as modern multi-modal models.

This course has a fixed capacity and is now fully booked. We are unable to accept any new registered participants. Thank you for your understanding.

Lectures and labs

Lectures take place in Auditoire CM1. Labs take place in PO 01

Course content

This course equips students with a comprehensive foundation of modern deep learning, enabling students to design and train discriminative and generative neural networks for a wide range of tasks. Topics include:

  • Deep learning applications (natural language processing, computer vision, audio processing, biology, robotics, science), principles and regulations
  • Loss functions, data and labels, data provenance
  • Training models: gradients and initialization
  • Generalization and performance
  • Transformers
  • Graph neural networks
  • Multi-modal models
  • Generative adversarial networks
  • Variational autoencoders
  • Diffusion models
  • Interpretability, explanations, bias and fairness

Learning prerequisites

  • Basics in probabilities and statistics
  • Linear algebra
  • Differential calculus
  • Python programming

  • Basics in optimization
  • Basics in algorithmic
  • Basics in signal processing

Important concepts to start the course

Discrete and continuous distributions, normal density, law of large numbers, conditional probabilities, Bayes, PCA, vector, matrix operations, Euclidean spaces, Jacobian, Hessian, chain rule, notion of minima, gradient descent, computational costs, Fourier transform, convolution.

Learning outcomes

By the end of the course, the student must be able to:

  • Interpret the performance of a deep learning model
  • Analyze the limitations of a deep learning model
  • Justify the choices for training and testing a deep learning model
  • Propose new solutions for a given application

Transversal skills

  • Respect relevant legal guidelines and ethical codes for the profession.
  • Take account of the social and human dimensions of the engineering profession.
  • Design and present a poster.
  • Make an oral presentation.
  • Demonstrate the capacity for critical thinking

Teaching methods

Ex-cathedra lectures, class discussion, exercises (using python), group project.

Expected student activities

Attendance to lectures, participation in discussions, completing exercises, completing a project, reading written material (scientific papers and books).

Books

Understanding Deep Learning
Simon J.D. Prince
ISBN: 978-0-262-04864-4
Published: 5 December 2023
Publisher: The MIT Press

Deep Learning: Foundations and Concepts
Christopher M. Bishop, Hugh Bishop
ISBN: 978-3-031-45467-7
Published: 2 November 2023
Publisher: Springer

Lecture recordings

Instructor

Andrea Cavallaro

Teaching Assistants

Olena Hrynenko
Darya Baranouskaya
Ti Wang
Qin Liu
Egor Rumiantsev
Corentin Genton


Your first 'deep' network

Topics
Function approximation: learning complex functions from data
Values and principles: guiding ethical, responsible AI design
Shallow vs deep learning: layer count distinguishes learning depth
Building a deep network: your first ‘deep’ network
Network diagram: to visualize nodes, layers and parameters
Activation function: the non-linearities in the composition
Exercises: hands-on practice to solidify the above concepts

Slides (slides 34, 37: typos corrected) | Video

Exercises
Slides | Practice | Solutions | Questions | Instructions for creating a noto environment

Loss, data, assessment, mini-project

Topics
Loss function: training signal to optimize the parameters
Data: how you can get the most from them
About the course: the learning journey 
Assessment: earning your grade
Group mini-project: where principles meet deep learning
Exercises: hands-on practice on activation and loss functions


Exercises
Slides | Practice | Solutions | Questions


Model training, performance, and impact

Topics
The design space: the (many) choices for a model
Training the model: how to fit the model to a dataset
Model performance: how well a model predicts
Classification: binary and multi-class problems
Real-world impact: the cost of model fitting and deployment
Exercises: the full training pipeline and the impact of data

Slides (slides 17, 19: sign corrected) | Video

Exercises
Slides | Practice | Solutions | Questions


Generalization, data annotation, and model distillation

Topics

Generalization: how to improve model performance
Human-annotated data: on labeling for subjective tasks
Self-supervised learning: how to train without human labels
Contamination: on testing for memorized (internet-scale) data 
Reduced models: how to heavily decrease the parameter count
Exercises: initialization, quantization, and distillation of a network

Slides (slide 13, gradient corrected) | Video


Transformers

Topics

Natural Language Processing: how to analyse / synthesize language
Tokens: on breaking text into small units
Self-attention: how a model can focus on relevant parts of the input
Transformer: how to use attention in a neural network
Encoder model: how to process text to create a useful representation
Decoder model: how to generate text
Encoder-decoder model: how to map a sequence to a sequence
Exercises: positional encoding, attention, and transformers

Slides | Video

Exercises
Slides (contain Submission 1 instructions) | Practice | Solutions | Questions


Graphs

Topics

Graphs: on nodes, edges and structure
Simple graph: on aggregation and parameter sharing
Tasks on graphs: how to perform regression and classification
Graph convolutional networks: on deep learning with graphs
Graph attention: on weighted, learned, neighbor feature aggregation
Training: how to deal with the structure
Line graphs: on the complementary graph
Graph types: on the diversity of graph representations
Exercises: message passing and graph classification

Slides (slides 16, 22: typos corrected) | Video

Exercises

Slides | Practice | Solutions | Questions


Multi-modal models

Topics

Vision transformer: from coherent text to coherent images
Audio transformer: adapting transformers for sound understanding
Audio-visual transformer: analyzing jointly audio & video data
Vision and language models: fusing vision & language understanding
Exercises: multimodal transformer


Exercises
Slides | Practice (introduction to HPC was presented, for details refer to the Mini-Project section) | Solutions | Questions


Vision-Language-Action models and alignment

Topics

Flamingo: vision and language model example
Vision-Language-Action models: robots that follow instructions
Reinforcement learning from human feedback: on value alignment
Pluralistic alignment: on AI respecting the values of all

Slides | Video

Lab


Constitutional AI, interpretability and datasheets for datasets

Topics
Alignment with diverse preferences: on AI respecting the values of all
Reinforcement learning from AI feedback: on AI training AI
Interpretability: on identifying decision-defining features and paths
Causal mediation analysis: on unpacking causal effects
Datasheets for datasets: on responsible data collection and use

Slides | Video

Lab
Slides


Break


Generative Adversarial Networks

Topics

Generative Adversarial Networks: on synthetizing data from noise
Image-to-image GANs: on translating images across domains
StyleGAN: on creating hyperrealistic images with control of details
Exercises: implementing and training a GAN

Slides | Video

Lab


Autoencoders and Diffusion Models

Topics
Deterministic autoencoders: on discovering structure within the data
Variational autoencoders: on using a continuous latent space
Vector quantised-variational autoencoder: on using discrete latents
Diffusion probabilistic models: on learning noise removal
Instruction-following diffusion models: on editing with language
Exercises: autoencoders and variational autoencoders



Completing the group project

As we are in the final weeks of the group project, this lecture focuses on recommendations for the completion of the project, covering the critical analysis of the results, benchmarking, poster and report preparation, and poster presentation. The aim is to support you in these final steps and maximize your learning.

Topics

Learning outcomes (recap!)
Project deliverables
Assessment criteria
Poster and poster session
Paper
Convergence to project success!

Slides | Video

Lab


Project completion

Use this morning to finalize your group project. The 8:00-10:00 slot is for you to dedicate to project completion and the 10:00-12:00 lab session provides the last chance for in-person feedback on the project.

Lab


Communication


Marked Exercises

The information and material about the marked exercises is made available in this section. 

The marked exercises must be completed individually.

[Submission 1 Questions]

Submission 1 Week 2 [exercises] [corrected folder name, visualisation for contrastive loss (MSE visualisation remained unchanged for all versions)]
Submission 1 Week 3 [exercises]
Submission 1 Week 4 [exercises]
Submission 1 Week 5 [exercises]

Submission 2 [exercises]

Group Mini Project

This section contains information and material about the Group Mini Project.

Theme: Deep learning to foster safer online spaces

Scope: The group mini-project aims to support a safer online environment by tackling hate speech in various forms, ranging from text and images to memes, videos, and audio content.

Objective: To develop deep learning models that help foster healthier online interactions by automatically identifying hate speech across diverse content formats. These deep learning models shall be carefully designed to prioritize accuracy and context comprehension, ensuring they differentiate between harmful hate speech and legitimate critical discourse or satire. 

Context: Developing deep learning models that help prevent the surfacing of hateful rhetoric will lead to a more respectful online environment where diverse voices can coexist and thrive.

Definition: What is hate speech?

Datasets: Initial list (OLID dataset license is being clarified)

Data Planning and Guidelines

Human Research Ethics Committee

Paper Template: File (.zip). When working on your paper, you can use to Overleaf, a free online LaTeX editor that provides an easy way of creating and editing LaTeX files. Documentation on how to work with Overleaf is available here.

Poster Template: File (.svg), File (.pptx)

Environment (cluster access tutorial): File (.zip) (updated 'docker run -it'), Video 

Mini-Project Questions
High Performance Computing Questions

Models in a shared folder
You can now find a shared folder on Jumphost for pre-trained models. A model added there alongside a tutorial is simply an example. You're encouraged to select the model that best suits your project needs. Feel free to use any other available models, provided their licenses permit your intended use. If due to the size constraints of your home repository you would like us to add more models to the shared space, please get in touch. Path to the shared folder when connected to Jumphost: /mnt/course-ee-559/scratch/models.

Presence at the poster
The poster session is open to the whole EPFL community and provides a valuable opportunity to showcase your work: at least one team member is strongly recommended to remain at your poster to explain it to your fellow students until 2 pm.

Assessment slots (all members to be present)
8h30-10h20 - Groups 1-6, 18-23, 35-40
10h20-12h10 - Groups 7-12, 24-29, 41-46
12h10-13h40 - Groups 13-17, 30-34, 47-50

Poster printing and poster submission by 26 May, 3pm
You can start printing your poster from this Wednesday by contacting EPFL printing service either in person or via email, specifying that the poster is for the EE-559 Deep Learning course, and giving the group number.
You will not have to pay for printing the poster of your group, and the deadline is 26 May at 3pm.
Additionally, for us to be able to prepare for the poster session, you must submit by 26 May at 3pm your report title and the PDF of your poster using this submission form.


Submissions

Two set of exercises submission + One mini group project submission