- title:
- Probabilistic programming languages
Langages de programmation probabilistes - manager:
- Christine Tasson
- ects:
- 3
- period:
- 2
- hours:
- 24
- weeks:
- 8
- hours-per-week:
- 3
- language:
- English on request
- lang:
- track:
- B
- themes:
- Semantic/Languages
- order:
- 2.40
- successor:
- ppl
- link:
- view
- [2.40]
- Probabilistic programming languages
Langages de programmation probabilistes
- Language:
- Period:
- 2.
- Duration:
- 24h (3h/week).
- ECTS:
- 3.
- Themes: Semantic/Languages
- Manager:
- Christine Tasson.
Langages de Programmation Probabilistes (24h, 3 ECTS)
Cours 2024 - 2025
- Responsable du cours: Christine Tasson
- Le cours a lieu en première période le jeudi de 12h45 à 15h45
- English upon request
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 :
- conceptions des langages (construction probabiliste, analyse statique, compilation)
- méthodes d'inférence (méthodes de Monte-Carlo, inférence symbolique, inférence variationnelle)
- sémantique (théorie de la mesure, espaces quasi-Boreliens, cônes probabilistes)
- analyse statique des algorithmes d'inférence (inférence variationnelle)
Plan du cours
date | Intervenants | Sujets |
19/09 | C. Tasson | Introduction à la programmation probabiliste |
26/09 | C. Tasson | Modèles discrets, modèles graphiques, sémantiques et ordre supérieur |
03/10 | C. Tasson | Modèles continus, sémantique et problème avec l'ordre supérieur |
10/10 | G. Baudart | Conception d'un langage probabiliste, sémantique par noyau |
17/10 | G. Baudart | Méthodes d'inférence avancées, sémantique par densité |
24/10 | X. Rival | Inférence Variationnelle, problème et analyse statique |
31/10 | G. Baudart | Compilation et filtrage |
07/11 | G. Baudart | Inférence semi-symbolique |
14/11 | Rendre DM | |
21/11 | ||
28/11 | Examen |
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-24-25
Évaluation
- Devoir Maison (30% de la note)
- Examen pour moitié de la note (70% de la note)
Ressources
- J-W. van de Meent, B. Paige, H. Yang, F. Wood, An Introduction to Probabilistic Programming
- N. D. Goodman and A. Stuhlmüller (electronic). The Design and Implementation of Probabilistic Programming Languages.
- C. Davidson-Pilon (electronic). Bayesian Methods for Hackers.