
Machine learning avancé
Objectifs pédagogiques
Cet enseignement a pour objectif de former les étudiants à l’apprentissage statistique, avec un focus sur l’apprentissage par renforcement et l’apprentissage profond, que ce soit au travers des réseaux convolutionnels ou des réseaux récurrents.
Connaissances et compétences acquises par l’étudiant à l’issue de l’enseignement
A l’issue de cet enseignement, les étudiants auront une compréhension avancée des concepts théoriques et méthodologiques qui sous-tendent les modèles d’apprentissage abordés pendant le cours.
Ils pourront mettre en œuvre cette connaissance pour :
- concevoir, implémenter, et apprendre des architectures adaptées à un problème spécifique
- optimiser et évaluer leur performance
Contenu de l’enseignement
C/TP (4h) – Introduction à l’apprentissage machine
C/TP (4h) – Introduction aux réseaux de neurones (descente de gradient, différentiation automatique), présentation des librairies dédiées à l’apprentissage profond (PyTorch, TensorFlow…).
C/TP (4h) – Apprentissage par renforcement tabulaire
C/TP (4h) – Introduction à l’apprentissage profond, optimisation & régularisation
C/TP (4h) – Réseaux convolutionnels
C/TP (4h) – Réseaux récurrents (RNN, LSTM, Transformers)
C/TP (2x4h) - Compression de réseaux
C/TP (6h) – Modélisation générative
L'ensemble des cours magistraux nécessitent l'exécution et la modification d'implémentations sous forme de notebooks. Les étudiants doivent impérativement apporter leur machine avec les environnements et librairies installées comme décrits dans le guide d'installation en début de semestre.
Projet (20h) - Réimplémentation et reproduction des résultats de l'algorithme issu de l'un des articles proposés.
Rédaction d'un rapport, maintien d'un dépôt de versionnage de code, présentation sous forme de courte vidéo, et soutenance orale.
Examen (2h)
Prérequis
Le suivi de l’UE « Machine Learning » du M1 ISI (ou équivalent) est fortement recommandé.
Les étudiants doivent avoir de solides bases en :
- Mathématiques (calcul, algèbre linéaire, analyse fonctionnelle et vectorielle)
- Probabilités, traitement des signaux aléatoires
- Programmation Python