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 quatre cours communs et trois cours spécifiques à chaque parcours. À la fin du premier semestre, les étudiants choisissent six 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
- 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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Francis Bach
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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Clément Royer
Ce cours porte sur le développement d'algorithmes d'optimisation pour les tâches d'apprentissage, et consistera à la fois en des cours magistraux et des sessions pratiques en Python. Le cours commencera par une introduction aux différentes formulations des problèmes posés par l'apprentissage automatique et l'apprentissage profond, ainsi qu'un rappel des concepts mathématiques clés (algèbre linéaire, convexité, lissage). Le cours décrira ensuite les principaux algorithmes d'optimisation en science des données (descente de gradient, gradient stochastique) et leurs propriétés théoriques. Enfin, le cours se concentrera sur les défis posés par l'implémentation de ces méthodes dans un environnement de deep learning et de grande échelle (différenciation automatique, calculs distribués, régularisation).
Références :
L. Bottou, F. E. Curtis et J. Nocedal. Optimization Methods for Large-Scale Machine Learning. SIAM Review, 2018.
S. J. Wright et B. Recht. Optimization for Data Analysis. Cambridge University Press, 2022.
- 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
- Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto, Second Edition, MIT Press, 2018 http://incompleteideas.net/book/the-book.html
- Bandit Algorithms, Tor Lattimore and Csaba Szepesvári, Cambridge University Press, 2020 https://banditalgs.com/
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Pierre Senellart
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
- 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
- Transformateurs 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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- 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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Judith Rousseau
- Loi a priori / loi a posteriori, risques et estimateurs bayésiens.
- Régions crédibles.
- Sélection de modèles et tests.
- 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.
- Cohérence postérieure et taux de convergence postérieure. Cette partie couvrira d'abord le cas des fonctions de perte statistiques en utilisant la théorie initiée par L. Schwartz et développée par Ghosal et Van der Vaart.
- 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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Vincent Rivoirard
Prérequis pour ce cours :
- statistiques
- probabilité
- algèbre linéaire et analyse fonctionnelle (analyse de Fourier, espaces de Sobolev, etc.)
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Gabriel Peyré
- 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
- 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
- ECTS
- 2 crédits
- URL du cours
- https://data-psl.github.io/intensive-week/
- Responsable(s)
- Alexandre Allauzen
- 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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Guillaume Kon Kam King
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
- 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
- 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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Eddie Aamari
- 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
- 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
- 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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Guillaume Vigeral
Ce cours se concentrere sur le comportement des algorithmes d'apprentissage lorsque plusieurs agents sont en compétition les uns contre les autres : en particulier, que se passe-t-il lorsqu'un agent qui suit un algorithme d'apprentissage en ligne interagit avec un autre agent qui fait de même ? Le langage naturel pour formuler de telles questions est celui de la théorie des jeux, et le cours commencera par une brève introduction au sujet, comme les jeux de forme normale (en particulier les jeux à somme nulle, potentiels et stables), les concepts de solution (comme les stratégies dominées/rationalisables, les notions d'équilibre de Nash, corrélé et grossier, ESS), et quelques extensions (approche de Blackwell). Par la suite, nous examinerons le comportement à long terme d'une grande variété d'algorithmes d'apprentissage en ligne (jeu fictif, appariement des regrets, poids multiplicatifs/exponentiels, descente en miroir et ses variantes, etc.), et nous discuterons des applications aux réseaux adversariaux génératifs (GAN), au routage du trafic, à la prédiction et aux enchères en ligne.
Références bibliographiques
[1] Nicolò Cesa-Bianchi et Gábor Lugosi, Prediction, learning, and games, Cambridge University Press, 2006.
[2] Drew Fudenberg et David K. Levine, The theory of learning in games, Economic learning and social evolution, vol. 2, MIT Press, Cambridge, MA, 1998.
[3] Sergiu Hart et Andreu Mas-Colell, Simple adaptive strategies : from regret matching to uncoupled dynamics, World Scientific Series in Economic Theory - Volume 4, World Scientific Publishing, 2013.
[4] Vianney Perchet, Approachability, regret and calibration : implications and equivalences, Journal of Dynamics and Games 1 (2014), no 2, 181-254.
[5] Shai Shalev-Shwartz, Online learning and online convex optimization, Foundations and Trends in Machine Learning 4 (2011), no 2, 107-194.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Fabrice Rossi
- 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).
- 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.
- 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
- 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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Bruno Loureiro
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.
- 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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Irène Waldspurger
Un problème inverse est un problème dont l'objectif est de retrouver un objet inconnu (typiquement un vecteur avec des coordonnées réelles, ou une matrice), étant donné quelques "mesures" de cet objet, et éventuellement quelques informations sur sa structure. Dans ce cours, nous discuterons d'exemples de tels problèmes, motivés par des applications aussi diverses que l'imagerie médicale, l'optique et l'apprentissage automatique. Nous nous concentrerons en particulier sur les questions suivantes :
- quels algorithmes pouvons-nous utiliser pour résoudre numériquement ces problèmes ?
- quand et comment pouvons-nous prouver que les solutions obtenues par les algorithmes sont correctes ? Ces questions sont relativement bien comprises pour les problèmes inverses convexes, mais le cours portera essentiellement sur les problèmes inverses non convexes, dont l'étude est beaucoup plus récente et constitue un sujet de recherche très actif.
Le cours se situera à l'interface entre l'analyse réelle, les statistiques et l'optimisation. Il comprendra des exercices théoriques et de programmation.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Paul Boniol
Le but de ce cours est de passer en revue les technologies de gestion de données qui peuvent être utilisées pour gérer de grands volume de données, au-delà des systèmes de gestion de base de données relationnelles classiques. Ces systèmes, regroupés de manière générique sous l'appellation « NoSQL », regroupent en réalité des approches très hétérogènes : modèles de données différents (par exemple, basés sur des représentation sous forme XML, graphe ou de triplets), compromis différents pour assurer un passage à l'échelle (avec en particulier abandon de propriétés ACID), distribution des données sur un très grand ensemble de nœuds, etc. Il s'agira de présenter les choix de technologies et les problématiques de recherche de certains de ces systèmes, et de comprendre dans quelles situations ils sont utiles.
- Nombre d'heures
- 26h
- ECTS
- 4 crédits
- Responsable(s)
- François Goulette
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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Olivier Cappé
- 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.
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
- ECTS
- 10 crédits