CPSC 532W 101 2022W
Probabilistic programming lies at the intersection of machine learning, statistics, programming languages, and deep learning. Historically probabilistic programming has been about automating Bayesian statistical inference; more recently it has emerged as a candidate for the next toolchain for AI, particularly for unsupervised, semi-supervised, and reinforcement learning.
By the end of this course you will know how to (if you don’t already):
- Write a general-purpose inference engine for graphical models specified via a probabilistic programming language
- Write a general-purpose inference engine for higher-order probabilistic programming language
Skills and knowledge that you will reinforce or acquire:
- What a model is
- How to use probabilistic programming systems to solve inference problems automatically
- The relationship between generative models, stochastic simulators, and decoders
- What inference is, various algorithms for performing inference, and what their characteristics are
You will also be exposed to a variety of “advanced” models and methods including program synthesis via inference, deep structured variational autoencoders for semi- and un-supervised learning as well as a raft of advanced inference methods including Hamiltonian Monte Carlo, sequential Monte Carlo and stochastic variational inference.