An Introduction to Probabilistic Programming

Sep 2018

An Introduction to Probabilistic Programming

Sep 2018

Ce document est conçu pour être une introduction de première année à la programmation probabiliste. Il fournit non seulement un arrière-plan complet à toute personne souhaitant utiliser un système de programmation probabiliste, mais présente également les techniques nécessaires à la conception et à la construction de ces systèmes. Il s’adresse aux personnes qui maîtrisent au moins le premier cycle des langages probabilistes d’apprentissage automatique et de programmation.

Nous commençons par une discussion du raisonnement basé sur un modèle et expliquons pourquoi le conditionnement en tant que calcul fondamental est au centre des domaines de l’apprentissage machine probabiliste et intelligence artificielle. Nous introduisons ensuite un langage de programmation probabiliste de premier ordre (PPL) simple dont les programmes définissent des modèles de calcul de graphique statique et de cardinalité à variable finie. Dans le contexte de cette PPL restreinte, nous introduisons des algorithmes d’inférence fondamentaux et décrivons comment ils peuvent être implémentés dans le contexte de modèles dénotés par des programmes probabilistes.

Dans la deuxième partie de ce document, nous introduisons un langage de programmation probabiliste d’ordre supérieur, doté d’une fonctionnalité analogue à celle des langages de programmation établis. Cela offre la possibilité de définir des modèles avec des graphes de calculs dynamiques, au prix de requérir des méthodes d’inférence qui génèrent des échantillons en exécutant le programme de manière répétée. Les algorithmes d’inférence de base pour ce type de langage de programmation probabiliste sont expliqués dans le contexte d’une interface entre les exécutions de programmes et un contrôleur d’inférence. Ce document se termine par un chapitre sur des sujets avancés qui, selon nous, étaient, au moment de la rédaction de ce document, des orientations intéressantes pour la recherche en programmation probabiliste; Des directions qui vont vers une intégration étroite avec la recherche sur les réseaux de neurones profonds et le développement de systèmes pour des applications d’intelligence artificielle de nouvelle génération.

Reference

PDF

Linked Profiles