L'objectif du cours AML est d'aider les étudiants à développer de bonnes méthodologies pour les problèmes de science des données, en particulier ceux qui impliquent l'apprentissage automatique. Il s'agit d'un cours inversé, dans lequel il n'y a pas de cours magistral : au lieu de cela, les étudiants sont directement immergés dans des sessions de laboratoire, où ils s'attaquent à un certain nombre de « défis » qui définissent un problème du monde réel impliquant des données et des prédictions ciblées.
Le concept de défi ou de concours d'apprentissage automatique est aujourd'hui largement répandu. En général, un concours implique une équipe qui coopère en vue d'une « soumission », qui prend la forme d'un ensemble de prédictions pour un ensemble de tests dont la vérité de base n'est pas divulguée aux participants. Ensuite, un système automatique calcule un classement basé sur une mesure de performance donnée, qui est utilisé pour compiler un tableau de classement, ainsi que l'attribution de badges « d'honneur » et même de prix monétaires.
Dans le cours AML, nous ne classerons pas les équipes sur la base de leur score de performance, et nous attendons plutôt une soumission de type académique. Il n'y aura pas de système de notation automatique : les groupes devront définir leur mesure de performance (ou adopter celle suggérée dans un défi) et déterminer comment tester leurs méthodes.
Modalités pédagogiques : Sessions de travaux pratiques (groupes de 2 étudiants).
Règles du Cours : La participation aux séances de travaux pratiques est obligatoire.
Livre : JAMES G., WITTEN D., HASTIE T., TIBSHIRANI R. An Introduction to Statistical Learning. Springer, 2013, 440p.
Livre : BISHOP C. Pattern Recognition and Machine Learning. Springer-Verlag, 2006, 768p.
Livre : K.P. MURPHY. Machine Learning: A probabilistic Perspective. The MIT Press, 2012
Livre : GOODFELLOW I., BENGIO Y., COURVILLE A. Deep Learning. MIT Press, 2016, 800p.
Livre : BISHOP M. C., BISHOP H., Deep learning, Springer, 2024
Ce cours allie des compétences méthodologiques et informatiques. Les étudiants doivent être à l'aise avec la programmation Python et avec les bibliothèques communes utilisées dans le contexte de la science des données et des problèmes d'apprentissage automatique. De plus, les étudiants sont supposés être à l'aise avec les méthodologies d'apprentissage automatique.
Les compétences susmentionnées sont principalement acquises dans les cours MALIS et Deep Learning. Dans ces cours, les étudiants se familiarisent avec Python, les carnets Jupyter, les bibliothèques d'apprentissage automatique telles que sk-learn, TensorFlow et PyTorch, du côté de l'informatique. En outre, les étudiants sont exposés à la plupart des concepts, méthodes et théories importants de l'apprentissage automatique. En option, le cours ASI peut apporter une touche particulière pour aborder les problèmes de manière probabiliste.
Si vous êtes inscrit au cours AML, mais que vous n'avez pas suivi MALIS, cela pourrait être très problématique. Si vous n'avez pas suivi le cours sur l'apprentissage profond, vos approches de modélisation pourraient être limitées.
Un autre prérequis pour participer à AML est d'être familier avec une plateforme de calcul hébergée dans le nuage, comme Kaggle, Google Colab, HuggingFace. Vous êtes libre d'utiliser vos propres ressources, comme un ordinateur portable personnel : bien que cela soit idéal pour le développement et la documentation, à moins que vous ne disposiez de GPU pour l'entraînement, votre puissance de calcul pourrait être limitée, au cas où vous souhaiteriez utiliser des modèles lourds.
Description
Typiquement, nous aurons 3 défis, pour lesquels vous aurez au moins 2 semaines (parfois plus) pour compléter votre travail. Au cours de ces deux semaines, vous devrez écrire du code, réaliser des expériences et préparer un rapport technique qui sera le seul élément évalué (voir l'évaluation ci-dessous).
En général, nous avons les types de défis suivants :
- Défi Vision par ordinateur (DV) : un défi DV typique traite des données d'image et de la tâche fréquente de classification. Ce défi vise à approfondir votre compréhension et à améliorer vos compétences pratiques dans l'utilisation de modèles d'apprentissage profond tels que les réseaux neuronaux convolutifs et les transformateurs de vision. En général, il s'agit de « défis simples », mais certaines « surprises » peuvent provenir des données, qui ne sont pas garanties comme étant équilibrées, propres et facilement utilisables.
- Défi d'estimation de la densité : un défi typique d'estimation de la densité traite des problèmes de détection d'anomalies, qui peuvent être appliqués à n'importe quel type de données, y compris audio, par exemple. Ce défi vise à approfondir votre compréhension et à améliorer vos compétences pratiques dans l'utilisation de modèles d'apprentissage profond tels que les autoencodeurs (variationnels) ou d'autres modèles d'estimation de la densité. Généralement, ce type de défi est plus difficile, et peut vous demander de trouver et d'étudier la littérature scientifique pertinente, pour aller au-delà des simples bases de référence que l'on peut trouver en grand nombre sur le web.
- Défi de données séquentielles : un défi de données séquentielles typique traite de la modélisation du langage, qui peut être appliquée à des problèmes tels que l'analyse des sentiments, par exemple. Ce défi vise à approfondir votre compréhension et à améliorer vos compétences pratiques dans l'utilisation de modèles d'apprentissage profond tels que les réseaux neuronaux récurrents, les réseaux de transformateurs, les modèles d'espace d'état en général. Généralement, ce type de défi est très difficile car il exige non seulement que vous vous mettiez au diapason d'une littérature scientifique en constante évolution (si vous voulez produire une solution originale au défi), mais aussi que vous soyez confronté à des problèmes de calcul. Jouer avec des modèles modernes d'apprentissage profond nécessite un GPU et de la mémoire, que vous devrez « trouver ». En particulier, les étudiants devront faire face à tous les problèmes liés aux services de GPU en ligne « gratuits » et à leurs limites. Cela s'avérera utile dans la vie réelle, car de nos jours, il est encore très fréquent que les entreprises (même les grandes !) soient sous-provisionnées en termes de moyens de calcul.
Objectifs d'apprentissage :
- Comprendre l'énoncé d'un problème de science des données et identifier les outils théoriques et la mise en œuvre algorithmique pour résoudre le problème.
- Concevoir et mettre en œuvre des méthodes logicielles « de bout en bout » pour analyser et préparer les données, utiliser les données pour apprendre un modèle statistique et utiliser le modèle pour faire des déductions ;
- Valider et évaluer la qualité d'une méthode logicielle de bout en bout pour résoudre un problème de science des données ;
- Préparer un rapport technique pour résumer votre travail et présenter les aspects les plus importants de vos résultats.
Nb heures : 21 heures
Evaluation :
Toutes les activités du cours Algorithmic Machine Learning sont notées. Il s'agit d'une forme de contrôle continu et d'évaluation des performances des étudiants. Vous devrez soumettre, en utilisant le système Moodle, un rapport résumant votre travail dans un défi donné.
Un rapport fait généralement entre 5 et 7 pages et se compose de :
- Des sections pour chaque élément que vous souhaitez illustrer à propos de votre travail. Vous avez besoin d'une introduction (pour encadrer clairement le problème que vous résolvez, et pour donner le contexte), l'analyse et la préparation des données, l'approche de modélisation, les résultats, etc... Vous pouvez vous inspirer d'un article de recherche typique produit à l'aide de LaTex.
- Chaque section doit contenir du texte, aucune section ne contenant que du code. Vous pouvez bien sûr présenter des extraits de code s'ils sont utiles pour décrire l'une de vos réalisations, mais n'oubliez pas que le code prend beaucoup de place sur une page !
- La section « Résultats » doit contenir des graphiques illustrant votre travail. Ne produisez pas des dizaines de graphiques, essayez d'être concis et de ne montrer que ce qui est pertinent
En d'autres termes, un rapport ressemble à un court article de recherche, qui est censé être lu par un public technique. Il s'agit de simuler un scénario réaliste, dans lequel un data scientist doit présenter ses résultats à l'équipe et à la hiérarchie de son entreprise.