sound abstraction and decomposition of probabilistic
play

Sound Abstraction and Decomposition of Probabilistic Programs Steven - PowerPoint PPT Presentation

Sound Abstraction and Decomposition of Probabilistic Programs Steven Holtzen and Guy Van den Broeck and Todd Millstein University of California, Los Angeles {sholtzen,guyvdb,todd}@cs.ucla.edu Sound Abstraction and Decomposition of Probabilistic


  1. Sound Abstraction and Decomposition of Probabilistic Programs Steven Holtzen and Guy Van den Broeck and Todd Millstein University of California, Los Angeles {sholtzen,guyvdb,todd}@cs.ucla.edu Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 1 Holtzen, Van den Broeck, Millstein

  2. Introduction: What are Probabilistic Programs? • Probabilistic programs are programs that contain random variables: x = flip(1/2); y = flip(1/8); z = x ⋁ y; • Defines a probability distribution over program states • Goal: To perform probabilistic inference, i.e. compute Pr # Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 2 Holtzen, Van den Broeck, Millstein

  3. Motivation • Probabilistic programs are naturally compositional • Easy to build large complex models out of simple small ones • A key part of their expressive power and usefulness • Ex: Programs that are both continuous and discrete, combinations of different families of probability models • Problem: Inference algorithms are not compositional • Treat program as black box STAN PYRO • Do not exploit program structure • Many simple programs combine to one very hard program Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 3 Holtzen, Van den Broeck, Millstein

  4. Goal • Our goal: to automatically decompose probabilistic programs • Inference becomes compositional • Perform inference on each sub-program • Combine to yield results on entire program • Exploit program structure • Build complex programs out of simple parts Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 4 Holtzen, Van den Broeck, Millstein

  5. Key Idea: Decomposition by Abstraction • Observation: In general, decomposition is driven by abstraction • Example: Decomposition in graphical models First reason about this block • Graph abstracts away irrelevant details of underlying distribution • Inference algorithms driven by graph structure, exploit sparsity to decompose the inference task Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 5 Holtzen, Van den Broeck, Millstein

  6. Research Questions 1. What is an appropriate notion of abstraction for probabilistic programs? 2. How can this abstraction be used to decompose inference? 3. Can we automatically produce such abstractions? 4. Can this abstraction procedure improve the performance of inference algorithms in practice? Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 6 Holtzen, Van den Broeck, Millstein

  7. Probabilistic Predicate Abstraction • Q: What is an appropriate notion of abstraction for probabilistic programs? • A: A probabilistic predicate abstraction , captures the probability distribution on predicates on the original program { x = 0 } ← flip( θ x =0 ); x ← discrete_dist(); { 0 ≤ y < 1 } ← flip( θ 0 ≤ y< 1 ); y ← continuous_dist(); Abstract { z = 0 } ← { x = 0 } ∨ { 0 ≤ y < 1 } ; z ← x * floor ( y ) ; ) ( Predicates, true/false statements about the • Goal: Compute Pr($ = 0) program Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 7 Holtzen, Van den Broeck, Millstein

  8. Probabilistic Predicate Abstraction • Q: How do we relate this abstraction to the original program for the purpose of inference? • A: Choose parameters of the abstraction to match the distribution in the original program (distributional soundness) { x = 0 } ← flip( θ x =0 ); x ← discrete_dist(); { 0 ≤ y < 1 } ← flip( θ 0 ≤ y< 1 ); y ← continuous_dist(); Abstract { z = 0 } ← { x = 0 } ∨ { 0 ≤ y < 1 } ; z ← x * floor ( y ) ; " ! Exact inference Hamiltonian Monte-Carlo Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 8 Holtzen, Van den Broeck, Millstein

  9. Producing Abstractions • Q: Can we automatically produce such abstractions? • A: Yes! • We show it is always possible, provide an algorithm • Based on predicate abstraction, well-known technique in the program analysis community Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 9 Holtzen, Van den Broeck, Millstein

  10. Experiments: Is this actually useful? • Exact inference using the Psi probabilistic programming system (Gehr et al. 2016) • Orders of magnitude improvements by using abstractions • Recover well-known exact inference techniques (e.g. join tree) Log Time (s) 10 2 10 1 Gray bar: decomposition via abstraction 10 0 White bar: no abstraction Multiplication Markov Chain Shu ffl e Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 10 Holtzen, Van den Broeck, Millstein

  11. Experiments: Is this actually useful? • Approximate inference using MCMC and a fixed sample budget • Faster convergence rate for MCMC Log ` 1 Error 1 0 . 1 Blue line: no abstraction Red line: decomposition via abstraction 1 2.5 5 7.5 10 # MCMC Samples (thousands) Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 11 Holtzen, Van den Broeck, Millstein

  12. Conclusion • It is possible to build abstractions of probabilistic programs • It is helpful for improving inference in practice, can be applied to existing probabilistic programming systems • Now, we care about • Automatically finding abstractions • Generalizing to wider family of programs Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 12 Holtzen, Van den Broeck, Millstein

  13. Questions? Poster #24 Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 13 Holtzen, Van den Broeck, Millstein

  14. Extra slides Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 14 Holtzen, Van den Broeck, Millstein

  15. <latexit sha1_base64="g6rMVnIXJI7QsGJ6TGXEruecoIw=">ACXicbVDLSgMxFM3UV62vUZdugkWYbkpGBF0oFN24rGAfMDOUTJpQzMPkow4Dt268VfcuFDErX/gzr8xbWehrQcCh3Pu4eYeP+FMKoS+jdLS8srqWnm9srG5tb1j7u61ZwKQlsk5rHo+lhSziLaUkx2k0ExaHPacfXU38zh0VksXRrcoS6oV4ELGAEay01DOh9XCBatBlQAd615zV0cs5HIKs3O75vXMKqjKeAisQtSBQWaPfPL7ckDWmkCMdSOjZKlJdjoRjhdFxU0kTEZ4QB1NIxS6eXTS8bwSCt9GMRCv0jBqfo7keNQyiz09WSI1VDOexPxP89JVXDm5SxKUkUjMlsUpByqGE5qgX0mKFE80wQTwfRfIRligYnS5V0Cfb8yYukfVy3Ud2+Oak2Los6yuAHAIL2OAUNMA1aIWIOARPINX8GY8GS/Gu/ExGy0ZRWYf/IHx+QPX1Zc/</latexit> <latexit sha1_base64="g6rMVnIXJI7QsGJ6TGXEruecoIw=">ACXicbVDLSgMxFM3UV62vUZdugkWYbkpGBF0oFN24rGAfMDOUTJpQzMPkow4Dt268VfcuFDErX/gzr8xbWehrQcCh3Pu4eYeP+FMKoS+jdLS8srqWnm9srG5tb1j7u61ZwKQlsk5rHo+lhSziLaUkx2k0ExaHPacfXU38zh0VksXRrcoS6oV4ELGAEay01DOh9XCBatBlQAd615zV0cs5HIKs3O75vXMKqjKeAisQtSBQWaPfPL7ckDWmkCMdSOjZKlJdjoRjhdFxU0kTEZ4QB1NIxS6eXTS8bwSCt9GMRCv0jBqfo7keNQyiz09WSI1VDOexPxP89JVXDm5SxKUkUjMlsUpByqGE5qgX0mKFE80wQTwfRfIRligYnS5V0Cfb8yYukfVy3Ud2+Oak2Los6yuAHAIL2OAUNMA1aIWIOARPINX8GY8GS/Gu/ExGy0ZRWYf/IHx+QPX1Zc/</latexit> <latexit sha1_base64="g6rMVnIXJI7QsGJ6TGXEruecoIw=">ACXicbVDLSgMxFM3UV62vUZdugkWYbkpGBF0oFN24rGAfMDOUTJpQzMPkow4Dt268VfcuFDErX/gzr8xbWehrQcCh3Pu4eYeP+FMKoS+jdLS8srqWnm9srG5tb1j7u61ZwKQlsk5rHo+lhSziLaUkx2k0ExaHPacfXU38zh0VksXRrcoS6oV4ELGAEay01DOh9XCBatBlQAd615zV0cs5HIKs3O75vXMKqjKeAisQtSBQWaPfPL7ckDWmkCMdSOjZKlJdjoRjhdFxU0kTEZ4QB1NIxS6eXTS8bwSCt9GMRCv0jBqfo7keNQyiz09WSI1VDOexPxP89JVXDm5SxKUkUjMlsUpByqGE5qgX0mKFE80wQTwfRfIRligYnS5V0Cfb8yYukfVy3Ud2+Oak2Los6yuAHAIL2OAUNMA1aIWIOARPINX8GY8GS/Gu/ExGy0ZRWYf/IHx+QPX1Zc/</latexit> <latexit sha1_base64="g6rMVnIXJI7QsGJ6TGXEruecoIw=">ACXicbVDLSgMxFM3UV62vUZdugkWYbkpGBF0oFN24rGAfMDOUTJpQzMPkow4Dt268VfcuFDErX/gzr8xbWehrQcCh3Pu4eYeP+FMKoS+jdLS8srqWnm9srG5tb1j7u61ZwKQlsk5rHo+lhSziLaUkx2k0ExaHPacfXU38zh0VksXRrcoS6oV4ELGAEay01DOh9XCBatBlQAd615zV0cs5HIKs3O75vXMKqjKeAisQtSBQWaPfPL7ckDWmkCMdSOjZKlJdjoRjhdFxU0kTEZ4QB1NIxS6eXTS8bwSCt9GMRCv0jBqfo7keNQyiz09WSI1VDOexPxP89JVXDm5SxKUkUjMlsUpByqGE5qgX0mKFE80wQTwfRfIRligYnS5V0Cfb8yYukfVy3Ud2+Oak2Los6yuAHAIL2OAUNMA1aIWIOARPINX8GY8GS/Gu/ExGy0ZRWYf/IHx+QPX1Zc/</latexit> Running Example x ← discrete_dist(); • Input Program y ← continuous_dist(); • Goal: to compute Pr($ = 0) z ← x * floor ( y ) ; • This is hard for existing probabilistic programming systems • Mixture of continuous and discrete sub-programs • Non-differentiable, high-dimensional • Yet, the program is very structured ( z = 0) ⇐ ⇒ [( x = 0) ∨ (0 ≤ y < 1)] Sound Abstraction and Decomposition of Probabilistic Programs ICML 2018 15 Holtzen, Van den Broeck, Millstein

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend