Le Master IASD commence par un semestre de tronc commun consacré aux disciplines fondamentales de l’IA et des sciences des données, qui comprend trois cours communs et trois cours spécifiques à chaque parcours. À la fin du premier semestre, les étudiants choisissent sept cours d’approfondissement pour le second semestre, dont une semaine intensive PSL permettant l’ouverture thématique vers d’autres disciplines ou applications. L’année se poursuit par un stage effectué dans un laboratoire de recherche académique ou industriel et se conclut en septembre par la rédaction d’un mémoire et sa soutenance publique.

Tronc commun

Projet science des données
Data science lab
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Benjamin Negrevergne

L'objectif de ce module est de fournir aux étudiants une expérience pratique sur de nouveaux défis en science des données/IA en utilisant des outils et des techniques discutés dans les autres cours du master. Les étudiants inscrits à ce cours formeront des groupes et choisiront des sujets parmi une liste de sujets proposés dans les domaines principaux du master tels que l'apprentissage supervisé ou non supervisé, la recommandation, la science des données distribuée ou parallèle, etc. Les sujets consisteront généralement, soit, à appliquer une technique bien établie à un nouveau défi en science des données soit, à appliquer des résultats de recherche récents à un défi classique en science des données. Dans les deux cas, chaque sujet correspondra à un nouveau défi scientifique à relever. À la fin du module, les étudiants feront une présentation orale pour démontrer leur méthodologie et leurs résultats. Une grande rigueur scientifique ainsi que de très bonnes compétences en ingénierie et en communication seront nécessaires pour mener à bien ce module.

Fondamentaux de l'apprentissage automatique
Foundations of machine learning
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Francis Bach
L'objectif de ce cours est de présenter des résultats anciens et récents en théorie de l'apprentissage, pour les architectures d'apprentissage les plus utilisées. Ce cours s'adresse aussi bien aux étudiants orientés vers la théorie qu'à ceux qui souhaitent acquérir une compréhension mathématique des bases algorithmiques qui seront utilisées tout au long du programme de master.

Un effort particulier sera fait pour prouver de nombreux résultats à partir des premiers principes, tout en gardant l'exposé aussi simple que possible. Cela conduira naturellement à un choix de résultats clés qui illustrent, dans des cas simples mais pertinents, les concepts importants de la théorie de l'apprentissage. Certains résultats généraux seront également présentés sans preuves.

Le cours sera organisé en huit sessions de trois heures, chacune avec un sujet précis (un chapitre du livre "Learning theory from first principles").

Prérequis : Nous prouverons des résultats en classe, il est donc important d'avoir une bonne connaissance des mathématiques de premier cycle, ainsi que des notions de base en probabilité. Avoir suivi un cours d'introduction à l'apprentissage automatique est également préférable.

Apprentissage par renforcement
Reinforcement learning
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Olivier Cappé

L'apprentissage par renforcement s'intéresse à des scénarios dans lesquels l'algorithme d'apprentissage fonctionne en boucle fermée, en utilisant simultanément les données passées pour ajuster ses décisions et en effectuant des actions qui influenceront les observations futures. Tous les modèles d'apprentissage par renforcement ont en commun le fait que, pour atteindre les objectifs d'optimalité à long terme, il est nécessaire de trouver un juste équilibre entre l'exploration (découverte de comportements encore incertains) et l'exploitation (concentration sur les actions qui ont produit les résultats les plus pertinents jusqu'à présent).

Les méthodes utilisées en apprentissage par renforcement s'inspirent du contrôle, des statistiques et de l'apprentissage automatique. Ce cours d'introduction présentera les principaux éléments méthodologiques du domaine, en mettant l'accent sur les méthodes probabilistes dans le cas où l'ensemble des actions possibles et l'espace d'état du système sont finis.

  • Outils probabilistes et statistiques : chaînes de Markov et conditionnement, échantillonnage d'importance, approximation stochastique, modélisation bayésienne, tests d'hypothèse, inégalités de déviation
  • Modèles : Processus de décision de Markov (PDM), bandits multiarmés et autres modèles
  • Planification : problèmes à horizon fini et infini, fonctions valeur, équations de Bellman, programmation dynamique, itération sur les valeurs et les politiques
  • Outils d'apprentissage de base : Méthodes de Monte Carlo, apprentissage par différence temporelle, gradient de politique
  • Exploration optimale dans les modèles de bandits : compromis entre exploration et exploitation, exploration pure, limites inférieures, algorithme UCB, échantillonnage de Thompson

Références

Acquisition, extraction et stockage de données (Info)
Data acquisition, extraction, and storage
Nombre d'heures
24h
ECTS
4 crédits
URL du cours
https://moodle.psl.eu/course/view.php?id=34943
Responsable(s)
Paul Boniol

L'objectif de ce cours est de présenter les principes et techniques utilisés pour acquérir, extraire, intégrer, nettoyer, prétraiter, stocker et interroger des ensembles de données, qui peuvent ensuite être utilisées comme données d'entrée pour former différents modèles d'intelligence artificielle. Le cours sera constitué d'un mélange de leçons et de travaux pratiques. Nous aborderons les aspects suivants :

  • Acquisition de données Web (exploration Web, API Web, données ouvertes, problèmes juridiques)
  • Extraction d'informations à partir de données semi-structurées
  • Nettoyage de données et déduplication de données
  • Formats de données et modèles de données
  • Stockage et traitement de données dans des bases de données, en mémoire principale ou dans des fichiers simples
  • Introduction au traitement de données à grande échelle avec MapReduce et Spark
  • Introduction à la gestion de données incertaines
Apprentissage profond pour l'analyse d'images (Info)
Deep learning for image analysis
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Étienne Decencière

Ces dernières années, l'apprentissage profond a permis d'obtenir des résultats remarquables dans le domaine de l'analyse d'images, dépassant dans de nombreux cas les performances humaines. Ce succès ouvre la voie à de nouvelles applications tout en rendant le domaine très compétitif. Ce cours vise à fournir aux étudiants les bases théoriques et pratiques pour comprendre et utiliser l'apprentissage profond pour les applications d'analyse d'images.

Le cours sera composé de cours magistraux et de sessions pratiques. De plus, des experts présenteront des applications pratiques de l'apprentissage profond.

Programme :
  • Réseaux neuronaux artificiels, algorithme de rétropropagation
  • Réseau neuronal convolutif
  • Conception et optimisation d'une architecture neuronale
  • Architectures AlexNet, VGG, GoogLeNet, ResNet
  • Classification et segmentation d'images
  • Auto-encodeurs et réseaux génératifs
  • Transformeurs pour la vision
  • Tendances et perspectives actuelles de la recherche

Pendant les sessions pratiques, les étudiants coderont en Python, en utilisant Keras et Tensorflow. Ils seront confrontés aux problèmes pratiques liés au deep learning : conception d'architecture ; schémas d'optimisation et sélection d'hyperparamètres ; analyse des résultats.

Prérequis : Algèbre linéaire, probabilités et statistiques de base.

Modèles de langage de grande taille (Info)
Large language models
Nombre d'heures
24h
ECTS
4 crédits
URL du cours
https://moodle.psl.eu/course/view.php?id=37828
Responsable(s)
Alexandre Allauzen

Les grands modèles de langage jouent un rôle important pour accéder et générer différents types de contenus ainsi que pour communiquer dans différentes langues. Ce cours se concentre sur les méthodes d'apprentissage profond pour le traitement du langage naturel (NLP), en allant des bases jusqu'aux grands modèles de langage. L'objectif est d'introduire les principaux concepts de l'apprentissage profond et du traitement du langage naturel :

  • Traitement du langage naturel et bases de l'apprentissage profond
  • Le mécanisme d'attention et l'architecture de transformeur
  • Entraînement de grands modèles de langage
  • Applications (classification de textes, dialogue, etc.)

Des sessions pratiques en Pytorch complètent les cours magistraux.

Pré-requis :

  • Compétences en python
  • Compréhension des concepts de base de l'apprentissage automatique tels que : régression logistique, fonction de perte, optimisation par descente de gradient.
Inférence bayésienne (Maths)
Bayesian statistics
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Judith Rousseau
Le cours couvre différents aspects des statistiques bayésiennes en mettant l'accent sur les propriétés théoriques des estimateurs bayésiens. Le cours commence par une introduction à la théorie de la décision bayésienne, de l'estimation ponctuelle aux régions crédibles, en passant par les tests et la sélection de modèles, ainsi que quelques notions sur l'inférence prédictive bayésienne. La deuxième partie couvrira les résultats les plus importants concernant l'asymptotique bayésienne. Partie I. Théorie de la décision bayésienne : une introduction
  • Loi a priori / loi a posteriori, risques et estimateurs bayésiens.
  • Régions crédibles.
  • Sélection de modèles et tests.
Partie II : Asymptotique bayésienne ; dans cette partie, on considérera les modèles bien comme mal spécifiés.
  • Loi a posteriori asymptotique : dans cette partie, nous étudierons la normalité asymptotique de la loi a posteriori, la pénalisation induite par l'a priori et le théorème de Bernstein von - Mises ; les modèles réguliers et non réguliers seront traités.
  • Vraisemblance marginale et cohérence des facteurs de Bayes / approches de sélection de modèles.
  • Méthodes bayésiennes empiriques.
  • Bootstrap bayésien.
  • Convergence et vitesse de concentration a posteriori. Cette partie couvrira d'abord le cas des fonctions de perte dites statistiques en utilisant la théorie initiée par L. Schwartz et développée par Ghosal et Van der Vaart.
Bibliographie
  • C. P. Robert (2021). The Bayesian Choice.
  • S. Ghosal et A. van der Vaart (2017) : Fundamentals of Bayesian Nonparametrics.
  • A. van der Vaart (1998) : Asymptotic Statistics.
Statistiques en grande dimension (Maths)
High-dimensional statistics
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Vincent Rivoirard
L'objectif de ce cours est de traiter des problèmes statistiques où les données étudiées sont de haute dimension, ce qui signifie que le nombre de paramètres à déduire est très grand et, dans certaines situations, beaucoup plus grand que le nombre d'observations. Dans ce cours, nous présenterons différents cadres statistiques adaptés au paradigme de haute dimension, les problèmes statistiques qui se posent et les méthodologies spécifiques pour les résoudre. Plus précisément, pour des modèles de régression simples ou pour des modèles plus élaborés modélisant des données fonctionnelles, nous considérerons des méthodes basées sur des critères pénalisés (AIC, BIC, Ridge...), avec un accent particulier sur les approches de type Lasso et leurs variations. Les techniques de seuillage par ondelettes et les approches FDR pour les tests multiples seront également au cœur de ce cours. Enfin, le cours comprend une introduction aux statistiques pour les données fonctionnelles, qui est une branche des statistiques qui étudie les données qui peuvent être modélisées comme des courbes aléatoires.

Prérequis pour ce cours :

  • statistiques
  • probabilité
  • algèbre linéaire et analyse fonctionnelle (analyse de Fourier, espaces de Sobolev, etc.)
Transport optimal (Maths)
Optimal transport
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Gabriel Peyré
Le transport optimal (OT) est une théorie mathématique clé qui relie l'optimisation, les équations différentielles partielles et les probabilités. Il fournit un cadre robuste pour comparer les distributions de probabilité et a récemment gagné en importance en tant qu'outil polyvalent pour relever un large éventail de défis en apprentissage automatique, en particulier dans le contexte de l'apprentissage et de l'évaluation des modèles génératifs. Ce cours explore les concepts mathématiques de base de l'OT, ainsi que les avancées récentes dans la résolution numérique de problèmes de transport optimal. Un accent particulier sera mis sur les approches régularisées modernes, qui sont cruciales pour aborder les tâches d'apprentissage en grande dimension. Le matériel de cours, y compris un manuel concis, des diapositives de cours et des ressources informatiques, est disponible en ligne à l'adresse optimaltransport.github.io. Sujets abordés :
  • Formulation de Monge et théorème de Brenier
  • Applications aux distributions 1-D et gaussiennes
  • Formulation de Kantorovich, programmation linéaire et théorème de Birkhoff-von Neumann
  • Propriétés métriques d'OT : convergence en loi et théorème de la limite centrale
  • Flux de gradient de Wasserstein et modèles de diffusion
  • Régularisation entropique et malédiction de la dimensionnalité

Options

Méthodes de Monte Carlo par chaînes de Markov
Computational statistics and Markov Chain Monte Carlo methods
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Christian Robert

Ce cours couvre la plupart des principes de la simulation bayésienne, c'est-à-dire, les méthodes utilisées pour approximer les distributions a posteriori bayésiennes par des algorithmes de simulation pseudo-aléatoires. Bien que le cours nécessite de coder pour mettre en œuvre de les méthodes, l'essentiel du contenu est basé sur les mathématiques et exploite les propriétés des chaînes de Markov.

  • Introduction à la simulation bayésienne
  • Génération de variables aléatoires
  • Intégration de Monte Carlo
  • Optimisation de Monte Carlo
  • Chaînes de Markov
  • L'algorithme de Metropolis-Hastings
  • Echantillonneurs de Gibbs à deux étapes et à plusieurs étapes
  • Modèles à dimension variable et algorithmes à sauts réversibles
  • Méthodes de simulation basées sur les diffusions et autres extensions en temps continu
  • L'échantillonnage d'importance itéré et séquentiel
  • Calcul bayésien approximatif
Référence : Robert, C.P., et Casella, G. (2004) Monte Carlo Statistical Methods, Springer
Semaine intensive PSL (Data@PSL)
PSL Intensive week (Data@PSL)
ECTS
2 crédits
URL du cours
https://data-psl.github.io/intensive-week/
Responsable(s)
Alexandre Allauzen
Apprentissage automatique avancé
Advanced machine learning
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Yann Chevaleyre

Ce module axé sur la recherche se concentrera sur certains thèmes avancés de l'apprentissage automatique, notamment

  • Algorithmes d'apprentissage en ligne
  • Pertes et algorithmes au-delà de la classification
  • Méthodes variationnelles pour l'apprentissage automatique génératif

L'évaluation consiste en une présentation individuelle d'un article de recherche sur l'un des sujets du cours.

Études de cas bayésiennes
Bayesian case studies
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Julien Stoehr
Nous mettrons en pratique des modèles classiques d'inférence statistique dans un cadre bayésien et implémenterons des méthodes computationnelles. À partir de données réelles, nous étudierons divers modèles tels que la régression linéaire, les modèles de capture-recapture et un modèle hiérarchique. Nous aborderons les questions de construction et de validation de modèles, l'impact du choix des a priori, ainsi que le choix de modèles via les facteurs de Bayes. L'implémentation utilisera plusieurs algorithmes : les méthodes MCMC (Monte Carlo par Chaîne de Markov), l'échantillonnage d'importance et les méthodes ABC (Approximate Bayesian Computation). Le cours est basé sur l'utilisation du logiciel libre R. Une grande partie du cours est consacrée à la programmation. Les étudiants doivent apporter leur propre ordinateur portable, sur lequel R doit être installé avant la première séance. Il est recommandé d'installer également RStudio (gratuit). Référence: Bayesian Essentials with R, JM Marin & CP Robert, Springer, 2013
Apprentissage bayésien
Bayesian machine learning
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Guillaume Kon Kam King
Ce cours avancé explore deux domaines essentiels des méthodologies bayésiennes modernes : Les méthodes non-paramétriques bayésiennes et l'apprentissage profond bayésien. Les étudiants étudieront les concepts fondamentaux tels que le processus de Dirichlet, les modèles de mélanges infinis et les processus gaussiens, ainsi que leurs applications pour le clustering, la régression et la classification. Le cours met également l'accent sur l'importance de quantifier l'incertitude dans l'apprentissage profond et présente l'approche bayésienne pour ce faire, couvrant les lois a priori pour les réseaux neuronaux, les méthodes d'inférence a posteriori, et des idées récentes telles que les martingale posterioris. L'évaluation comprend un séminaire étudiant et des devoirs pour consolider la compréhension. Les prérequis incluent une base solide en statistique bayésienne et une familiarité avec les méthodes de Monte Carlo par chaîne de Markov. Ce cours fournit aux étudiants des outils de pointe pour développer leur expertise dans les approches statistiques et l'apprentissage automatique bayésien.

Méthodes non-paramétriques bayésiennes

  • Processus de Dirichlet
  • Modèles de mélanges infinis
  • Échantillonnage a posteriori
  • Modèles au-delà du processus de Dirichlet
  • Processus gaussiens
  • Applications sélectionnées
Apprentissage profond bayésien
  • Pourquoi voulons-nous l'incertitude des paramètres ?
  • Loi a priori pour les réseaux neuronaux bayésiens
  • Inférence a posteriori
  • Martingale posterioris et inférence bayésienne généralisée
Choix social computationnel
Computational social choice
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Jérôme Lang Dominik Peters

L'objectif de ce cours est de donner une vue d'ensemble des problèmes, des techniques et des applications du choix social computationnel, un sujet multidisciplinaire au croisement de l'informatique (en particulier l'intelligence artificielle, la recherche opérationnelle, l'informatique théorique, les systèmes multi-agents, la logique computationnelle, la science du web) et de l'économie. Le cours propose des outils pour analyser de problèmes découlant de l'agrégation des préférences d'un groupe d'agents d'un point de vue informatique. D'une part, il s'agit d'appliquer les techniques développées en informatique, telles que l'analyse de la complexité ou la conception d'algorithmes, à l'étude des mécanismes de choix social, tels que les procédures de vote ou les algorithmes de partage équitable. D'autre part, le choix social computationnel s'intéresse à l'importation de concepts de la théorie du choix social en informatique. Par exemple, les ordres liés au bien-être social, développés à l'origine pour analyser la qualité des allocations de ressources dans la société humaine, sont tout aussi bien applicables aux problèmes des systèmes multi-agents ou à la conception de réseaux. Le cours se concentrera sur les aspects normatifs, les aspects informatiques et les applications du monde réel (y compris certaines études de cas).

Programme :
1. Introduction au choix social.
2. Calcul des règles de vote et des fonctions d'agrégation des préférences. Application à l'agrégation des classements de pages web.
3. Questions stratégiques : manipulation, contrôle, analyses théoriques du vote. Brève introduction à la conception de mécanismes algorithmiques.
4. Agrégation des préférences sur des domaines combinatoires.
5. Questions de communication dans le vote : vote avec des préférences incomplètes, protocoles d'élicitation, complexité de la communication, mécanismes à faible communication.
6. Partage équitable de biens indivisibles.
7. Algorithmes de découpage de gâteau.
8. Appariement en fonction des préférences.
9. Formation de coalitions.
10. Applications spécifiques et études de cas (variant chaque année) : répartition des loyers, affectation des écoles, systèmes de recommandation de groupe...

Lectures recommandées :
Handbook of Computational Social Choice (F. Brandt, V. Conitzer, U. Endriss, J. Lang, A. Procaccia, eds.), Cambridge University Press, 2016.
Algorithmics of Matching Under Preferences (D. Manlove), World Scientific, 2013.

Cours de sciences des données au Collège de France
Data science lectures at Collège de France
Nombre d'heures
24h
ECTS
4 crédits
URL du cours
https://www.college-de-france.fr/fr/chaire/stephane-mallat-sciences-des-donnees-chaire-statutaire/events
Responsable(s)
Stéphane Mallat

Traiter des données pour valider une hypothèse ou estimer des paramètres est longtemps resté du ressort exclusif des statistiques. Cependant, l’augmentation de leur dimension a fait exploser la combinatoire des possibles. Cette malédiction de la dimensionalité est une difficulté centrale de l’analyse de données, que ce soit des images, sons, textes, ou des mesures expérimentales comme en physique, biologie ou économie. Modéliser et représenter les structures cachées des données fait appel à diverses branches des mathématiques, mais aussi à l’informatique. Les algorithmes d’apprentissage statistique, comme les réseaux de neurones, sont configurés pour optimiser l’analyse des données à partir d’exemples. Ils sont à l’origine des résultats spectaculaires de l’intelligence artificielle. Les applications scientifiques, industrielles et sociétales sont considérables, et leurs performances progressent bien plus vite que notre maîtrise de leurs propriétés mathématiques.

La chaire de Stéphane Mallat au Collège de France propose un enseignement de mathématiques appliquées, qui tente de combler le fossé entre la jungle des nouveaux développements algorithmiques et la compréhension des principes généraux sous-jacents. Les applications couvrent tous les aspects du traitement du signal et de l’apprentissage statistique. Au-delà des statistiques et des probabilités, cela fait appel à l’analyse harmonique, à l’optimisation et à la géométrie. L’étude d’applications et de nouveaux algorithmes est proposée dans le cadre de challenges de données, qui sont organisés par la chaire.

La thématique du cours est renouvelée chaque année et les cours ont lieu partiellement en français (au Collège de France). En 2027, la thématique du cours sera "Modèles de diffusion et multiéchelles en intelligence artificielle".

Réduction de dimension et apprentissage sur variétés
Dimension reduction and manifold learning
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Eddie Aamari
L'apprentissage automatique moderne traite généralement des données en grande haute dimension. Les domaines concernés sont très variés et comprennent la génomique, les images, les textes, les séries chronologiques ou même les données socio-économiques où de plus en plus de caractéristiques non structurées sont régulièrement collectées. En contrepartie de cette tendance à l'exhaustivité, la compréhension de ces données pose des défis en termes de ressources informatiques et de compréhensibilité humaine. L'apprentissage sur variétés désigne une famille de méthodes visant à réduire la dimension des données tout en préservant certaines de leurs caractéristiques géométriques et structurelles. Il est largement utilisé dans l'apprentissage automatique et les sciences expérimentales pour compresser, visualiser et interpréter les données à haute dimension. Ce cours fournira une vue d'ensemble de la méthodologie du domaine, tout en se concentrant sur les aspects mathématiques sous-jacents aux techniques utilisées dans la pratique. Prérequis : algèbre linéaire, théorie des probabilités de base, statistiques, codage Python. Sujets abordés :
  • La malédiction de la dimensionnalité, les variétés et les dimensions intrinsèques
  • Mise à l'échelle multidimensionnelle
  • Réduction linéaire de la dimension (projections aléatoires, analyse en composantes principales)
  • Méthodes spectrales non linéaires (ACP à noyau, ISOMAP, MVU, cartes propres du laplacien)
  • Méthodes ad hoc de préservation de la distance (cartes de diffusion, LLE)
  • Réduction probabiliste de la dimension et regroupement (SNE, UMAP)
  • Réduction de la dimensionnalité basée sur les réseaux de neurones
Bibliographie :
  • Ghojogh, B., M. Crowley, F. Karray, and A. Ghodsi (2023). Elements of dimensionality reduction and manifold learning
  • Lee, J. A., M. Verleysen, et al. (2007). Nonlinear dimensionality reduction
Systèmes dynamiques en apprentissage automatique
Dynamical systems in machine learning
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Arthur Pellegrino

De l'identification de systèmes à l'analyse des dynamiques d'optimisation dans les réseaux de neurones, les systèmes dynamiques basés sur des équations différentielles sont devenus centraux dans l'apprentissage automatique moderne. Dans ce cours, nous montrerons comment la théorie des systèmes dynamiques sous-tend les approches récentes en apprentissage automatique.

Nous commencerons par introduire de manière rigoureuse les concepts fondamentaux des équations différentielles et des systèmes dynamiques. Nous appliquerons ensuite ces concepts à plusieurs domaines de l'apprentissage automatique, notamment l'inférence des systèmes dynamiques, la modélisation générative et la théorie de l'apprentissage des réseaux profonds. Tout au long du cours, nous illustrerons l'utilité de ces concepts dans le cadre de l'IA pour la science, à travers des applications en biologie et en physique.

À la fin du cours, les étudiants disposeront des compétences théoriques et pratiques nécessaires pour utiliser les outils des systèmes dynamiques utilisés en apprentissage automatique.

Sujets mathématiques :

  • Révision des équations différentielles ordinaires (EDO) et stochastiques (EDS), y compris les solutions exactes et les schémas d'approximation numérique
  • Systèmes dynamiques, stabilité linéaire, identifiabilité et comportement à long terme
  • Dynamiques non linéaires et opérateurs de Koopman

Applications en apprentissage automatique :

  • Inférence de dynamiques latentes à partir de données temporelles de haute dimension (NeuralODEs, SINDy, Mamba)
  • Modèles de diffusion et de flux pour les modèles génératifs de séries temporelles (Autorégression, TimeGrad, EDS latentes)
  • Dynamiques d'apprentissage dans la limite en temps continu (flux de gradient stochastique, régularisation implicite)

Prérequis :

  • Algèbre linéaire, calcul multivarié et probabilités avancées
  • Maîtrise de Jax ou PyTorch
Évolution et apprentissage en ligne dans les jeux
Evolution and online learning in games
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Yannick Viossat

Ce cours s'intéresse à deux sujets étroitement liés : l'évolution des comportements au sein de grandes populations d'agents interagissant stratégiquement, et le résultat d'algorithmes d'apprentissage quand plusieurs agents interagissent de manière répétée. Le langage naturel pour étudier ces questions est celui de la théorie des jeux, c'est à dire de la prise de décision dans des situations d'interaction.

Le cours rappelle pour commencer les bases de théorie de jeux dont nous aurons besoin (aucune connaissance préalable de la théorie des jeux n'est requise). Il introduit ensuite des dynamiques de jeux d'évolution (dynamique des réplicateurs, de meilleure réponse, de Smith, de projection) et quelques algorithmes d'apprentissage en ligne (algorithme du jeu fictif, des poids exponentiels, du gradient projeté). Nous étudierons les liens entre le comportement à long terme de ces processus, et des concepts de solutions classiques en théorie des jeux, comme les équilibres de Nash ou l'élimination des stratégies dominées. Nous nous intéresserons également aux liens entre les comportements asymptotiques de certains de ces processus.

Dans un second temps, nous introduirons les notions de regret externe et interne, et des algorithmes d'apprentissage liés à ces notions. Nous nous demanderons quelles dynamiques ou algorithmes d'apprentissage conduisent à l'absence de regret à long terme, et examinerons les liens entre non-regret et des concepts de solution comme les équilibres corrélés et les équilibres corrélés faibles. En cours de route, nous discuterons d'applications aux réseaux antagonistes génératifs, au routage du trafic dans des réseaux, aux algorithmes de prédiction, et aux enchères en ligne.

Références bibliographiques

  • Nicolò Cesa-Bianchi and Gábor Lugosi, Prediction, learning, and games, Cambridge University Press, 2006.
  • William Sandholm, Population games and evolutionary dynamics, MIT Press, 2010.
  • Sergiu Hart and Andreu Mas-Colell, Simple adaptive strategies: from regret matching to uncoupled dynamics, World Scientific Series in Economic Theory – Volume 4, World Scientific Publishing, 2013.
  • Vianney Perchet, Approachability, regret and calibration: implications and equivalences, Journal of Dynamics and Games 1 (2014), no. 2, 181–254.
  • Shai Shalev-Shwartz, Online learning and online convex optimization, Foundations and Trends in Machine Learning 4 (2011), no. 2, 107–194.
Analyse de graphes
Graph analytics
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Daniela Grigori

L'objectif de ce cours est de donner aux étudiants une vue d'ensemble du domaine de l'analyse des graphes massifs. Comme les graphes constituent un type de données complexe et expressif, nous avons besoin de méthodes pour représenter les graphes dans les bases de données, les manipuler, les interroger, les analyser et les exploiter. Les applications liées aux graphes sont très diverses et nécessitent des algorithmes spécifiques (analyse des liens, détection des communautés, regroupement des graphes, similarité des graphes, ...). De plus, la prise en compte des structures relationnelles sous-jacentes des données modélisées sous forme de graphes peut améliorer les tâches d'apprentissage automatique.
Le cours présente de nouvelles façons de modéliser, stocker, extraire, exploiter et analyser les données structurées sous forme de graphes, ainsi que quelques exemples d'applications.
Des sessions de TP sont incluses pour permettre aux étudiants de pratiquer l'analyse des graphes : modéliser un problème dans une base de données de graphes et effectuer des tâches analytiques sur le graphe d'une manière évolutive.

Programme

1. Introduction à la gestion et à l'exploitation des graphes
2. Bases de données de graphes - Neo4J
3. Langage de requête pour les graphes - Cypher
4. Cadres de traitement des graphes (Pregel, GraphX, ...)
5. Algorithmes pour les graphes : analyse des liens, détection des communautés, regroupement des graphes, ...
6. Apprentissage automatique avec les graphes : réseaux neuronaux graphiques
7. Applications des graphes : analyse des graphes de réseaux sociaux, exploitation des journaux, détection des fraudes, ...

Références

Ian Robinson, Jim Weber, Emil Eifrem, Graph Databases, Editeur : O'Reilly (4 juin 2013), ISBN-10 : 1449356265
Grzegorz Malewicz, Matthew H. Austern, Aart J.C Bik, James C. Dehnert, Ilan Horn, Naty Leiser, et Grzegorz Czajkowski. 2010. Pregel : a system for large-scale graph processing, SIGMOD '10, ACM, New York, NY, USA, 135-146.
Xin, Reynold & Crankshaw, Daniel & Dave, Ankur & Gonzalez, Joseph & J. Franklin, Michael & Stoica, Ion. (2014). GraphX : Unifying Data-Parallel and Graph-Parallel Analytics.
Michael S. Malak et Robin East, Spark GraphX in Action, Manning, juin 2016.

Introduction à l'inférence causale
Introduction to causal inference
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Fabrice Rossi
Ce cours est une introduction à l'inférence causale. Il couvre à la fois le cadre des résultats potentiels de Neyman-Rubin et le do-calcul de Pearl. Le premier est utilisé pour introduire le problème fondamental de l'inférence causale et la notion de dépendance contrefactuelle. Les hypothèses fondamentales nécessaires à l'identification causale des effets moyens du traitement sont présentées : échangeabilité (conditionnelle), positivité et cohérence. L'estimation basée sur des modèles linéaires généralisés et sur des approches d'apprentissage automatique est explorée, y compris l'approche d'apprentissage automatique double. La deuxième partie du cours couvre le do-calcul de Pearl. Le cours introduit les modèles graphiques, en mettant l'accent sur les modèles dirigés, suivis par les modèles structurels de causalité. Le cas markovien simple est utilisé pour relier ce cadre à celui des résultats potentiels et pour dériver des techniques classiques telles que le critère de la porte dérobée. Le cas semi-markovien est ensuite exploré comme la manière générale de représenter les hypothèses causales en présence de variables confondantes non observées. L'identification est revisitée à la lumière du do-calcul et de l'algorithme IDC. La dernière partie du cours passe en revue les algorithmes de découverte causale et les questions de recherche ouvertes.
Graphes de connaissance, logiques de description, raisonnement sur les données
Knowledge graphs, description logics, reasoning on data
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Michaël Thomazo

Les graphes de connaissances sont un outil flexible pour représenter les connaissances acquises concernant le monde réel. Après avoir présenté quelques-uns des graphes de connaissances existants (tels que DBPedia, Wikidata ou Yago), nous nous concentrerons sur leur interaction avec la sémantique, qui est formalisée par l'utilisation de ce que l'on appelle les ontologies. Nous présentons ensuite quelques formalismes logiques centraux utilisés pour exprimer les ontologies, tels que les logiques de description et les règles existentielles. Une grande partie du cours sera consacrée à l'étude des tâches de raisonnement associées, avec un accent particulier sur l'interrogation d'un graphe de connaissances à travers une ontologie. Les aspects théoriques (tels que le compromis entre l'expressivité du langage ontologique et la complexité des tâches de raisonnement) et pratiques (algorithmes efficaces) seront pris en compte.

Programme :
1. Graphes de connaissances (histoire et utilisations)
2. Langages ontologiques (logiques de description, règles existentielles)
3. Tâches de raisonnement (cohérence, classification, réponse aux requêtes ontologiques)
4. Réponse aux requêtes ontologiques (chaînage avant et arrière, décidabilité et complexité, algorithmes, sujets avancés)

Références :
- The description logic handbook : theory, implementation, and applications. Baader et al, Cambridge University Press
- Foundations of Semantic Web Technologies, Hitzler et al, Chapman&Hall/CRC
- Web Data Management, Abiteboul et al, Cambridge University Press

Prérequis :
- logique du premier ordre ;
- notions de théorie de la complexité (machines de Turing, classes de complexité classiques).

Grands modèles de langage pour le code et la preuve
LLM for code and proof
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Marc Lelarge

Les avancées récentes dans le domaine des grands modèles de langage (LLM) ont permis des progrès remarquables dans la synthèse de programme et la génération de code. Ce cours explore les fondements et les méthodologies qui sous-tendent la génération de code moderne, avec un accent particulier mis sur les techniques utilisant des LLM et les architectures basées sur les transformeurs. Le cours a deux objectifs principaux : (1) fournir aux étudiants une compréhension approfondie des techniques de base pour l'entraînement et le réglage fin des modèles neuronaux pour la génération de code, y compris les stratégies d'inférence et les métriques d'évaluation spécifiques au code, et (2) présenter la recherche actuelle sur la synthèse de programmes, en soulignant les applications dans le génie logiciel, le raisonnement, et la vérification formelle.

Les sujets abordés sont les suivants :

  • Architectures de transformeurs, mécanismes d'attention et KV-cache pour une inférence efficace.
  • Stratégies de tokenisation pour les ensembles de données linguistiques et codées.
  • Techniques de réglage fin telles que LoRA pour l'adaptation à des tâches spécifiques.
  • Lois de mise à l'échelle pour optimiser les performances du LLM.
  • Stratégies de décodage pour la génération de code, y compris les méthodes basées sur l'échantillonnage et les méthodes gourmandes.
  • Génération augmentée par recherche d'information (RAG) pour l'incorporation de connaissances externes.
  • Techniques de génération structurée pour les résultats soumis à des contraintes syntaxiques.
  • Applications des LLM à la vérification formelle et à la démonstration automatisée de théorèmes.

A la fin du cours, les étudiants auront acquis des connaissances théoriques et une expérience pratique dans la construction et l'évaluation de modèles neuronaux pour la génération de code.

Apprentissage automatique sur Big Data
Machine learning on big data
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Dario Colazzo

Ce cours se concentre sur les aspects typiques et fondamentaux qui doivent être traités dans la conception d'algorithmes d'apprentissage automatique qui peuvent être exécutés de manière distribuée, typiquement sur des clusters Hadoop, afin de traiter des ensembles de données volumineux, en tenant compte de l'évolutivité et de la robustesse. Le cours se concentrera donc d'abord sur un ensemble d'algorithmes d'apprentissage automatique séquentiels, en prenant en compte les aspects cruciaux et complexes suivants. Le premier est la refonte des algorithmes en s'appuyant sur des paradigmes de programmation pour la distribution et le parallélisme basés sur map-reduce (par exemple, Spark, Flink, ....). Le deuxième aspect est l'analyse expérimentale de l'implémentation basée sur map-reduce afin de tester l'évolutivité et la précision des algorithmes. Le troisième aspect concerne l'étude et l'application de techniques d'optimisation afin de surmonter le manque d'évolutivité et d'améliorer le temps d'exécution des algorithmes.

L'attention sera portée sur les techniques d'apprentissage automatique pour la réduction des dimensions, le regroupement et la classification, dont les techniques de mise en œuvre sous-jacentes sont transversales et trouvent une application dans un large éventail d'autres algorithmes d'apprentissage automatique. Pour certains des algorithmes étudiés, le cours présentera des techniques pour une implémentation map-reduce à partir de zéro, tandis que pour d'autres algorithmes, des packages comme Spark ML seront utilisés et des pipelines de bout en bout seront conçus. Dans les deux cas, les algorithmes seront analysés et optimisés sur des ensembles de données réelles.

Références:
- Mining of Massive Datasets http://www.mmds.org
- High Performance Spark; Best Practices for Scaling and Optimizing Apache Spark, Holden Karau, Rachel Warren, O’Reilly

Méthodes à noyau pour l'apprentissage
Machine learning with kernel methods
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Julien Mairal

De nombreux problèmes rencontrés dans les applications de l'apprentissage automatique peuvent être formalisés comme des problèmes statistiques classiques, par exemple la reconnaissance de formes, la régression ou la réduction des dimensions, avec la difficulté de devoir travailler sur des données qui ne sont pas des vecteurs de nombres. Par exemple, les séquences et les structures de protéines en biologie informatique, les textes et les documents XML dans l'exploration du web, les images segmentées dans le traitement des images, ou les séries temporelles dans la reconnaissance vocale et la finance, ont des structures particulières qui contiennent des informations pertinentes pour le problème statistique, mais qui peuvent difficilement être encodées dans des représentations vectorielles à dimensions finies.

Les méthodes à noyau constituent une classe d'algorithmes bien adaptés à ces problèmes. En effet, elles étendent l'applicabilité de nombreuses méthodes statistiques initialement conçues pour les vecteurs à pratiquement n'importe quel type de données, sans qu'il soit nécessaire de vectoriser explicitement les données. Le prix à payer pour cette extension aux données non vectorielles est la nécessité de définir une fonction noyau définie positive entre les objets, ce qui équivaut formellement à une vectorisation implicite des données. La conception de noyaux pour différents objets a connu d'importantes avancées ces dernières années, aboutissant à de nombreux algorithmes et à des applications réussies dans de nombreux domaines

L'objectif de ce cours est de présenter les fondements mathématiques des méthodes de noyaux, ainsi que les principales approches qui ont émergé jusqu'à présent dans la conception de noyaux. Nous commencerons par une présentation de la théorie des noyaux définis positifs et des espaces de Hilbert à noyaux reproductibles, ce qui nous permettra d'introduire plusieurs méthodes à noyaux, notamment l'analyse en composantes principales à noyaux et les machines à vecteurs de support. Nous reviendrons ensuite sur le problème de la définition du noyau. Nous présenterons les principaux résultats concernant les noyaux de Mercer et les noyaux de semigroupes, ainsi que quelques exemples de noyaux pour les chaînes de caractères et les graphes, tirés d'applications en biologie informatique, en traitement de texte et en analyse d'images. Enfin, nous aborderons des sujets de recherche active, tels que les méthodes de noyaux à grande échelle et les machines à noyaux profonds.

Mathématiques de l'apprentissage profond
Mathematics of deep learning
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Bruno Loureiro
The past decade has witnessed a surge in the development and adoption of deep learning algorithms to solve day-a-day computational tasks. Surprisingly, the modern deep learning practice defies some of the established textbook intuition provided by traditional statistical learning theory and convex optimisation. For example, deep networks defy the classical bias-variance tradeoff by generalising and interpolating at the same time, and descent-based methods are successfully employed in the optimisation of highly non-convex objectives. These empirical observations translate to exciting theoretical challenges which require new mathematical ideas.

The goal of this course is two-fold. First, to familiarise the student with some of the major mathematical challenges posed by modern machine learning, as well as current research topics in theoretical machine learning. Second, to give an overview of some of the progress made over the past few years in understanding some of these problems. For example, we will cover:

  • Universal approximation theorems for neural networks.
  • The curse of dimensionality.
  • The lazy limit of large-width networks and the neural tangent kernel.
  • Introduction to random matrix theory tools for machine learning.
  • The double descent phenomena and benign overfitting.
  • Implicit bias of GD/SGD.
Recherche Monte-Carlo et jeux
Monte-Carlo search and games
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Tristan Cazenave

La recherche Monte-Carlo a révolutionné la programmation des jeux. Elle se combine bien avec le Deep Learning pour créer des systèmes qui jouent mieux que les meilleurs joueurs humains à des jeux comme le Go, les Echecs, le Hex ou le Shogi. Elle permet aussi d’approcher des problèmes d’optimisation difficiles. Dans ce cours nous traiterons des différents algorithmes de recherche Monte-Carlo comme UCT, GRAVE ou le Monte-Carlo imbriqué et l’apprentissage de politique de playouts. Nous verrons aussi comment combiner recherche Monte-Carlo et apprentissage profond. Le cours sera validé par un projet portant sur un jeu ou un problème d’optimisation difficile.

Bibliographie
Intelligence Artificielle Une Approche Ludique, Tristan Cazenave, Editions Ellipses, 2011.

Nuages de points et modélisation 3D
Point clouds and 3D modeling
Nombre d'heures
26h
ECTS
4 crédits
Responsable(s)
Jean-Emmanuel Deschaud

Ce cours donne un panorama des concepts et techniques d’acquisition, de traitement et de visualisation des nuages de points 3D, et de leurs fondements mathématiques et algorithmiques. Le cours abord notamment les thème suivants :

Systèmes de perception 3D
Traitements et opérateurs
Recalage
Segmentation de nuages de points
Reconstruction de courbes et surfaces
Modélisation par primitives
Rendu de nuages de points et maillages
Certaines séances sont complétées d’un TP.

Apprentissage pour la robotique
Robot learning
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Stéphane Caron

L'application de l'apprentissage automatique à la robotique a entraîné une expansion massive du domaine depuis le début des années 2020. On peut ainsi voir aujourd'hui des robots humanoïdes exécuter des acrobaties, des quadrupèdes traverser dynamiquement des terrains accidentés, ou des bras robotiques plier des vêtements (manipulation fine) en réponse à des instructions parlées.

L'objectif principal de ce cours est de présenter les techniques récentes qui ont permis ces avancées. Nous aborderons l'apprentissage par renforcement appliqué au mouvement robotique, dans ses variantes model-free (on-policy, off-policy) et model-based, l'apprentissage par imitation, l'adaptation de domaine pour le transfert simulation-réalité, ainsi que les modèles génératifs de vision-langage-action (VLA).

Le cours se déroulera en huit sessions de trois heures, chacune consacrée à un sujet précis. Plusieurs sessions incluront des démonstrations avec des robots réels, mettant en lumière les performances ainsi que les limites des méthodes étudiées. Des travaux pratiques approfondis complèteront les cours magistraux : l'ambition est d'amener les étudiants à une maîtrise opérationnelle des techniques abordées, ce qui suppose un investissement personnel soutenu.

Apprentissage de confiance
Trustworthy machine learning
Nombre d'heures
24h
ECTS
4 crédits
Responsable(s)
Edwige Cyffers Nicolas Schreuder
Le terme d'apprentissage automatique de confiance fait référence à l'étude des systèmes d'apprentissage automatique qui sont non seulement techniquement efficaces, mais aussi socialement responsables et acceptables pour les utilisateurs. L'objectif est de s'assurer que ces systèmes sont dignes de confiance pour les utilisateurs en relevant des défis clés tels que :
  • Protection de la vie privée : Protéger les données des utilisateurs et se conformer aux réglementations en matière de protection de la vie privée.
  • Robustesse : Assurer la résilience contre les attaques malveillantes et les données aberrantes.
  • Equité : Traiter tous les utilisateurs et tous les groupes de manière équitable, en évitant les préjugés.
Une partie importante du cours portera sur le cadre de la confidentialité différentielle (DP), qui est devenu, au cours de la dernière décennie, une référence pour le respect de la confidentialité des utilisateurs lors du traitement des données. Par une utilisation bien calibrée de perturbations aléatoires apportées lors de l'apprentissage, la DP vise à atteindre un compromis entre la protection des caractéristiques individuelles et l'utilité des modèles appris.

Le reste du cours explorera les modèles et concepts clés en matière de robustesse et d'équité.

S'appuyant sur les concepts d'apprentissage automatique du premier semestre et sur les probabilités et statistiques de base, le cours combine des cours magistraux, des séances d'exercices et des TPs en Python. La validation se fait par des devoirs et la soutenance d'un projet de groupe effectué autour d'un article de recherche.

Stage

Stage de recherche IASD
IASD research internship
ECTS
10 crédits