Practical Probabilistic Programming with Figaro
summary
A mature probabilistic programming library implemented as Figaro in Scala provides a Scala-embedded model representation and inference engines; it runs hydrological site-selection and a DARPA malware-lineage task where the malware lineage scored higher than prior methods, and a tracklet-merging routine that fits in a few lines — tracklet merging in a few lines. Structured factored inference decomposes models into reusable subproblems, the hybrid solver picks between variable elimination and belief propagation, is orders-of-magnitude more accurate, and variable elimination runs out of memory on larger cases.
AI-written summary · about
chapters (26)
- 0:00Intro
- 0:35Overview
- 0:56What Are We Trying To Do?
- 1:21Probabilistic Reasoning Lets You Do All These Things
- 2:04Probabilistic Reasoning: Predicting the Future
- 2:36Observations
- 3:33But Probabilistic Reasoning Is Hard!
- 4:09Goal of Probabilistic Programming
- 4:21How Probabilistic Programming Achieves This
- 5:03Probabilistic Programming Compared to Deep Learning
- 7:06Figaro goals
- 8:04Figaro as a Scala Library
- 10:07Disadvantages of Scala Embedding
- 11:20Hydrological Terrain Modeling for Army Logistics
- 12:19Malware Lineage (DARPA Cyber Genome)
- 13:59Tracklet Merging (DARPA PPAML Challenge Problem)
- 16:20Tracklet Merging in Figaro
- 17:37Current State of the Art
- 18:12Our Goal
- 19:26Automated Inference Strategy
- 19:57Structured Factored inference (SFI)
- 20:36Compiled Graphical Model of Figaro Program
- 20:55Combine and Reuse Solutions
- 21:18Optimize Each Subproblem Individually
- 22:50Conclusion
- 23:23Acknowledgement
related talks
38mProbabilistic programming and meta-programming in Clojure
31mProbabilistic Programming: The What, Why and How
01h 03mAn Overview of Probabilistic Programming
29mMotivating Probabilistic Programming
40mProbabilistic Programming for Augmented Intelligence
35mScalable structure learning and inference for domain-specific probabilistic prog
26mSemi-symbolic Inference for Efficient Streaming Probabilistic Programming
36mProbabilistic Programs Which Make (Common) Sense
