Méthodes bayésiennes pour l'apprentissage automatique

Ref: 2EL6190

Description

Les techniques de modélisation, d’inférence et de prédiction bayésienne sont devenues courantes en apprentissage automatique (ou machine learning en anglais). Les modèles bayésiens sont utilisés en analyse de données pour décrire par l'intermédiaire de facteurs latents le processus de génération de données complexes (images médicales, audio, documents, etc.) La découverte de ces variables latentes ou cachées à partir des observations repose sur la notion de distribution de probabilité a posteriori, dont le calcul correspond à l’étape d’inférence bayésienne.

Prenons l’exemple d’une technique appelée « allocation de dirichlet latente » (de l’anglais Latent Dirichlet Allocation) ou LDA. Il s’agit d’une méthode bayésienne, permettant notamment de découvrir des thématiques cachées dans un ensemble de documents observés. Si l’on applique cette technique pour analyser un ensemble de 1102 résumés d’articles scientifiques portant sur des approches bayésiennes en machine learning, publiés dans Journal of Machine Learning Research (JMLR), il en ressort les thématiques suivantes :

Topic #1: model models data process latent bayesian dirichlet hierarchical nonparametric inference
Topic #2: features learn problem different knowledge learning image object example examples
Topic #3: method neural bayesian using linear state based kernel approach model
Topic #4: belief propagation nodes local tree posterior node nbsp given algorithm
Topic #5: learning data bayesian model training classification performance selection prediction sets
Topic #6: inference monte carlo markov sampling variational time algorithm mcmc approximate
Topic #7: function optimization algorithm optimal learning problem gradient methods bounds state
Topic #8: learning networks variables structure network bayesian em paper distribution algorithm
Topic #9: bayesian gaussian prior regression non estimation likelihood sparse parameters matrix
Topic #10: model information bayesian human visual task probability sensory prior concept
(source : Rémi Bardenet, https://github.com/rbardenet/bml-course/blob/master/notebooks/00_topic_modelling_for_Bayesian_ML_papers.ipynb)

Des thématiques reconnaissables se détachent, comme le Topic #6 sur les méthodes d'inférence bayésienne approchées ou le Topic #8 sur l'apprentissage dans les réseaux bayésiens.

L’approche bayésienne en machine learning a pour avantage d'être interprétable, et elle permet d'inclure facilement des connaissances expertes à travers la définition des a priori sur les variables latentes d’intérêt. De plus, elle offre naturellement une information d’incertitude sur la prédiction, ce qui peut être particulièrement important dans certains contextes applicatifs, comme pour la pose de diagnostic médical ou pour la conduite autonome par exemple.

Ce cours est construit comme un « voyage vers les autoencodeurs variationnels (VAE) ». Introduits en 2014, les VAEs se situent à l'intersection des techniques de modélisation et inférence bayésienne et de l'apprentissage profond par réseaux de neurones artificiels. Ce type de modèles est au cœur de nombreuses problématiques actuelles en intelligence artificielle (apprentissage faiblement supervisé, causalité, etc.). Les différentes séances de ce module visent à introduire des notions fondamentales permettant à la fin une compréhension en profondeur des VAEs, tout en restant généralisable à de nombreux autres contextes applicatifs. Après deux séances de cours sur les fondamentaux de la méthodologie bayésienne et de l'apprentissage statistique, nous étudierons les réseaux bayésiens et les techniques d'inférence exacte pour les modèles à variables latentes. L’inférence exacte n’étant pas toujours possible, nous passerons aux techniques approchées, de type variationnelle et Monte Carlo par chaîne de Markov. Nous terminerons par les modèles génératifs par apprentissage profond de type VAE, exploitant des méthodes récentes d'inférence variationnelle permettant de passer à l'échelle pour des grands jeux de données ou pour des données en grande dimension.

Les notions théoriques seront mises en pratique sur des données concrètes, notamment lors de travaux pratiques en Python. Différents modèles d’apprentissage bayésien supervisé et non-supervisé seront implémentés (modèle de mélange de Gaussiennes, régression linéaire bayésienne et parcimonieuse, autoencodeur variationnel). Ces exemples permettront notamment d’étudier l'influence des a priori sur les paramètres du modèle et sur la prédiction obtenue par rapport à une approche non bayésienne.

Numéro de trimestre

SG6

Prérequis

Notions de bases en statistiques et probabilités. Fondamentaux de l'apprentissage automatique : minimisation du risque empirique, maximum de vraisemblance, apprentissage supervisé (modèles linéaires pour la régression et la classification), apprentissage non-supervisé (réduction de dimension, partitionnement). Le cours de 1ère année « Statistiques et apprentissage » fournit l'ensemble de ces prérequis.

Syllabus

Cours :
  • Fondamentaux en modélisation et inférence bayésienne
  • Fondamentaux en apprentissage statistique
  • Modèles à variables latentes et inférence exacte
  • Inférence variationnelle
  • Méthodes de Monte Carlo par chaîne de Markov
  • Modèles génératifs par apprentissage profond

Travaux pratiques :
  • Modèle de mélange de gaussiennes
  • Régression linéaire bayésienne

Composition du cours

Le module est organisé en 7 séances de cours magistraux de 3 heures, 3 séances de travaux pratiques (TP) de 3 heures sur Python et 1 séance de révisions. La plupart des cours magistraux inclue également une mise en pratique ponctuelle (en Python) des concepts théoriques. Il sera demandé aux élèves d'effectuer un travail préparatoire théorique avant les séances de TP.

Notation

Les travaux préparatoires aux TPs et les notebooks Jupyter complétés seront évalués et comptent pour 30% de la note finale. Les 70 % restants correspondent à un examen final sur table de 2 heures.

Ressources

Equipe enseignante : Simon Leglaive
Outils logiciels : Anaconda (gestionnaire de packages Python).

Résultats de l'apprentissage couverts par le cours

A la fin du cours, les élèves sont censés :
  • savoir quand il est utile ou nécessaire d’avoir recours à une approche bayésienne en machine learning ;
  • avoir une vue d’ensemble des principales approches de modélisation et d’inférence bayésienne ;
  • savoir identifier et dériver un algorithme d’inférence bayésienne à partir de la définition d’un modèle ;
  • être capable d’implémenter des méthodes standards d’apprentissage bayésien supervisé ou non-supervisé.

Description des compétences acquises à la fin du cours

C1. Analyze, design, and build complex systems with scientific, technological, human, and economic components
C6. Be operational, responsible, and innovative in the digital world

Support de cours, bibliographie

Les supports de cours (présentations, notebooks Jupyter, code Python et activités pédagogiques) seront mis à disposition sur Edunao.

Références :
  • Christopher M. Bishop, « Pattern Recognition and Machine Learning », Springer, 2006 (disponible en ligne gratuitement)
  • Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong, « Mathematics for Machine Learning » Cambridge University Press, 2020 (disponible en ligne gratuitement)
  • Kevin P. Murphy, « Machine Learning, A Probabilistic Perspective »,  MIT Press, 2012 (disponible à la bibliothèque)