Détails des UEs de M1
Introduction à la science des données (M1)
Objectifs de l’UE
L’objectif principal de l’UE est de sensibiliser et familiariser l’étudiant avec les idées, les algorithmes, les protocoles de base de la science de données.
Nous y traiterons ainsi des approches incontournables pour visualiser les données, réduire leurs dimensions, les analyser par des approches de regroupement et de régression, et les utiliser pour établir des modèles prédictifs (classification). Pour environner ces approches dans un cadre expérimental, nous parcourrons les principales métriques d’évaluation des estimations faites et leurs modes de calcul ; ceci permettra de définir des cadres expérimentaux cohérents pour la mise en oeuvre de sélection automatique de modèles.
La plupart des concepts abordés seront illustrés sur la base de données artificielles et de données réelles.
A l’issue de cette UE, tout étudiant sera en capacité de réaliser un chaîne complète de visualisation et traitements de données en avec des méthodes simples.
Programme détaillé
Chapitre 1 : Visualiser les données (ACP, résumés statistiques type histogrammes), principes de normalisation et de standardisation.
Chapitre 2 : Le regroupement de données (clustering) : méthode des k-moyennes, méthodes hiérarchiques, impact du choix de la distance, découverte de la notion de stabilité
Chapitre 3 : La prédiction par régression (linéaire et polynomiale), introduction à la causalité
Chapitre 4 : Critères de performances (erreur, précision, ROC, etc.) et modes d’estimation (hold-out, validation croisée). Principes de la sélection de modèles. Définir un protocole expérimental solide.
Chapitre 5 : La classification à travers les méthodes (a) des k plus proches voisins, et (b) des arbres de décision ; étude de l’impact des hyper-paramètres
Les TP et TD seront des ateliers de pratique du cours, à partir de données benchmark de l’UCI pour se familiariser avec les concepts de la science des données. Ils seront réalisés en python, en se familiarisant avec les packages numpy, sklearn, et pandas. A partir du 3ème TD/TP, un projet sera travaillé sur des données visuelles (images numérisées).
Équipe enseignante
Cécile Capponi (responsable)
Hachem Kadri
Thomas Schatz
Introduction au traitement automatique des langues (M1)
Objectifs de l’UE
Le but de ce cours est de familiariser les étudiants avec les représentations vectorielles et avec les modèles de séquence pour le traitement automatique du langage naturel (TAL). À l’issue de ce cours, un étudiant doit maîtriser ce modèle et être capable de l’appliquer à des tâches d’étiquetage de séquences telles que la traduction automatique.
Programme détaillé
Les séances TP permettent de réaliser le projet de manière incrémentale. À l’issue du dernier TP, les étudiants auront implémenté un traducteur automatique mot-à-mot fondé sur un modèle d’étiquetage de séquences (HMM). Le contenu des CM et des TD permet d’acquérir les notions théoriques nécessaires à la réalisation du projet.
Séance 1 – Représentation de textes
CM+TD: Encodage de textes, tokénisation, word embeddings, opérations vectorielles
TP: tokénisation de textes
Séance 2 – Modèles à n-grammes
CM+TD: Rappel probabilités, estimation de probabilités pour chaînes de markov
TP: Apprentissage d’un modèle de n-grammes à partir d’un texte
Séance 3 – Modèles d’étiquetage de séquences
CM+TD: Estimation de probabilités pour HMM, algorithme forward, perplexité
TP: Calcul de la perplexité
Séance 4 – Décodage avec modèles de markov
CM+TD: log-probabilités, algorithme de Viterbi
TP: Traduction automatique avec décodage Viterbi
Séance 5 – Alignement lexical
CM+TD: apprentissage d’alignements sur données incomplètes (algorithme EM)
TP: Alignement lexical de corpus parallèles pour la traduction
Équipe enseignante
Frédéric Béchet (responsable)
Alexis Nasr
Introduction à l’apprentissage artificiel (M1)
Objectifs de l’UE
L’apprentissage artificiel (ou automatique) est une discipline à l’intersection entre la science des données et l’intelligence artificiel. Nous introduisons cette discipline aujourd’hui majeure par le biais de la notion de classification. L’objectif est que les étudiants se familiarisent avec la plupart des concepts et résultats majeurs de la classification supervisée, qui sont essentiels pour aborder d’autres cadres de l’apprentissage artificiel. Une introduction au cadre statistique de l’apprentissage sera présentée, dans l’objectif que la propriété essentielle de généralisation soit acquise et contextualisée. Sur cette base, les approches de classification linéaire (SVM et perceptron) seront traitées — avec une extension vers les méthodes non-linéaire via la notion de fonction noyau –. Le focus sur les SVM permettra notamment de sensibiliser les étudiants à la notion de régularisation, majeure en apprentissage artificiel. Enfin, la classification supervisée sera abordée à travers l’étude d’ensemble de classifieurs (modèles additifs de classification et bootstraping).
Programme détaillé
- Chapitre 1. Les fondamentaux de l’apprentissage artificiel (propriétés d’un échantillon, minimisation du risque, généralisation, espace d’hypothèse, biais et variance des estimateurs, règle majoritaire et règle de Bayes) : définition formelle du cas de le la classification supervisée
- Chapitre 2. Classification supervisée linéaire : perceptron et SVM
- Chapitre 3. Classification supervisée non-linéaire : perceptron et SVM à noyaux, principe de la régularisation
- Chapitre 4. Méthodes ensemblistes (bagging, boosting)
Les TP et TD seront des ateliers de pratique du cours, à partir de données artificielles (contrôlées) et réelles, avec visualisation des effets de la transformation des données par méthodes à noyaux. Un effort de programmation d’algorithmes d’apprentissage en python sera notamment demandé. Très rapidement, nous proposerons la participation des étudiants à un challenge de la plate-forme ENS Challenge Data, sur des données réelles et difficiles, par exemple le challenge Reminiz.
Bibliographie:
Apprentissage Artificiel (A. Cornuéjols, L. Miclet, 2ème édition, Eyrolles)
Équipe enseignante
Cécile Capponi (responsable)
Modélisation et résolution pour la décision (M1)
Objectifs de l’UE
Les formalismes CSP (Problème de Satisfaction de Contraintes) et SAT (problème de satisfiabilité en logique propositionnelle) permettent d’exprimer aisément des problèmes de décision en mettant en relation des variables à l’aide de contraintes ou de clauses.
Ils offrent un cadre relativement puissant permettant de représenter de nombreux problèmes industriels et académiques (problème d’allocation de fréquence, ordonnancement, cryptographie, bioinformatique, etc.) tout en disposant d’outils efficaces (solveurs) pour leur résolution.
Pour chaque formalisme, l’étudiant devra appréhender les techniques de résolution et surtout être capable de modéliser de nouveaux problèmes. Différentes modélisations étant envisageables, il devra être en mesure d’orienter ses choix en tenant compte des spécificités des solveurs employés.
Programme détaillé
Plan du cours :
- Cours 1 / TD 1 (5h) : CSP (formalisme et résolution)
- Cours 2 / TD 2 (5h) : SAT (formalisme et résolution)
Équipe enseignante
Djamal Habet
Cyril Terrioux
Méthodes numériques pour l’informatique (M1)
Objectifs de l’UE
L’objectif de ce cours est de donner les bases mathématiques nécessaires pour suivre les cours des parcours IMD? , Géométrie Informatique Graphique (GIG) et Intelligence Artificielle et Apprentissage Automatique (IAAA). Les différentes notions seront abordées à la fois par leurs aspects théoriques et pratiques. En prenant comme base commune l’algèbre linéaire, ce cours présentera des notions de calculs vectoriels et matriciels, les bases pour la résolution de systèmes d’équations linéaires pour aller vers l’optimisation numérique…
Programme détaillé
Le cours se décompose en trois parties :
- Rappel d’algèbre linéaire (vecteurs, matrices), espace de Hilbert, normes, distances, calcul matriciel, matrices classiques (rotation, permutation…), fonctions (gradient, dérivé).
- Résolution de systèmes d’équations linéaires, méthode de Newton, méthode du gradient conjugué, méthode des moindres carrés.
- Optimisation non-linéaire, descente de gradient, KKT, contraintes
Les cours seront accompagnés de TD et TP où seront proposés des exemples concrets des notions et méthodes présentées. Les TP seront effectués en Python.
Équipe enseignante
Valentin Emyia
Alexandra Bac
Détails des UEs de M2
Maths pour l’intelligence artificielle (M2)
Objectifs de l’UE
L’objectif de cette enseignement est de compléter la formation suivie en M1 informatique pour s’assurer que les étudiants possèdent le bagage mathématiques minimal nécessaire pour une utilisation maîtrisée des outils de l’apprentissage automatique.
Programme détaillé
- Optimisation continue
- Rappel : fonctions lisses, non convexes, sans contraintes
- Fonctions lisses, non convexes, avec contraintes
- Fonctions lisses, convexes, avec ou sans contraintes (et dualité)
- Ouverture vers le cas des fonctions non-lisses (convexes ou non, avec ou sans contraintes)
- Probabilités et statistique
- Calcul probabiliste et estimateur du maximum de vraisemblance
- Biais, variance et risque d’un estimateur
- Algèbre linéaire
- Interprétations des opérations matricielles
- Décomposition en valeurs singulières et application à l’étude de la régression linéaire
Équipe enseignante
Thomas Schatz
Science des données (M2)
Objectifs de l’UE
L’objectif de ce cours est de former les étudiants à pouvoir répondre à une compétition Kaggle quelle qu’elle soit avec des méthodes avancées de machine learning. Le cours dresse un panorama avancé de l’apprentissage automatique qu’il s’agisse des paradigmes d’apprentissage (supervisé, non supervisé, semi-supervisé, actif, transductif…), des tâches (classification, régression, ranking, metric learning, prédiction structurée, classification multilabel, multi-instances ou multitaches) ou des méthodes.
Programme détaillé
1. Rappels et généralités
- Contexte et enjeux
- Introduction à l’apprentissage automatique supervisé
- Mise au point d’un système par apprentissage automatique (évaluation, Grid-Search, Validation croisée)
2. Panorama des méthodes de classification supervisée
- kPPV, Arbres de décision
- SVM et méthodes à noyaux
- Régression logistique
3. Généralisation
- Minimisation du risque structurel
- Borne de généralisation
- Sélection de variables
4. Apprentissage et données sociales
- Filtrage collaboratif, recommandation et ranking
- Inférence dans les graphes (réseaux sociaux)
5. Apprentissage non supervisé
- Clustering et méthodes à variables latentes (LSA, LDA, Topic models, etc)
6. Autres cadres d’apprentissage
- Apprentissage semi-supervisé et transductif
- Adaptation de domaine et transfert
- Few shot learning
Équipe enseignante
Thierry Artières (responsable)
Hachem Kadri
Valentin Emiya
Traitement du langage naturel et linguistique (M2)
Objectifs de l’UE
Le traitement automatique du langage naturel est à la confluence de nombreuses disciplines, dont la linguistique, l’apprentissage automatique, l’intelligence artificielle…
L’objectif de cette UE est de présenter d’une part un certain nombre de tâches linguistiques, tel que l’analyse morphologique, syntaxique, sémantique et discursive et, d’autre part, la manière de les formaliser dans le but de les automatiser. On mettra en particulier l’accent sur la prédiction d’arbres et de graphes qui sont utilisées pour l’analyse syntaxique et sémantique.
Programme détaillé
- Représentation des structures syntaxiques, sémantiques et discursive pour le langage naturel.
- Prédiction de structures par exploration complète de l’espace de recherche
- Prédiction gloutonne de structures
Bibliographie:
- Dependency Parsing, Sandra Kübler, Ryan McDonald, Joakim Nivre, Morgan Claypool, 2009
- Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition, Daniel Jurafsky, James Martin, Pearson Intrernational Edition, 2008
Équipe enseignante
Alexis Nasr (responsable)
Deep learning (M2)
Objectifs de l’UE
Le deep learning a permis des avancées majeures pour des problèmes difficiles tels que des tâches de perception (vision, audition), de traitement de la langue (traduction…). Cette technologie envahit de nombreux champs applicatifs est est intégrée dans des systèmes industriels chez de multiples acteurs y compris les plus grands (Google, Microsoft, Amazon, Facebook, etc). L’objectif du cours est de former les étudiants à l’utilisation de toolkits de deep learning et à la conception de systèmes basés sur des architectures classiques, autoencodeurs, réseaux convolutionnels, réseaux récurrents, et des idées récentes telles que les embeddings, l’adversarial learning, les mécanismes d’attention…
Programme détaillé
- Introduction aux réseaux de neurones
o Perceptrons multicouches et Autoencodeurs
o Stratégies de régularisation : L1, L2, Parcimonie, Dropout
- Architectures convolutionnelles
o Convolution temporelle et spatiale, couches de dilatation
o Hiérarchie de représentations. Visualisation des filtres
o Généricité des représentations apprises
- Optimisation de modèles profonds
o Algorithmes d’optimisation et variantes (SGD, Adam, Adagrad, RMSprop…), Local et Batch Normalization
o Augmentation des données
o Grid Searching
- Modèles à mémoire et mécanismes d’attention
o Memory networks, end-to-end memory networks
o Mécanismes d’attention
- Adversarial Learning
o GANs, Adversarial Autoencoders et Variational Autoencoders
o Variantes conditionnelles: CGANs, ICGANs, Cyclyc GANS etc
- Architectures très profondes et conception de systèmes
o Présentation des architectures très profondes : Vgg, Highway Networks, ResNets, Networks
o Réutilisation d’architectures existantes pour la conception d’applications
Au cours des TPs un travail en équipe sera réalisé sur des compétitions Kaggle. Au choix (à actualiser en fonction des compétitions du moment): Plant Seedlings Classification, Dog Breed Identification, ImageNet Object Detection Challenge)
Équipe enseignante
Thierry Artières
Stéphane Ayache
Ronan Sicre
Modélisation et résolution pour l’optimisation (M2)
Objectifs de l’UE
Cette UE fait suite à l’UE Modélisation et résolution pour la décision du M1.
Parmi les problèmes réels, les problèmes d’optimisation sont en général plus fréquents que les problèmes de décision. De plus, leur résolution est souvent plus difficile que celle des problèmes de décision associés et nécessite des techniques de résolution adaptés.
Les formalismes à base de contraintes, comme COP (Problème d’Optimisation sous Contraintes), WCSP (CSP Pondérés), et Max-SAT (Satisfiabilité maximum), permettent d’exprimer aisément des problèmes d’optimisation en mettant en relation des variables à l’aide de contraintes ou de clauses.
Ils offrent un cadre relativement puissant permettant de représenter de nombreux problèmes industriels et académiques (problème d’allocation de fréquence, ordonnancement, cryptographie, bioinformatique, etc.) tout en disposant d’outils efficaces (solveurs) pour leur résolution.
Pour chaque formalisme, l’étudiant devra appréhender les techniques de résolution et surtout être capable de modéliser de nouveaux problèmes. Différentes modélisations étant envisageables, il devra être en mesure d’orienter ses choix en tenant compte des spécificités des solveurs employés.
Programme détaillé
Plan du cours :
- Cours 1 / TD 1 (2h) : COP (formalisme et résolution)
- Cours 2 / TD 2 (3h) : WCSP (formalisme et résolution)
- Cours 3 / TD 3 (5h) : Max-SAT (formalisme et résolution)
Équipe enseignante
Cyril Terrioux (responsable)
Djamal Habet
Méthodologie (M2)
Objectifs de l’UE
Ce cours porte sur la méthodologie, les pratiques, les conventions et les pièges à éviter en science des données et machine learning (ML). Le parti pris est de s’appuyer sur des exemples concrets, pour ensuite aborder des notions plus abstraites de méthodologie scientifique, afin de (a) rendre agréable le thème de la méthodologie, souvent considéré comme mineur ou ennuyeux, (b) justifier l’importance des notions abstraites, et (c) s’entraîner sur des compétences pratiques utiles et essentielles (p.ex. lors du stage de fin de master).
Programme détaillé
- Conception d’une expérience : question scientifique, pertinence et justification, bibliographie, lecture critique d’articles
- Création de jeux de données : sélection de données, annotation de données, accord inter-annotateur/ice, biais dans les jeux de données
- Environnement expérimental (détails importants) : instabilité des modèles, reproductibilité vs. réplicabilité, hyper-paramétrage, RGPD, aspects éthiques
- Analyse de résultats d’un modèle : métriques d’évaluation, comparaison de systèmes, significativité statistique, test d’hypothèses paramétriques et non paramétriques, p-value
Équipe enseignante
Carlos Ramisch (responsable)
Apprentissage par renforcement (option M2)
Objectifs de l’UE
Décrire ici l’état dans lequel on veut que l’étudiant soit après avoir suivi l’UE : ce que l’on veut lui faire comprendre, qu’il sache faire à la fin de l’UE.
L’objectif de cet UE est de fournir à l’étudiant les bases de l’apprentissage par renforcement. Les thématiques abordées seront : algorithmes de bandit, Monte Carlo Tree Search, TD-learning. Le TP et le TD seront consacrés à la réalisation d’un projet : programme de jeu de réflexion, pilotage de voiture, commande de robot.
Programme détaillé
Plan du cours
- Multi-armed bandits — algorithme UCB
- Multi-armed bandits — algorithme Thompson Sampling
- Monte Carlo Tree search
- Markov Decision process
- TD Learning
Travail en binôme sur des projets.
Bibliographie (disponibles en ligne)
- Reinforcement Learning: An Introduction, by Richard S. Sutton and Andrew G. Barto
- Algorithms for Reinforcement learning, by Csaba Szepesvari
Équipe enseignante
Valentin Emiya (responsable)
Signal, Apprentissage et Multimédia (option M2)
Objectifs de l’UE
Cette UE fournit un bagage minimal de connaissances et compétences sur le traitement des données séquentielles telles que les signaux audio, les images, les vidéos. Elle s’adresse à un public d’informaticiens ayant vocation à traiter ces types de données et n’ayant pas suivi une formation de traitement des signaux, images et vidéo en mathématiques. Les objectifs sont:
- d’acquérir des connaissances et compétences de base ainsi qu’une expérience dans le traitement des données multimédia (audio, image, vidéo) et les tâches d’apprentissage associées
- de prendre du recul sur des problèmes et méthodes génériques aux différentes modalités, considérées comme des séquences, afin de pouvoir transférer ces approches d’un domaine à l’autre
Programme détaillé
Les notions seront introduites et illustrées de façon à favoriser d’une part une compréhension intuitive et d’autre part un formalisme approprié pour une utilisation pratique (programmation, expérimentation), en minimisant les pré-requis mathématiques nécessaires.
Plan :
- Bases d’échantillonnage et de temps-fréquence (6h environ): définition, théorème d’échantillonnage de Shannon, notion de repliement spectral, exemples dans les images et les sons.
- Notions de filtrage et de convolution (6h environ) : formulation, interprétation fréquentielle, exemples de filtres (lissage, dérivation, etc.) et d’application aux images et aux sons, lien avec les couches convolutives des réseaux de neurones
- Segmentation des images et des signaux audio, extraction de caractéristiques (MFCC, etc.), notions de perception (6h environ)
- Une application parmi plusieurs possibilités (9h environ):
- Reconnaissance (ou synthèse) de la parole : élaboration d’un système de reconnaissance de phonème à partir de MFCC par réseaux de neurones
- Voice activity detection, détection parole/musique/silence, classification de genres musicaux
- Bandwidth extension en audio / Super-résolution dans les images
- Cross-modalité: espace de représentation cross-modaux ou traduction d’une modalité en une autre.
Équipe enseignante
Valentin Emiya
Leonor Becerra-Bonache
Prédictions structurées pour le traitement automatique du langage (option M2)
Objectifs de l’UE
Ce cours introduit des modèles, algorithmes, ressources et outils pour la résolution de problèmes structurés en traitement automatique des langues (TAL), en particulier à l’aide de méthodes d’apprentissage profond (deep learning).
Programme détaillé
- Introduction aux tâches et à la modélisation des problèmes structurés en TAL, notamment pour l’étiquetage de séquences
- Programmation pytorch avancée pour des tâches complexes (modules, batches, …)
- Modèles de markov cachés et algorithme de Viterbi, avec application à l’étiquetage et à la segmentation de textes
- Modélisation du vocabulaire via des informations sous-lexicales, p.ex. à l’aide de modèles RNN ou convolution 1D sur les caractères
- Usage de modèles de langage pré-entraînésà base de transformeurs (p.ex. BERT) pour la prédiction structurée, embeddings contextuels, fine-tuning
- Analyse syntaxique probabiliste avec/sans grammaire (p.ex. PCFG, transitions, graphes)
Équipe enseignante
Carlos Ramisch (responsable)
Ce cours a été adapté à partir du cours PSTALN par Benoit Favre :
https://pageperso.lis-lab.fr/benoit.favre/pstaln/
Raisonnement automatique en milieu industriel (option M2)
Objectifs de l’UE
Expliquer le schéma général de conception d’un système d’aide à la décision. L’illustrer à travers des cas concrets ayant déjà été mis en oeuvre en milieu industriel.
Programme détaillé
Après avoir défini ce qu’est un système d’aide à la décision et quels sont ses composants, on expliquera comment choisir les composants en fonction du type de données qu’il faut traiter.
Ensuite, différents industriels interviendront pour présenter des cas concrets sur lesquels ils ont travaillé. Ils présenteront des problèmes industriels et étudieront comment ils ont été modélisés et résolus.
Prérequis : l’UE “Modélisation et résolution pour la décision”.
Équipe enseignante
Nicolas Prcovic (responsable)
Intervenants industriels
Théorie de l’apprentissage et statistique non paramétrique (option M2)
Objectifs de l’UE
Ce cours présente les concepts fondamentaux de l’apprentissage automatique, y compris la description et l’analyse de plusieurs algorithmes modernes, leur base théorique et l’illustration de leurs applications. Le cours abordera les notions suivantes : capacité de généralisation, complexité de Rademacher, stabilité algorithmique, SVM, méthodes à noyau, parcimonie, online-learning.
Programme détaillé
Plan (Cours au Tableau et TD sur machine) :
Cours 1 : Introduction générale – Concepts et algorithmes (2h)
Cours 2 : Complexité de Rademacher et VC-dimension (2h)
Cours 3 : SVM et méthodes à noyau (2h)
Cours 4 : Stabilité (2h)
Cours 5 : Parcimonie (2h)
Cours 6: Apprentissage en ligne (2h)
TD 1 : Classification binaire (3h)
TD 2 : Classification multi-class (3h)
TD 3 : Régression et parcimonie (2h)
TD 4 : Apprentissage en ligne (2h)
TD 5 : TD noté et présentation d’articles
Référence :
Mohri, Mehryar, Afshin Rostamizadeh, and Ameet Talwalkar. Foundations of machine learning. MIT press, 2012.
Équipe enseignante
Hachem Kadri (responsable)
François-Xavier Dupé
Introduction aux Sciences Cognitives (option M2)
Objectifs de l’UE
L’objectif principal de l’UE est de fournir aux étudiants une connaissance approfondie de l’histoire de cette discipline scientifique récente dénommé “Sciences cognitives”, de son objet d’étude (la cognition humaine), de l’évolution des hypothèses sur la nature/ architecture cognitive sous-tendant l’esprit humain (cybernétique, cognitiviste-symbolique, connexionniste-sub-symbolique, incarnée, ancrée) ainsi que des grandes questions débattues au cours de cette évolution (par exemple, l’esprit humain utilise-t-il des symboles ? des représentations ?). Pour faciliter la compréhension de questions scientifiques quelquefois ardues, des exemples concrets issus d’études sur le langage seront étudiés, un des domaines phares dans l’évolution du cadre théorique des sciences cognitives.
Programme détaillé
Plan du cours
- Qu’est-ce que les Sciences Cognitives ?
- Les conceptions de l’architecture de l’esprit humain
- L’exemple de l’étude du langage
Bibliographie
- Andler, D. (éd 2004). Introduction aux sciences cognitives. Gallimard.
- Fodor, J. (1986). La modularité de l’esprit. Les éditions de Minuit.
Équipe enseignante
Pascale Colé
Langage et Cognition (option M2)
Objectifs de l’UE
A venir
Programme détaillé
A venir
Introduction à la Neurobiologie (option M2)
Objectifs de l’UE
Ce cours a pour but de donner des bases de neurobiologie et neurophysiologie.
Programme détaillé
- L’organisation générale du système nerveux
- Les signaux électriques des cellules nerveuses
- La transmission synaptique et les neurotransmetteurs
- Les bases des systèmes sensoriels et moteurs
Équipe enseignante
Laurence Casini
Franck Chaillan