Teacher(s)
Blondel Vincent; Calbert Julien (compensates Delvenne Jean-Charles); Delvenne Jean-Charles; Legat Benoît (coordinator);
Language
English
> French-friendly
> French-friendly
Prerequisites
Familiarity with mathematics and algorithmics of the common core of the Bachelor of Engineering or Computer Science (SINF) is required. More particularly in linear algebra and analysis (e.g. LEPL1101 and 1102), probability (e.g. LEPL1108), discrete mathematics (e.g. LINMA1691), algorithmics and basic programming (e.g. LEPL1104 and LEPL1401).
Main themes
The course explores questions, mainly of an algorithmic nature, regarding the challenges offered by the emergence of Big Data.
Learning outcomes
At the end of this learning unit, the student is able to : | |
With regard to the AA framework, this course contributes to the development, acquisition and assessment of the following learning outcomes:
More specifically, at the end of the course the student will be able to :
|
|
Content
This course explores automatic differentiation (AD), the core technology powering modern machine learning. Students will learn how AD works from the ground up, starting with scalar and tensor-based approaches, and progressing to second-order and sparse techniques. The course also covers differentiating optimization programs. Through hands-on projects, students will implement their own AD system from scratch and use it to train neural networks and transformers.
The course also introduces kernel methods as a classical approach to learning in high-dimensional spaces. It concludes with an exploration of generative models for unsupervised learning tasks such as image generation, including generative adversarial networks (GANs), variational autoencoders (VAEs), and diffusion models.
The course also introduces kernel methods as a classical approach to learning in high-dimensional spaces. It concludes with an exploration of generative models for unsupervised learning tasks such as image generation, including generative adversarial networks (GANs), variational autoencoders (VAEs), and diffusion models.
Teaching methods
The course consists partly of ex cathedra lectures introducing the concepts, algorithms, and their theoretical foundations, and partly of projects with written and/or oral reports. These projects involve a significant amount of implementation (in Python and Julia). Prior knowledge of either language is not required, but a solid background in programming is essential. Tutorials are provided to help students get started with the necessary tools.
Evaluation methods
- Work carried out during the term: homework assignments, exercises, or laboratory work. These activities are thus organized (and evaluated) only once per academic year.
- Exam: written, or sometimes oral depending on the circumstances.
- Bonus points for the best projects or for contributions to the open source resources of the course.
HW be the homework grade (out of 20) and EX the exam grade (also out of 20). If both HW and EX are above 10, we take their average. If HW is below 5 or if EX is below 5, we use min(HW, EX). To interpolate between these cases, we define a weight function f(x) = min(max(0, (x - 5)/10), 0.5). If EX < HW, we compute G1 = f(EX) * HW + (1 - f(EX)) * EX; if HW ≤ EX, we compute G2 = (1 - f(HW)) * HW + f(HW) * EX. In other words, the grade combining homework and exam is min(G1, G2). The bonus points are added on top of this grade (without exceeding 20).
Online resources
Bibliography
- Evaluating Derivatives, A. Griewank and A. Walther
- The Elements of Differentiable Programming, M. Blondel, V. Roulet
Faculty or entity
Programmes / formations proposant cette unité d'enseignement (UE)
Title of the programme
Sigle
Credits
Prerequisites
Learning outcomes
Master [120] in Data Science : Statistic
Master [120] in Environmental Bioengineering
Master [120] in Mathematics
Master [120] in Chemistry and Bioindustries
Master [120] in Computer Science and Engineering
Master [120] in Computer Science
Master [120] in Mathematical Engineering
Master [120] in Data Science Engineering
Master [120] in Agricultural Bioengineering
Master [120] in Data Science: Information Technology