Automatic Inference in BLOG Nimar S. Arora University of California, Berkeley Stuart Russell University of California, Berkeley Erik Sudderth Brown University.

Slides:



Advertisements
Similar presentations
Gated Graphs and Causal Inference
Advertisements

State Estimation and Kalman Filtering CS B659 Spring 2013 Kris Hauser.
CLASSICAL PLANNING What is planning ?  Planning is an AI approach to control  It is deliberation about actions  Key ideas  We have a model of the.
Analysis of programs with pointers. Simple example What are the dependences in this program? Problem: just looking at variable names will not give you.
Gibbs sampling in open-universe stochastic languages Nimar S. Arora Rodrigo de Salvo Braz Erik Sudderth Stuart Russell.
1 Vertically Integrated Seismic Analysis Stuart Russell Computer Science Division, UC Berkeley Nimar Arora, Erik Sudderth, Nick Hay.
PHD Approach for Multi-target Tracking
Bayes Nets Rong Jin. Hidden Markov Model  Inferring from observations (o i ) to hidden variables (q i )  This is a general framework for representing.
The Fourth WIM Meeting 1 Active Nearest Neighbor Queries for Moving Objects Jan Kolar, Igor Timko.
CS 188: Artificial Intelligence Spring 2007 Lecture 14: Bayes Nets III 3/1/2007 Srini Narayanan – ICSI and UC Berkeley.
CS 188: Artificial Intelligence Fall 2006 Lecture 17: Bayes Nets III 10/26/2006 Dan Klein – UC Berkeley.
Announcements Homework 8 is out Final Contest (Optional)
Systems of Linear Equations Math 0099 Section Section Created and Presented by Laura Ralston.
1 First-Order Probabilistic Models Brian Milch 9.66: Computational Cognitive Science December 7, 2006.
Representational and inferential foundations for possible large-scale information extraction and question-answering from the web Stuart Russell Computer.
Markov Logic And other SRL Approaches
Motif finding with Gibbs sampling CS 466 Saurabh Sinha.
Learning Linear Causal Models Oksana Kohutyuk ComS 673 Spring 2005 Department of Computer Science Iowa State University.
Made by: Maor Levy, Temple University  Inference in Bayes Nets ◦ What is the probability of getting a strong letter? ◦ We want to compute the.
, Patrik Huber.  One of our goals: Evaluation of the posterior p(Z|X)  Exact inference  In practice: often infeasible to evaluate the posterior.
Bayes’ Nets: Sampling [These slides were created by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley. All CS188 materials are available.
5.2: Solving Systems of Equations using Substitution
4. Particle Filtering For DBLOG PF, regular BLOG inference in each particle Open-Universe State Estimation with DBLOG Rodrigo de Salvo Braz*, Erik Sudderth,
TEMPLATE DESIGN © Vertically Integrated Seismological Analysis II : Inference (S31B-1713) Nimar S. Arora, Stuart Russell,
BLOG: Probabilistic Models with Unknown Objects Brian Milch, Bhaskara Marthi, Stuart Russell, David Sontag, Daniel L. Ong, Andrey Kolobov University of.
CS 188: Artificial Intelligence Bayes Nets: Approximate Inference Instructor: Stuart Russell--- University of California, Berkeley.
Inference Algorithms for Bayes Networks
Solving Systems of Equations By Substitution – Easier
Learning and Acting with Bayes Nets Chapter 20.. Page 2 === A Network and a Training Data.
Solving Systems of Linear Equations by Substitution; Applications Solve systems of linear equations using substitution. 2.Solve applications involving.
Representational and inferential foundations for possible large-scale information extraction and question-answering from the web Stuart Russell Computer.
First-Order Probabilistic Inference Rodrigo de Salvo Braz.
3.1 Solving Systems Using Tables and Graphs When you have two or more related unknowns, you may be able to represent their relationship with a system of.
TEMPLATE DESIGN © Vertically Integrated Seismological Analysis I : Modeling Nimar S. Arora, Michael I. Jordan, Stuart.
BLOG: Probabilistic Models with Unknown Objects Brian Milch Harvard CS 282 November 29,
TEMPLATE DESIGN © Approximate Inference Completing the analogy… Inferring Seismic Event Locations We start out with the.
/ PSWLAB Evidence-Based Analysis and Inferring Preconditions for Bug Detection By D. Brand, M. Buss, V. C. Sreedhar published in ICSM 2007.
First-Order Probabilistic Inference Rodrigo de Salvo Braz SRI International.
4 - Conditional Control Structures CHAPTER 4. Introduction A Program is usually not limited to a linear sequence of instructions. In real life, a programme.
Probabilistic Reasoning Inference and Relational Bayesian Networks.
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand how decisions are made in a computer ❏ To understand the logical.
An Algorithm to Learn the Structure of a Bayesian Network Çiğdem Gündüz Olcay Taner Yıldız Ethem Alpaydın Computer Engineering Taner Bilgiç Industrial.
Final Exam Information These slides and more detailed information will be posted on the webpage later…
Topic Overview and Study Checklist. From Chapter 7 in the white textbook: Modeling with Differential Equations basic models exponential logistic modified.
CS Fall 2011, Stuart Russell
3.5 Solving systems of equations in three variables Main Ideas Solve systems of linear equations in three variables. Solve real-world problems using systems.
Unifying logic and probability The BLOG language
Classifying Systems, Solving Systems by Graphing and Substitution
IEE 380 Review.
Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 12
Selection—Making Decisions
Solving Systems of Equations with Substitution
CS 4/527: Artificial Intelligence
6-2 Solving Systems using Substitution
Solving Systems of Equations using Substitution
Open universes and nuclear weapons
Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 12
ANALYST EVALUATION OF MODEL-BASED BAYESIAN SEISMIC MONITORING AT THE CTBTO Logic, Inc. Nimar S. Arora1, Jeffrey Given2, Elena Tomuta2, Stuart J. Russell1,3,
Conclusions and Further Work
Machine learning, probabilistic modelling
CS 188: Artificial Intelligence
Markov Chain Monte Carlo Limitations of the Model
The student will be able to:
Gibbs sampling in open-universe stochastic languages
CS 188: Artificial Intelligence Fall 2008
Automatic Inference in PyBLOG
6.2 Using Substitution to Solve Systems
The student will be able to:
The student will be able to:
Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 12
Presentation transcript:

Automatic Inference in BLOG Nimar S. Arora University of California, Berkeley Stuart Russell University of California, Berkeley Erik Sudderth Brown University

Open Universe Probability Models (OUPMs) OUPMs extend Bayes Nets with first-order expressive power, effectively infinitely many variables  Edges may be contingent on predicates over ancestor variables OUPMs can express important real-world problems  Seismic event localization for enforcing Comprehensive Nuclear Test Ban Treaty (CTBT) OUPM model using data from the International Monitoring System (IMS) with vanilla probabilistic inference was able to produce better results than specialized algorithms developed over 100 years by seismologists!  Multi-target tracking  Citation matching / Record linkage OUPMs can be expressed by Contingent Bayes Nets (CBNs) or stochastic languages like BLOG

# SeismicEvents ~ Poisson[TIME_DURATION*EVENT_RATE]; IsEarthQuake(e) ~ Bernoulli(.999); EventLocation(e) ~ If IsEarthQuake(e) then EarthQuakeDistribution() Else UniformEarthDistribution(); Magnitude(e) ~ Exponential(log(10)) + MIN_MAG; Distance(e,s) = GeographicalDistance(EventLocation(e), SiteLocation(s)); IsDetected(e,s) ~ Logistic[SITE_COEFFS(s)](Magnitude(e), Distance(e,s) ; #Arrivals(site = s) ~ Poisson[TIME_DURATION*FALSE_RATE(s)]; #Arrivals(event=e, site) = If IsDetected(e,s) then 1 else 0; Time(a) ~ If (event(a) = null) then Uniform(0,TIME_DURATION) else IASPEI-TIME(EventLocation(event(a),SiteLocation(site(a)) + TimeRes(a); TimeRes(a) ~ Laplace(TIMLOC(site(a)), TIMSCALE(site(a))); Azimuth(a) ~ If (event(a) = null) then Uniform(0, 360) else GeoAzimuth(EventLocation(event(a)),SiteLocation(site(a)) + AzRes(a); AzRes(a) ~ Laplace(0, AZSCALE(site(a))); Slow(a) ~ If (event(a) = null) then Uniform(0,20) else IASPEI-SLOW(EventLocation(event(a)),SiteLocation(site(a)) + SlowRes(site(a)); BLOG model for CTBT monitoring

Recent Improvements in automatic inference for BLOG Gibbs sampling for all finite-domain variables including switching variables, which change the structure of the partial world Birth–Death moves for number variables Model analysis to pre-compute parent-child dependencies, variables which need to be instantiated/uninstantiated, etc. C code generation Available:

Gibbs Sampling Over Partial Worlds : Main Idea Problem: When sampling a switching variable, different values lead to different network structures that may require additional variables to be instantiated. How to construct a valid Gibbs sampler? Solution: Reduce the partial world to the core  Core is roughly the intersection of all possible partial worlds reachable by modifying the switching variable Assign the following weight to each world and pick one:

Contingent Bayes Net (CBN) Wing Type Rotor Length Blade Flash Wing Type = Helicopter or TiltRotor Wing Type is one of Helicopter, FixedWing, or TiltRotor Radar signal Blade Flash

Example: Step 1, modify variable WingType =Helicopter Blade Flash RotorLength = Long WingType =TiltRotor Blade Flash RotorLength = Long WingType =FixedWing Blade Flash RotorLength = Long Initial World

Example: Step 2, Reduce to core WingType =Helicopter Blade Flash RotorLength = Long WingType =TiltRotor Blade Flash WingType =FixedWing Blade Flash Keep original world intact RotorLength not in core

Example: Step 3, make worlds self- supporting. Finally, pick a world. WingType =Helicopter Blade Flash RotorLength = Long WingType =TiltRotor Blade Flash WingType =FixedWing Blade Flash RotorLength = Short RotorLength may have a new value

BLOG model: Unknown number of aircraft generating radar blips #Aircraft(WingType = w) if w = Helicopter then ~ Poisson [1.0] else ~ Poisson [4.0]; #Blip(Source = a) ~ Poisson[1.0] #Blip ~ Poisson[2.0]; BladeFlash(b) if Source(b) = null then ~ Bernoulli [.01] elseif WingType(Source(b)) = Helicopter then ~ TabularCPD [[.9,.1], [.6,.4]] (RotorLength(Source(b))) else ~ Bernoulli [.1] RotorLength(a) if WingType(a) = Helicopter then ~ TabularCPD [[0.4, 0.6]] Aircraft can be either helicopter or fixed wing planes Only helicopters have a rotor length Blade flash is an artifact of a rotor interacting with the radar beam False Blips True blips

Model Analysis Example Compile-time analysis of model enables efficient graph manipulations and probability calculations RotorLength(a) is always a child of WingType(a)  RotorLength variables prelinked to WingType variables Whenever Source(b)=a, BladeFlash(b) is a child of WingType(a) (and possibly of RotorLength(a), for helicopters and tilt-rotors)  Each aircraft keeps a list of blips pointing to it via the Source variable. This simplifies bookkeeping of parent-child relationships  The above list is updated whenever Source(b) is changed Moves that modify WingType(a) need to uninstantiate RotorLength(a) (which is not in the core for this move)

Posterior WingType of blip with blade flash given 5 other blips Gibbs MH 0.3 seconds 0.2 seconds

BLOG model: blip location depends on aircraft location, number of blips depends on aircraft type #Aircraft(WingType = w) if w = Helicopter then ~ Poisson [1.0] else ~ Poisson [4.0]; #Blip(Source = a) if WingType(a) = Helicopter then ~ Poisson[1.0] else ~ Poisson[2.0] #Blip ~ Poisson[2.0]; BlipLocation(b) if Source(b) != null then ~ UnivarGaussian[10.0] (Location(Source(b))) else ~ UniformReal [50.0, ] BladeFlash(b) if Source(b) = null then ~ Bernoulli [.01] elseif WingType(Source(b)) = Helicopter then ~ TabularCPD [[.9,.1], [.6,.4]] (RotorLength(Source(b))) else ~ Bernoulli [.1] Location(a) ~ UniformReal [100.0, ]; RotorLength(a) if WingType(a) = Helicopter then ~ TabularCPD [[0.4, 0.6]]

Posterior WingType Blip with Blade FlashBlip Gibbs (5 seconds) MH (3 seconds)

Comparative performance Model (variance threshold) BLOG-MH (java impl.) blogc (Gibbs)blogc-MH Alarm Bayes Net (1e-4) Aircraft (1e-6) _212.1 Aircraft with location (1e-4) _2.814 Time in seconds