On Computational and Probabilistic Inference Rajat Mani Thomas - - PowerPoint PPT Presentation

on computational and probabilistic inference
SMART_READER_LITE
LIVE PREVIEW

On Computational and Probabilistic Inference Rajat Mani Thomas - - PowerPoint PPT Presentation

On Computational and Probabilistic Inference Rajat Mani Thomas Objectives: Revisiting Bayesian inference . A look at Likelihood and the prior Probabilistic programming: Automating Bayesian (like) Inference Probabilistic Toolkit:


slide-1
SLIDE 1

On Computational and Probabilistic Inference

Rajat Mani Thomas

slide-2
SLIDE 2

Probabilistic programming@ICTP - April - 2019

Objectives:

  • Revisiting Bayesian inference.
  • A look at Likelihood and the prior
  • Probabilistic programming: Automating Bayesian (like) Inference
  • Probabilistic Toolkit: (i) Markov Chain Monte Carlo,

(ii) Variational inference

  • Deep probabilistic models
slide-3
SLIDE 3

Probabilistic programming@ICTP - April - 2019

What is the main problem we are trying to solve ? Inference

slide-4
SLIDE 4

Probabilistic programming@ICTP - April - 2019

What is the main problem we are trying to solve ? Inference

slide-5
SLIDE 5

Probabilistic programming@ICTP - April - 2019

What is the main problem we are trying to solve ? Inference

slide-6
SLIDE 6

Probabilistic programming@ICTP - April - 2019

What is the main problem we are trying to solve ? Inference

slide-7
SLIDE 7

Probabilistic programming@ICTP - April - 2019

What is the main problem we are trying to solve ? Inference

Posterior Likelihood Prior

slide-8
SLIDE 8

Probabilistic programming@ICTP - April - 2019

What is the main problem we are trying to solve ? Inference

Posterior Likelihood Prior

slide-9
SLIDE 9

Probabilistic programming@ICTP - April - 2019

The Likelihood function

  • Generative model of the Data: Think Simulations
  • The plausibility of a given parameter in generating a particular outcome.
  • Scoring function.

What has now appeared is that the mathematical concept of probability is ... inadequate to express

  • ur mental confidence or [lack of confidence] in making ... inferences, and that the mathematical

quantity which usually appears to be appropriate for measuring our order of preference among different possible populations does not in fact obey the laws of probability. To distinguish it from probability, I have used the term "likelihood" to designate this quantity.... — R. A. Fisher, Statistical Methods for Research Workers [2]

slide-10
SLIDE 10

Probabilistic programming@ICTP - April - 2019

Prior

Prior as a searchlight

slide-11
SLIDE 11

Probabilistic programming@ICTP - April - 2019

Prior

Prior as a searchlight

slide-12
SLIDE 12

Probabilistic programming@ICTP - April - 2019

The two (hypothesized) ways to Intelligence

Deep Learning Programs with R.V. and Probabilistic calculations

slide-13
SLIDE 13

Probabilistic programming@ICTP - April - 2019

The two (hypothesized) ways to Intelligence

Deep Learning Programs with R.V. and Probabilistic calculations

slide-14
SLIDE 14

Probabilistic programming@ICTP - April - 2019

The two (hypothesized) ways to Intelligence

Deep Learning

slide-15
SLIDE 15

Probabilistic programming@ICTP - April - 2019

The two (hypothesized) ways to Intelligence

Programs with R.V. and Probabilistic calculations

slide-16
SLIDE 16

Probabilistic programming@ICTP - April - 2019

The two (hypothesized) ways to Intelligence

Programs with R.V. and Probabilistic calculations

slide-17
SLIDE 17

Probabilistic programming@ICTP - April - 2019

The case for probabilistic programming languages

Democratize model building and Inference

slide-18
SLIDE 18

Probabilistic programming@ICTP - April - 2019

What is a probabilistic program?

Any imperative or functional program with two additional constructs: 1. Ability to draw values at random from distributions 2. Ability to condition variables with observations

slide-19
SLIDE 19

Probabilistic programming@ICTP - April - 2019

PP - A CS way of doing Statistical Inference

Computer Science Parameters —- Program — Outputs Statistics Unknowns —- Generative model — Observations Probabilistic Programming Parameters —- Program — Observations Inference Generation

slide-20
SLIDE 20

Probabilistic programming@ICTP - April - 2019

An example of a PP

slide-21
SLIDE 21

Probabilistic programming@ICTP - April - 2019

An example of a PP

slide-22
SLIDE 22

Probabilistic programming@ICTP - April - 2019

An example of a PP

slide-23
SLIDE 23

Probabilistic programming@ICTP - April - 2019

An example of a PP

slide-24
SLIDE 24

Probabilistic programming@ICTP - April - 2019

Program traces

slide-25
SLIDE 25

Probabilistic programming@ICTP - April - 2019

Program traces

F.wood (NIPS, 2015)

slide-26
SLIDE 26

Probabilistic programming@ICTP - April - 2019

Program traces

F.wood (NIPS, 2015)

slide-27
SLIDE 27

Probabilistic programming@ICTP - April - 2019

Getting to the posterior

slide-28
SLIDE 28

Probabilistic programming@ICTP - April - 2019

Getting to the posterior

slide-29
SLIDE 29

Probabilistic programming@ICTP - April - 2019

Getting to the posterior

slide-30
SLIDE 30

Probabilistic programming@ICTP - April - 2019

Getting to the posterior : Importance Sampling

1. Run the program N times generate traces: 2. Approximate the posterior:

slide-31
SLIDE 31

Probabilistic programming@ICTP - April - 2019

Algorithms that make it feasible

MCMC Variational Inference

slide-32
SLIDE 32

Probabilistic programming@ICTP - April - 2019

Markov Chain Monte Carlo

Assumes very little… Can you run your program and generate samples? - SIMULATION Can you calculate (even an un-normalized) density of observation? - SCORE

slide-33
SLIDE 33

Probabilistic programming@ICTP - April - 2019

Markov Chain Monte Carlo - 101

slide-34
SLIDE 34

Probabilistic programming@ICTP - April - 2019

Markov Chain Monte Carlo - 101

slide-35
SLIDE 35

Probabilistic programming@ICTP - April - 2019

Markov Chain Monte Carlo - 101

slide-36
SLIDE 36

Probabilistic programming@ICTP - April - 2019

Markov Chain Monte Carlo - 101

slide-37
SLIDE 37

Probabilistic programming@ICTP - April - 2019

Markov Chain Monte Carlo - 101

slide-38
SLIDE 38

Probabilistic programming@ICTP - April - 2019

Markov Chain Monte Carlo - 101

slide-39
SLIDE 39

Probabilistic programming@ICTP - April - 2019

MCMC - 101 : Metropolis-Hastings

slide-40
SLIDE 40

Probabilistic programming@ICTP - April - 2019

1. Choose a “nice” family of distributions 2. Cast inference as an optimization problem

Variational Inference

slide-41
SLIDE 41

Probabilistic programming@ICTP - April - 2019

1. Choose a “nice” family of distributions 2. Cast inference as an optimization problem

Variational Inference

slide-42
SLIDE 42

Probabilistic programming@ICTP - April - 2019

Variational Inference

slide-43
SLIDE 43

Probabilistic programming@ICTP - April - 2019

Variational Inference

slide-44
SLIDE 44

Probabilistic programming@ICTP - April - 2019

Advantages

Amortized inference: Easily expressive language for model Write your Generative model, PP takes care of the inference What would it look like?

Simulation Power spectra

slide-45
SLIDE 45

Probabilistic programming@ICTP - April - 2019

Examples of what PP can do

Construct a world in which 20% of balls go into the basket

slide-46
SLIDE 46

Probabilistic programming@ICTP - April - 2019

Deep Learning + Probabilistic Programming

An example of the Variational Autoencoder

slide-47
SLIDE 47

Probabilistic programming@ICTP - April - 2019

Deep Learning + Probabilistic Programming

An example of the Variational Autoencoder

slide-48
SLIDE 48

Probabilistic programming@ICTP - April - 2019

Canonical Autoencoder

slide-49
SLIDE 49

Probabilistic programming@ICTP - April - 2019

Canonical Autoencoder

slide-50
SLIDE 50

Probabilistic programming@ICTP - April - 2019

Canonical Autoencoder

slide-51
SLIDE 51

Probabilistic programming@ICTP - April - 2019

Variational Inference

slide-52
SLIDE 52

Probabilistic programming@ICTP - April - 2019

Variational Autoencoder

slide-53
SLIDE 53

Probabilistic programming@ICTP - April - 2019

Variational Autoencoder

slide-54
SLIDE 54

Probabilistic programming@ICTP - April - 2019

Variational Autoencoder

Deep NN

slide-55
SLIDE 55

Probabilistic programming@ICTP - April - 2019

Deep Mixed Probabilistic Models

A new paradigm for model building

slide-56
SLIDE 56

Probabilistic programming@ICTP - April - 2019

Deep Mixed Probabilistic Models

A new paradigm for model building

slide-57
SLIDE 57

Probabilistic programming@ICTP - April - 2019

Deep Mixed Probabilistic Models

A new paradigm for model building

,

slide-58
SLIDE 58

Probabilistic programming@ICTP - April - 2019

Conclusions

1. Probabilistic programming languages are making it easy to run inference on anything that can be written as a computer code 2. Advances in MCMC techniques like Hamiltonian Monte Carlo and Variational Inference are the workhorses of inference algorithms 3. Mixed programming paradigms will be the way forward

slide-59
SLIDE 59

Probabilistic programming@ICTP - April - 2019

References:

Probabilistic Programming Language: —————- Frank Wood (NIPS Tutorial on Probabilistic Programming), Probabilistic Programming Applications: —————- Josh Tenenbaum (MIT), Noah Goodman (Stanford) MCMC/HMC: ———————— Michael Betancourt, https://arxiv.org/pdf/1701.02434.pdf Variational Inference: —————- Max Welling, Dirk Kingma, Danilo Rezende, David Blei Frameworks for (Deep) Probabilistic Programming: Stan, TFP (Google, Tensorflow), Pyro (UBER, pytorch), Pyprob (Atilim, Frank Wood’s lab), Probabilistic C, ...