Parisian Master of Research in Computer Science
Master Parisien de Recherche en Informatique (MPRI)

Langages de Programmation Probabilistes (24h, 3 ECTS)

Cours 2023 - 2024

  • Responsable du cours: Christine Tasson
  • Le cours a lieu en deuxième période le jeudi de 12h45 à 15h45
  • English upon request
  • Séances d'ouverture sur la sémantique probabiliste d'ordre supérieur Guillaume Geoffroy et sur l'analyse statique des algorithmes d'inférence variationnelle Xavier Rival,

Description

La programmation probabiliste est un paradigme de programmation qui a connu un essor important ces dernières années. Les langages de programmation probabilistes permettent de décrire des modèles tels que ceux utilisés en intelligence artificielle et proposent des méthodes automatiques pour inférer les paramètres du modèle à partir d'observations statistiques. Comparé aux algorithmes d'apprentissage classiques, les langages probabilistes permettent de manipuler l'incertitude de manière explicite. Ils reposent sur la méthode Bayésienne qui permet de raffiner une croyance a priori sur la distribution des paramètres d'un modèle a partir d'observations concrètes.

Récemment, de nombreux langages de programmation ont été développés e.g., WebPPL, Venture, Anglican, Stan, Gen, Pyro, Turing.jl... Ces langages sont maintenant utilisés dans de nombreux domaines qui vont de la vision (génération d'images) et la robotique (planification), à la santé (épidémiologie) et les sciences sociales (sondages).

Ce cours présente les concepts fondamentaux de la programmation probabiliste ainsi que des travaux de recherche récents :

  1. conceptions des langages (construction probabiliste, analyse statique, compilation)
  2. méthodes d'inférence (méthodes de Monte-Carlo, inférence symbolique, inférence variationnelle)
  3. sémantique (théorie de la mesure, espaces quasi-Boreliens, cônes probabilistes)

Plan du cours

date Intervenants Sujets
07/12 C. Tasson Introduction à la programmation probabiliste
14/12 G. Baudart Conception d'un langage probabiliste, typage, sémantique par noyaux
21/12 G. Baudart Inférence approchée, méthodes de Monte-Carlo, filtres particulaires
11/01 G. Baudart Méthodes d'inférence avancées (Metropolis Hastings, Hamiltonian Monte Carlo, Variational Inference)
18/01 C. Tasson Sémantiques pour modèles discrets (Modèle graphique, Logique de Hoare probabiliste, Espaces Cohérents Probabilistes)
25/01 X. Rival Sémantiques par densité, problèmes avec l'inférence et analyse statique
01/02 G. Geoffroy Sémantiques pour modèles continus (QBS et Cônes probabilistes)
08/02 G. Baudart Programmation probabiliste réactive
29/02 Examen
07/03 Présentations

Tous les cours seront accompagnés de travaux pratiques.

Les supports de cours et les TDs seront disponibles sur GitHub : https://github.com/mpri-probprog/probprog-23-24

Évaluation

  1. Projet de programmation (15% de la note) et présentation d'article (35% de la note)
  2. Examen pour moitié de la note (50% de la note)

Ressources

 
Universités partenaires Université Paris-Diderot
Université Paris-Saclay
ENS Cachan École polytechnique Télécom ParisTech
ENS
Établissements associés Université Pierre-et-Marie-Curie CNRS INRIA CEA