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
- 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)
- 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
- 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
- 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.
- 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.
- 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.
- 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.
- 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)
- Julien Stoehr
- 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
- 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".
- 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)
- 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
- 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.
- 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)
- 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
- 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.
- 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.
- Nombre d'heures
- 24h
- ECTS
- 4 crédits
- Responsable(s)
- Edwige Cyffers Nicolas Schreuder
- 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