But du cours
Approfondir et consolider les compétences en science des données en abordant des méthodes d'analyse avancées et leurs applications concrètes dans des domaines variés. S'appuyant sur les acquis de l'apprentissage automatique et de l'apprentissage profond, ce cours met l'accent sur la maîtrise de l'ensemble du cycle de vie d'un projet data — de la collecte et du prétraitement des données jusqu'à l'interprétation des résultats et leur mise en production — en intégrant les enjeux d'éthique, de reproductibilité et d'explicabilité des modèles.
Acquis d'apprentissage visés
- Concevoir et piloter un projet d’analyse de données complet en mobilisant les méthodes adaptées à la nature du problème, au volume et à la qualité des données disponibles
- Appliquer des méthodes avancées de traitement et d’analyse des données tabulaires, temporelles, textuelles et multimédia (images, signaux) en sélectionnant et en justifiant les choix méthodologiques
- Évaluer rigoureusement les performances d’un modèle d’analyse de données, diagnostiquer ses limites et proposer des améliorations argumentées
- Assurer la reproductibilité, la traçabilité et la maintenabilité d’un pipeline d’analyse de données en appliquant les bonnes pratiques de MLOps (versionnement, tests, documentation)
- Interpréter et expliquer les résultats d’un modèle complexe à l’aide de méthodes d’explicabilité (SHAP, LIME, Grad-CAM) et les restituer de façon claire à un public technique ou non technique
- Intégrer les dimensions éthiques et réglementaires dans la conception d’un système d’analyse de données : biais algorithmiques, équité, conformité RGPD et RIA
Prérequis
- DAT801 - Apprentissage profond (S8) : architectures CNN, RNN, LSTM, mécanismes d’optimisation, frameworks TensorFlow/PyTorch — prérequis direct et indispensable pour l’ensemble du cours.
- DAT701 - Apprentissage automatique (S7) : algorithmes supervisés et non supervisés, évaluation des modèles, pipelines scikit-learn.
- DAT701 - Système de données massives (S7) : architectures distribuées, Spark — nécessaires pour les pipelines de traitement à grande échelle.
- Fouille de données (S6) : prétraitement, extraction de motifs, introduction au clustering.
- SHS704 - Droit et Éthique en Ingénierie Informatique (S7) : RGPD, RIA, biais algorithmiques — mobilisés dans le volet éthique et conformité du cours.
- Compétences transversales attendues :
- Programmation Python avancée : numpy, pandas, scikit-learn, PyTorch ou TensorFlow
- Maîtrise de Git et des outils de versionnement de code et de données
- Notions de conteneurisation (Docker) et de déploiement d’applications
- Capacité à lire et synthétiser des articles de recherche en anglais
- Sens de la rigueur scientifique : reproductibilité, documentation, évaluation objective
Programme
- Cycle de vie d’un projet data et bonnes pratiques :
- Cadrage d’un projet data : définition des objectifs, identification des données, faisabilité.
- Gestion du cycle de vie des données : collecte, stockage, versionnement, gouvernance.
- Reproductibilité et traçabilité : MLflow, DVC, gestion des expériences.
- Bonnes pratiques de développement : tests unitaires, documentation, CI/CD pour les projets data.
- Prétraitement avancé et ingénierie des features :
- Gestion des données manquantes, aberrantes et déséquilibrées : stratégies avancées (SMOTE, imputation multiple).
- Sélection et construction de features : méthodes filtre, wrapper et embarquées.
- Encodage des variables catégorielles à haute cardinalité ; normalisation et standardisation adaptatives.
- Augmentation des données pour les images, le texte et les séries temporelles.
- Analyse de données temporelles et signaux :
- Caractérisation et décomposition de séries temporelles : tendance, saisonnalité, résidus.
- Modèles classiques : ARIMA, SARIMA, Prophet.
- Approches deep learning pour les séries temporelles : LSTM, Temporal Convolutional Networks (TCN), Transformers temporels.
- Détection d’anomalies dans les séries temporelles.
- Analyse de signaux : transformée de Fourier, spectrogrammes, ondelettes.
- Traitement du langage naturel (NLP) :
- Représentation du texte : sac de mots, TF-IDF, plongements de mots (Word2Vec, GloVe, FastText).
- Modèles de séquences pour le NLP : RNN, LSTM, mécanisme d’attention.
- Transformers et modèles de langage pré-entraînés : BERT, CamemBERT, GPT — fine-tuning sur tâches spécifiques.
- Applications : classification de texte, analyse de sentiment, extraction d’information, résumé automatique.
- Analyse de données multimédia (images et signaux) :
- Rappels sur les CNN ; architectures avancées : EfficientNet, ViT (Vision Transformer).
- Détection et segmentation d’objets : YOLO, Mask R-CNN.
- Apprentissage par transfert et few-shot learning pour les données multimédia.
- Analyse de données audio : extraction de caractéristiques (MFCC), classification de sons, reconnaissance vocale.
- Explicabilité et interprétabilité des modèles (XAI) :
- Enjeux de la boîte noire en apprentissage profond ; notion d’explainable AI (XAI).
- Méthodes locales : LIME, SHAP (SHapley Additive exPlanations).
- Méthodes globales : importance des features, diagrammes de dépendance partielle (PDP).
- Visualisation des décisions dans les CNN : Grad-CAM, cartes d’activation.
- Éthique, biais et conformité réglementaire :
- Sources de biais dans les données et les modèles : biais de sélection, de confirmation, de représentation.
- Métriques d’équité algorithmique (fairness) : disparate impact, égalité des chances.
- Obligations réglementaires : RGPD appliqué aux systèmes d’analyse de données, classification RIA, AIPD.
- Principes de responsible AI : transparence, traçabilité, supervision humaine.
- Mise en production et déploiement (MLOps) :
- Architecture d’un système de ML en production : feature store, model registry, monitoring.
- Déploiement d’un modèle : API REST (FastAPI, Flask), conteneurisation (Docker), orchestration (Kubernetes).
- Surveillance des modèles en production : dérive des données (data drift), dégradation des performances.
- Mise à jour et réentraînement continu des modèles.
Modalités d'évaluation
Contrôles continus et travaux pratiques évalués.
Bibliographie
- Aurélien Géron - Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow - O’Reilly, 3^(e) éd., 2022
- Ian Goodfellow, Yoshua Bengio & Aaron Courville - Deep Learning - MIT Press, 2016 : <https://www.deeplearningbook.org>
- Chip Huyen - Designing Machine Learning Systems - O’Reilly, 2022
- Jacob Devlin et al. - BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding - arXiv, 2018 : <https://arxiv.org/abs/1810.04805>
- Scott Lundberg & Su-In Lee - A Unified Approach to Interpreting Model Predictions (SHAP) : <https://arxiv.org/abs/1705.07874>
- Documentation Hugging Face Transformers : <https://huggingface.co/docs/transformers>
- Documentation MLflow : <https://mlflow.org/docs/latest/>
- Documentation FastAPI : <https://fastapi.tiangolo.com>
- Papers With Code — État de l’art par tâche : <https://paperswithcode.com>
- CNIL - Recommandations sur les systèmes d’IA et le RGPD : <https://www.cnil.fr/fr/intelligence-artificielle>
Supports
Diaporamas, fiches de travaux dirigés et de travaux pratiques.