Fine-Grained Semantics for Probabilistic Programs Benjamin Timon - - PowerPoint PPT Presentation

fine grained semantics for probabilistic programs
SMART_READER_LITE
LIVE PREVIEW

Fine-Grained Semantics for Probabilistic Programs Benjamin Timon - - PowerPoint PPT Presentation

Fine-Grained Semantics for Probabilistic Programs Benjamin Timon Martin Bichsel Gehr Vechev Probabilistic models Security Networking Machine Learning Robotics Randomized Algorithms Probabilistic programming Probability density


slide-1
SLIDE 1

Fine-Grained Semantics for Probabilistic Programs

Benjamin Bichsel Timon Gehr Martin Vechev

slide-2
SLIDE 2

Probabilistic models

Networking Security Machine Learning Robotics Randomized Algorithms

slide-3
SLIDE 3

Probabilistic programming

x := uniform(0,1); y := uniform(0,1); return x+y;

Probability density function Cumulative distribution function

slide-4
SLIDE 4

Observations

x := uniform(0,1); y := uniform(0,1);

  • bserve(x+y>=1);

return x+y;

Probability density function Cumulative distribution function

0.5

slide-5
SLIDE 5

Partial functions

x := uniform(-1,1); x = sqrt(x); return x;

Probability density function Cumulative distribution function

0.5

slide-6
SLIDE 6

Loops

x := 2; while x>0 { if x<4 { if flip(0.5) { x++; } else { x--; } } } return x;

2 3 4 1

1/2 1/2 1/2 1/2 1/2 1/2 1 return 0 start

0.5

slide-7
SLIDE 7

Interaction of exceptions

x := 0; while 1 { x = x/x; } return x; Better:

slide-8
SLIDE 8

Interaction of exceptions II

x := 0; while x==0 { x = flip(0.5);

  • bserve(x==0);

} return x; Better:

slide-9
SLIDE 9

Interaction of exceptions III

x := 10; d := gauss(0,1);

  • bserve(d>=-0.5);

while x>=0 { x-=d; } return x; Better:

slide-10
SLIDE 10

Existing denotational semantics

slide-11
SLIDE 11

Our work – Denotational semantics

Explicitly distinguish exceptions:

  • non-termination ( )
  • errors ( )
  • observation failure ( )

Our semantics also support

  • Mixing continuous and discrete distributions
  • Arrays
  • The score primitive
slide-12
SLIDE 12

Benefits

  • Deeper understanding of

probabilistic semantics

  • Establish correctness of probabilistic

solvers (e.g. PSI)

  • More efficient normalization in

probabilistic solvers

  • Generalize to arbitrary number of

exceptions

slide-13
SLIDE 13

Measure theory

1

slide-14
SLIDE 14

Measure theory

1

slide-15
SLIDE 15

Denotational semantics

x := uniform(-1,1); x = sqrt(x); return x;

lift lift lift lift

sqrt(uniform(-1,1))

slide-16
SLIDE 16

sqrt(uniform(-1,1))

Denotational semantics - Constants

slide-17
SLIDE 17

sqrt(uniform(-1,1))

Denotational semantics - Constants

slide-18
SLIDE 18

sqrt(uniform(-1,1))

Denotational semantics - Constants

Dirac delta

slide-19
SLIDE 19

Denotational semantics - Constants

sqrt(uniform(-1,1))

slide-20
SLIDE 20

Denotational semantics - Functions

sqrt(uniform(-1,1))

slide-21
SLIDE 21

Denotational semantics - Functions

sqrt(uniform(-1,1))

slide-22
SLIDE 22

Denotational semantics - Functions

sqrt(uniform(-1,1))

slide-23
SLIDE 23

Denotational semantics - Functions

sqrt(uniform(-1,1))

slide-24
SLIDE 24

Denotational semantics - Functions

sqrt(uniform(-1,1))

slide-25
SLIDE 25

Denotational semantics - Composition

sqrt(uniform(-1,1))

slide-26
SLIDE 26

Denotational semantics - Loops

n := 0; while !flip(0.5) { n++; }

slide-27
SLIDE 27

Denotational semantics - Loops

n := 0; while !flip(0.5) { n++; }

slide-28
SLIDE 28

Denotational semantics - Loops

n := 0; while !flip(0.5) { n++; }

slide-29
SLIDE 29

Denotational semantics - Loops

n := 0; while !flip(0.5) { n++; }

slide-30
SLIDE 30

Probability kernel

Theorem: The semantics of each expression and each statement is a probability kernel.

slide-31
SLIDE 31

Properties of Semantics - Commutativity

F() { while 1 { skip; } return 0; }

slide-32
SLIDE 32

Properties of Semantics - Associativity

Proof: Relies on associativity of the product of kernels and composition of kernels.

slide-33
SLIDE 33

Score primitive

x := gauss(0,1); score( ); return x;

slide-34
SLIDE 34

Score primitive vs non-termination

i := 0; while 1 { if i==0 { score(2); } else { score(0.5); } i = 1-i; }

slide-35
SLIDE 35

Score primitive – s-finite kernels

Theorem: After adding the score primitive and abolishing non- termination, the semantics of each expression and each statement is an s-finite kernel.

Informally:

slide-36
SLIDE 36

Features of probabilistic programming languages

  • bservations

errors mix discrete and continuous higher-order score loops recursion non-determinism