Premier semestre

Période : septembre à janvier.
Modalités :
cours obligatoires.

Cours de mathématiques

Apprentissage statistique (3 ECTS)

Responsable : Gérard Biau
Modalités : 30h CM
Objectif : ce cours présente les grands principes de l’apprentissage statistique et les problématiques liées.
Prérequis : notions fondamentales de probabilités et statistique.
Contenu :

  • Introduction au problème de la classification supervisée.
  • Principe de minimisation du risque empirique, théorie de Vapnik-Chervonenkis.
  • Bornes de performance, pertes convexes, sélection de modèle.
  • Classification non paramétrique, théorème de Stone, plus proches voisins, arbres.
  • Classification par réseaux neuronaux.
  • Quantification et clustering.

Introduction à l’apprentissage automatique (3 ECTS)

Responsable : Maxime Sangnier
Modalités : 30h CM
Objectif : ce cours introduit les principales méthodes de prédiction (classification et régression), de partitionnement et de réduction de dimension. Il présente l’apprentissage statistique d’un point de vue algorithmique et sera illustré par des travaux pratiques (en Python) ainsi que par un challenge en science des données.
Prérequis : notions fondamentales de probabilités et statistique, analyse convexe, algèbre linéaire et calcul scientifique en Python.
Contenu :

  • Analyse discriminante, régression logistique, machines à vecteurs supports.
  • k-plus proches voisins, arbres de décision et méthodes ensemblistes (forêts et boosting).
  • Modèle de mélange et algorithme EM, k-moyennes, partitionnement spectral et hiérarchique.
  • Analyse en composantes principales, projections aléatoires et positionnement multidimensionnel.

Méthodes du premier ordre pour l’optimisation non convexe et non lisse (3 ECTS)

Responsable : Pauline Tan
Modalités : 24h CM
Objectif : ce cours explore la vaste théorie de l’optimisation non convexe et non lisse, par le biais des méthodes dites du premier ordre. Une attention particulière sera accordée aux problématiques liées à l’optimisation sur données en grande dimension.
Prérequis : analyse réelle.
Contenu :

  • Fonction à valeurs sur la droite réelle étendue, sous-différentiabilité, condition d’optimalité du premier ordre.
  • Méthodes de gradient (explicite, implicite), opérateur proximal, algorithme du point proximal.
  • Dualité de Lagrange et de Fenchel, conditions de Karush, Kuhn et Tucker.
  • Stratégies d’éclatement : forward-backward splitting, éclatement de Dykstra, méthode de Douglas-Rachford.
  • Optimisation par blocs : minimisations alternées (block coordinate descent), descentes (proximales) alternées.
  • Algorithmes primaux-duaux : méthode des directions alternées, algorithme de Chambolle-Pock.
  • Ouverture : variantes inertielles, pré-conditionnement, distances de Bregman.

Optimisation stochastique & généralisation pour le ML (3 ECTS)

Responsable : C. Boyer
Modalités : 30h CM
Objectif : l’objectif de ce cours est d’étudier la convergence de nombreux algorithmes stochastiques (séquentiel ou mini-batch) dans le cadre de l’apprentissage supervisé. Des séances de travaux pratiques permettront de les implémenter en Python.
Théoriquement, ces algorithmes permettent de contrôler l’erreur de généralisation des prédicteurs ainsi formés.
Le cours comportera également des séances d’ouverture pour explorer le flot de gradient, la quantification de l’incertitude en terme de généralisation, et des algorithmes d’optimisation pour le transport optimal.
Prérequis : notions fondamentales de probabilités et statistique, calcul scientifique en Python.
Contenu :

  • Introduction à l’optimisation convexe.
  • Algorithmes du premier et du second ordre.
  • Algorithmes de gradient stochastiques.
  • Apprentissage dans un cadre stochastique.
  • Régularisation convexe.
  • Prédiction conformelle.

Cours d’informatique

Apprentissage automatique avancé et apprentissage profond (6 ECTS)

Responsable : Patrick Gallinari
Modalités : 28h CM, 28h TP
Objectif : ce cours dresse un panorama de l’apprentissage statistique aujourd’hui. Il aborde successivement les grandes problématiques du domaine et en présente les avancées majeures des dix dernières années, en les illustrant sur des grands champs applicatifs : traitement de données textuelles et multimédia, extraction d’information à partir de données collaboratives (médias sociaux), etc.
Prérequis : notions élémentaires d’apprentissage statistique et calcul scientifique en Python.
Contenu :

  • Théorie de l’apprentissage statistique, capacité de généralisation, dilemme biais-variance.
  • Apprentissage Supervisé : Classification, Réseaux de Neurones et Deep Learning, Machines à vecteurs de support, Méthodes à noyaux, Ranking, Problématique du passage à l’échelle.
  • Apprentissage non supervisé : Partitionnement, Modèles à variables latentes.
  • Autre paradigmes d’apprentissage : Apprentissage par renforcement, Apprentissage faiblement supervisé, Apprentissage semi-supervisé et transductif, Apprentissage actif, Transfer Learning
  • Méthodes d’ensembles : bagging, boosting.
  • Apprentissage et données structurées : Séquences et arbres, Graphes et données interdépendantes.

Apprentissage profond avancé et apprentissage par renforcement (6 ECTS)

Responsable : Olivier Sigaud et Nicolas Thome
Modalités : 28h CM, 28h TP
Objectif : acquérir les compétences en apprentissage par renforcement et méthodes neuronales stochastiques.
Prérequis : notions élémentaires d’apprentissage statistique et calcul scientifique en Python.
Contenu :

  • Markov Decision Process, programmation dynamique.
  • Apprentissage par renforcement tabulaire.
  • Apprentissage profond pour le renforcement (Deep Q learning, DDPG, TD3, Policy gradient, Reinforce, A2C, TRPO, PPO, SAC, TQC…).
  • Apprentissage par imitation, Goal-Conditioned Reinforcement Learning.
  • Modèles génératifs : GAN, VAE, normalizing flows, diffusion models.
  • Machine learning informé par la physique (NeuralODE).

Bases de données large échelle (6 ECTS)

Responsable : Mohamed Amine Baazizi
Modalités : 26h CM, 30h TP
Objectif : ce cours présente les grands principes du traitement des données massives.
Prérequis : notions fondamentales de programmation, interrogation des données avec SQL, couche physique des systèmes de gestion de bases données.
Contenu :

  • Introduction à la programmation parallèle et fonctionnelle sur Scala.
  • Données multidimensionnelles et entrepôts de données.
  • Paradigme Map-Reduce : modèle de calcul et implantation dans Spark.
  • Evaluation des requêtes distribuées.
  • Paradigme BSP (Bulk Synchronous Programming) et application pour l’analyse des graphes.

Reconnaissance des formes pour l’analyse et l’interprétation d’images (6 ECTS)

Responsable : Matthieu Cord
Modalités : 28h CM, 28h TP
Objectif : Ce cours aborde un ensemble de notions essentielles pour l’analyse et l’interprétation automatique du contenu visuel des images. A partir du signal image bidimensionnel, les différents systèmes de vision artificielle sont décrits. Outre les approches traditionnelles de vision par ordinateur, l’accent est mis sur les méthodes d’apprentissage statistique appliquées au traitement d’image. En particulier, la description des architectures profondes à base de réseaux de neurones et leur apprentissage (deep learning) occupent une place centrale  dans ce cours. Les problématiques de vision étudiés concernent aussi bien des systèmes de classification et de segmentation, que de génération d’images. L’ensemble des concepts présentés font l’objet d’applications pratiques mises en oeuvre dans les séances de TPs.
Prérequis : Notions basiques de représentation de l’image numérique, algorithmique de traitement statistique des données et calcul scientifique en Python.
Contenu :

  • Introduction à l’apprentissage supervisé
  • Réseaux de neuronnes et machines à vecteurs supports
  • Réseaux convolutionnels très large échelle, ImageNet
  • Apprentissage par transfert et adaptation de domaine
  • Réseaux antagonistes génératifs
  • Segmentation et application à la conduite autonome