MAPSI - Modèles et algorithmes probabilistes et statistiques pour l'informatique

Cette unité d’enseignement vise à présenter les éléments de probabilités et de statistiques fondamentaux pour l’informatique. Au-delà du simple objectif d’exposer les notions classiques telles que les variables aléatoires, les moments ou les grandes familles de distributions, l’UE a pour but de montrer l’utilisation avancée de ces notions dans divers domaines de l’informatique tels que la bioinformatique, l’intelligence artificielle ou encore l’imagerie. Les techniques ainsi étudiées (chaînes de Markov, etc.) seront illustrées sur des applications provenant de ces différents domaines.

Responsable

  • Pierre-Henri Wuillemin
  • Raphaël Fournier-S’niehotta
[Lire]

PMIND - Projet MIND

Le projet MIND s’intéresse à la réalisation de bout en bout d’un projet de data science. Il s’agit d’un travail effectué en binôme sous la supervision d’un⋅e enseignant⋅e par groupe : le thème peut donc concerner n’importe quel aspect de la spécialité. Le sujet précis peut porter sur des aspects théoriques, applicatifs ou logiciels mais on veillera dans tous les cas à travailler sur des données et à mettre en œuvre un protocole expérimental. Les étudiant⋅e⋅s aborderont ainsi de façon pratique les sujets traités dans les autres cours et s’initieront à la recherche bibliographique pour réaliser un état de l’art. Dans certains cas les travaux peuvent conduire à une poursuite en stage voire même à une publication scientifique. En fin de semestre, le projet se conclut par la rédaction d’un rapport, la remise des code sources et une présentation orale.

[Lire]

IDLE - Introduction au Deep Learning

Cette UE vise à introduire les concepts fondamentaux du Deep Learning. L’objectif est que les étudiants soient capables à terme d’entraîner et manipuler des réseaux d’architectures classiques, d’analyser les courbes de coûts et la convergence de l’apprentissage, et d’utiliser pour la prédiction les modèles ainsi entraînés. Le cours passe en revue les concepts de base du Deep Learning tels que la rétro-propagation, l’apprentissage en batch et les architectures Multi-Layer Perceptron, convolutionnelles et récurrentes. Les travaux pratiques permettent aux étudiants d’appréhender une plateforme de Deep Learning telle que PyTorch et l’utilisation pratique des réseaux de neurones.

[Lire]

SAM - Stockage et Accès aux Mégadonnées

Cette UE aborde les architectures de SGBD répartis et des systèmes newSQL Les thèmes suivants sont en particulier abordés : stockage et indexation de données réparties, exécution et optimisation de requêtes réparties, réplication de données et cohérence des répliques, transactions réparties et protocoles de validation, principes des bases de données parallèles, jointures parallèles, étude pratique des systèmes Dynamo DB, BigTable, Hbase, Calvin et Oracle NOSQL KVStore.

Le planning prévu est le suivant :

  • Cours 1 index non plaçant, composés, couvrants. Arbre B+
  • TP1-2 index et persistence, index bitmap. TD: index composés
  • Cours 2 : Hachage extensible et linéaire
  • TP1-2 index et persistence, TD hachage
  • Cours 3 : a) Index ART. b) LSM Tree Store
  • TP3 LSM Tree Store, TD3: Exercice index ART avec compression de chemins. Exercice sur les BKD tree
  • Cours 4 : implémentation et coût de opérateurs de jointure, tri externe
  • TP4-5 plan d’exécution de requêtes, TD: jointure 2 entre relations
  • Cours 5 : optimisation de requêtes, sélectivité des opérateurs de sélection et jointure
  • TP4-5 plan d’exécution de requêtes, TD sur l’optim de requêtes, pseudo code des plans d’exécution
  • Cours 6 : conception de BD réparties par fragmentation
  • TP6 : ordre des jointures. TD : coût d’un plan d’exécution
  • ER1
  • Cours 7 : requêtes réparties
  • TP7 : traitement de requêtes réparties. TD: requêtes réparties.
  • Cours 8 : réplication et système Dynamo DB
  • TP8-9 : Requêtes multi sites opendata, TD requêtes réparties avec JDBC
  • Cours 9 : Transaction NewSQL et système Calvin
  • TP8-9 : Requêtes multi sites opendata, TD transactions dans Calvin
  • Cours 10: Vector Databases
  • TP10 : séance de 4h pour le TP requêtes ANN + révisions
  • ER2
[Lire]

RITAL - Recherche d’Information et Traitement Automatique du Langage naturel

Ce cours présente les grandes problématiques posées autour du traitement de texte, et plus particulièrement pour la recherche d’information et le traitement automatique du langage. L’objectif de ce cours est donc de présenter et manipuler les principaux modèles pour analyser, synthétiser, exploiter/interroger et produire des documents. La partie Traitement Automatique du Langage Naturel se concentre sur la notion de sémantique des éléments du textes (extraction de thèmes, représentations latentes et contextuelles, …). Les modèles de classification et de fouille de texte (détection de sentiments, …) ainsi que l’enrichissement des textes grâce aux bases de connaissances sont également introduits. En recherche d’information, nous abordons les techniques d’indexation et d’interrogation des documents nécessaires à la construction d’un moteur de recherche. L’évaluation des modèles textuels est également un point abordé. Pour chacune des deux parties, nous présentons les dernières avancées du domaine sous l’angle du deep learning.

[Lire]

IAMSI - Intelligence Artificielle et Manipulation Symbolique de l’Information

Ce module vise à donner aux étudiants la maîtrise de diverses techniques d’IA et de manipulation symbolique de l’information, en étudiant plusieurs formalismes et types de tâches : il présente les algorithmes SAT modernes, au cœur des solveurs utilisés dans de nombreux domaines et applications aussi bien en recherche que dans l’industrie. Après une introduction aux principes des systèmes à base de connaissances, il présente également la programmation ASP (Answer Set Programming) qui permet de résoudre déclarativement de nombreux problèmes. Il aborde ensuite les formalismes de représentation de l’action et du changement et leur usage dans le cadre du « commensense reasoning », de la causalité et de l’éthique, avant de présenter leurs applications en planification à travers des algorithmes pratiques. Ce panorama des méthodes symboliques en IA est complété par la présentation des approches d’apprentissage symbolique comme la construction de règles d’association, avec une ouverture vers des approches hybrides combinant connaissances symboliques et numériques.

[Lire]

ML - Machine Learning

Cette UE présente les concepts fondamentaux de l’apprentissage statistique et les principaux modèles et algorithmes de ces dernières décades. Le cours aborde la classification supervisée (Nadaraya-Watson, k-NN, modèles linéaires, SVMs, bagging, boosting, …), la classification non supervisée (clustering hiérarchique, spectral, réduction de dimensions, méthodes variationnelles…) et une introduction à l’apprentissage par renforcement. Il vise à donner une compréhension en profondeur du domaine autant d’un point de vue théorique que appliqué. Les bases mathématiques nécessaires à la compréhension des approches présentées sont également abordées (descente de gradient, optimisation lagrangienne, méthodes à noyaux, factorisation de matrice, …). Les travaux dirigés permettent d’appréhender et de manipuler les concepts théoriques, les travaux pratiques sont l’occasion d’implémenter les algorithmes étudiés ainsi que de les expérimenter et d’analyser leurs forces et faiblesses.. Ils permettent également de se familiariser avec les applications habituelles de l’apprentissage statistique sur différents types de données (tabulaires, structurées, séries temporelles, …).

[Lire]

LRC - Logique et Représentation des Connaissances

L’objectif de ce cours est de présenter et de comparer différents modèles de représentation logique des connaissances, en soulignant les compromis entre expressivité et coût de calcul des raisonnements associés, questions cruciales en intelligence artificielle, bases de données et web sémantique mais aussi recherche opérationnelle ou spécification de programme par exemple. Différents formalismes sont étudiés, pour différents types de données : logiques classiques et de description, logiques modales, notamment épistémique, et logiques temporelles et réseaux de Petri. Les méthodes de raisonnement associées sont mises en œuvre dans les TME, incluant des variantes de l’algorithme tableau, le langage de programmation PROLOG et des outils de manipulation des réseaux de Petri par exemple.

[Lire]

MLBDA - Modèles et Langages Bases de Données Avancées

L’objectif de ce cours est de présenter et de comparer différents modèles de données pour la représentation et l’interrogation de données complexes dans les applications modernes comme les réseaux sociaux, réseaux de capteurs, l’open data et le machine learning. En partant du modèle de données relationnelles, le cours introduit le modèle relationnel-objet avec le langage SQL99, les standards XML et JSON pour la modélisation d’informations semi-structurées et le standard RDF pour la modélisation et l’interrogation de graphes de connaissances. Les TD et TME illustrent et complètent le cours en mettant en pratique les technologies associées.

[Lire]

DALAS - DatA science, Learning and ApplicationS

L’objectif de ce cours est de présenter toutes les étapes des sciences des données qui permettent d’acquérir et traiter des données, d’extraire de l’information et d’entraîner et évaluer des modèles d’apprentissage statistiques. Nous aborderons les différents concepts autour du traitement des données (scrapping, qualité des données, analyse exploratoire des données, visualisation), du Machine Learning (apprentissage supervisé, non-supervisé), et de la restitution (dashboard, storytelling). Ce cours accorde une très grande importance aux aspects techniques et expérimentaux (interprétation, comparaison et sélection de modèles, exploitation des résultats, analyse de biais), moins aux aspects théoriques. Ce cours permet d’acquérir les outils fondamentaux et les bonnes pratiques en science des données et en apprentissage machine.

[Lire]