CSE 573: Artificial Intelligence Autumn 2012 Particle Filters for Hidden Markov Models Daniel Weld Many slides adapted from Dan Klein, Stuart Russell,

Slides:



Advertisements
Similar presentations
State Estimation and Kalman Filtering CS B659 Spring 2013 Kris Hauser.
Advertisements

Lirong Xia Probabilistic reasoning over time Tue, March 25, 2014.
Dynamic Bayesian Networks (DBNs)
Lirong Xia Hidden Markov Models Tue, March 28, 2014.
Lirong Xia Approximate inference: Particle filter Tue, April 1, 2014.
Hidden Markov Models Reading: Russell and Norvig, Chapter 15, Sections
Chapter 15 Probabilistic Reasoning over Time. Chapter 15, Sections 1-5 Outline Time and uncertainty Inference: ltering, prediction, smoothing Hidden Markov.
1 Slides for the book: Probabilistic Robotics Authors: Sebastian Thrun Wolfram Burgard Dieter Fox Publisher: MIT Press, Web site for the book & more.
Advanced Artificial Intelligence
Bayes Filters Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in EMF. Read the.
1 Reasoning Under Uncertainty Over Time CS 486/686: Introduction to Artificial Intelligence Fall 2013.
QUIZ!!  T/F: Rejection Sampling without weighting is not consistent. FALSE  T/F: Rejection Sampling (often) converges faster than Forward Sampling. FALSE.
HMMs Tamara Berg CS Artificial Intelligence Many slides throughout the course adapted from Svetlana Lazebnik, Dan Klein, Stuart Russell, Andrew.
Probabilistic reasoning over time So far, we’ve mostly dealt with episodic environments –One exception: games with multiple moves In particular, the Bayesian.
… Hidden Markov Models Markov assumption: Transition model:
CS 188: Artificial Intelligence Fall 2009 Lecture 20: Particle Filtering 11/5/2009 Dan Klein – UC Berkeley TexPoint fonts used in EMF. Read the TexPoint.
Probabilistic Robotics Introduction Probabilities Bayes rule Bayes filters.
CPSC 322, Lecture 31Slide 1 Probability and Time: Markov Models Computer Science cpsc322, Lecture 31 (Textbook Chpt 6.5) March, 25, 2009.
CPSC 322, Lecture 32Slide 1 Probability and Time: Hidden Markov Models (HMMs) Computer Science cpsc322, Lecture 32 (Textbook Chpt 6.5) March, 27, 2009.
Announcements Homework 8 is out Final Contest (Optional)
CPSC 422, Lecture 14Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 14 Feb, 4, 2015 Slide credit: some slides adapted from Stuart.
CS 188: Artificial Intelligence Fall 2009 Lecture 19: Hidden Markov Models 11/3/2009 Dan Klein – UC Berkeley.
Dynamic Bayesian Networks CSE 473. © Daniel S. Weld Topics Agency Problem Spaces Search Knowledge Representation Reinforcement Learning InferencePlanningLearning.
CHAPTER 15 SECTION 3 – 4 Hidden Markov Models. Terminology.
Markov Localization & Bayes Filtering
QUIZ!!  T/F: The forward algorithm is really variable elimination, over time. TRUE  T/F: Particle Filtering is really sampling, over time. TRUE  T/F:
CSE 573: Artificial Intelligence Autumn 2012
Simultaneous Localization and Mapping Presented by Lihan He Apr. 21, 2006.
Recap: Reasoning Over Time  Stationary Markov models  Hidden Markov models X2X2 X1X1 X3X3 X4X4 rainsun X5X5 X2X2 E1E1 X1X1 X3X3 X4X4 E2E2 E3E3.
1 Robot Environment Interaction Environment perception provides information about the environment’s state, and it tends to increase the robot’s knowledge.
CS 188: Artificial Intelligence Fall 2008 Lecture 19: HMMs 11/4/2008 Dan Klein – UC Berkeley 1.
CHAPTER 15 SECTION 1 – 2 Markov Models. Outline Probabilistic Inference Bayes Rule Markov Chains.
UIUC CS 498: Section EA Lecture #21 Reasoning in Artificial Intelligence Professor: Eyal Amir Fall Semester 2011 (Some slides from Kevin Murphy (UBC))
Announcements  Project 3 will be posted ASAP: hunting ghosts with sonar.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 6.1: Bayes Filter Jürgen Sturm Technische Universität München.
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.
CS 416 Artificial Intelligence Lecture 17 Reasoning over Time Chapter 15 Lecture 17 Reasoning over Time Chapter 15.
CS Statistical Machine learning Lecture 24
CSE 473: Artificial Intelligence Spring 2012 Reasoning about Uncertainty & Hidden Markov Models Daniel Weld Many slides adapted from Dan Klein, Stuart.
The famous “sprinkler” example (J. Pearl, Probabilistic Reasoning in Intelligent Systems, 1988)
QUIZ!!  In HMMs...  T/F:... the emissions are hidden. FALSE  T/F:... observations are independent given no evidence. FALSE  T/F:... each variable X.
Probabilistic reasoning over time Ch. 15, 17. Probabilistic reasoning over time So far, we’ve mostly dealt with episodic environments –Exceptions: games.
1 Chapter 15 Probabilistic Reasoning over Time. 2 Outline Time and UncertaintyTime and Uncertainty Inference: Filtering, Prediction, SmoothingInference:
Bayes Nets & HMMs Tamara Berg CS 560 Artificial Intelligence Many slides throughout the course adapted from Svetlana Lazebnik, Dan Klein, Stuart Russell,
CS Statistical Machine learning Lecture 25 Yuan (Alan) Qi Purdue CS Nov
Reasoning over Time  Often, we want to reason about a sequence of observations  Speech recognition  Robot localization  User attention  Medical monitoring.
CSE 473: Artificial Intelligence Spring 2012 Reasoning about Uncertainty & Hidden Markov Models Daniel Weld Many slides adapted from Dan Klein, Stuart.
Probabilistic Robotics Probability Theory Basics Error Propagation Slides from Autonomous Robots (Siegwart and Nourbaksh), Chapter 5 Probabilistic Robotics.
Instructor: Eyal Amir Grad TAs: Wen Pu, Yonatan Bisk Undergrad TAs: Sam Johnson, Nikhil Johri CS 440 / ECE 448 Introduction to Artificial Intelligence.
CSE 473: Artificial Intelligence Spring 2012 Reasoning about Uncertainty & Hidden Markov Models Daniel Weld Many slides adapted from Dan Klein, Stuart.
CS 541: Artificial Intelligence Lecture VIII: Temporal Probability Models.
CS 541: Artificial Intelligence Lecture VIII: Temporal Probability Models.
HMM: Particle filters Lirong Xia. HMM: Particle filters Lirong Xia.
Sequential Stochastic Models
Probabilistic reasoning over time
Markov ó Kalman Filter Localization
Probabilistic Reasoning Over Time
CAP 5636 – Advanced Artificial Intelligence
CS 188: Artificial Intelligence Spring 2007
Probability Topics Random Variables Joint and Marginal Distributions
Instructors: Fei Fang (This Lecture) and Dave Touretzky
Probabilistic Reasoning
Probabilistic Reasoning
Hidden Markov Models Markov chains not so useful for most agents
Chapter14-cont..
Hidden Markov Models Lirong Xia.
Announcements Assignments HW10 Due Wed 4/17 HW11
HMM: Particle filters Lirong Xia. HMM: Particle filters Lirong Xia.
Probabilistic reasoning over time
Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 14
Presentation transcript:

CSE 573: Artificial Intelligence Autumn 2012 Particle Filters for Hidden Markov Models Daniel Weld Many slides adapted from Dan Klein, Stuart Russell, Andrew Moore & Luke Zettlemoyer 1

Homework 2 2

Homework 3 3

Logistics  Mon 11/5 – Resubmit / regrade HW2, HW3  Mon 11/12 – HW4 due  Wed 11/14 – project groups & idea  1-1 meetings to follow  See course webpage for ideas  Plus a new one:  Infinite number of card decks  6 decks  Add state variable 4

Outline  Overview  Probability review  Random Variables and Events  Joint / Marginal / Conditional Distributions  Product Rule, Chain Rule, Bayes’ Rule  Probabilistic inference  Enumeration of Joint Distribution  Bayesian Networks – Preview  Probabilistic sequence models (and inference)  Markov Chains  Hidden Markov Models  Particle Filters

Agent What action next? PerceptsActions Environment Static vs. Dynamic Fully vs. Partially Observable Perfect vs. Noisy Deterministic vs. Stochastic Instantaneous vs. Durative

Simple Bayes Net Defines a joint probability distribution: E1E1 X1X1 Hidden Var Observable Var = P(X 1 ) P(E 1 |X 1 ) P(X 1, E 1 ) = ???

Hidden Markov Model Defines a joint probability distribution: X5X5 X2X2 E1E1 X1X1 X3X3 X4X4 E2E2 E3E3 E4E4 E5E5 XNXN ENEN Hidden Vars Observable Vars

HMM Computations  Given  joint P ( X 1: n, E 1: n )  evidence E 1: n =e 1: n  Inference problems include:  Filtering, find P ( X t |e 1: n ) for current time n  Smoothing, find P ( X t |e 1: n ) for time t < n  Most probable explanation, find x* 1: n = argmax x 1: n P ( x 1: n |e 1: n )

Example  An HMM is defined by:  Initial distribution:  Transitions:  Emissions:

Real HMM Examples  Part-of-speech (POS) Tagging:  Observations are words (thousands of them)  States are POS tags (eg, noun, verb, adjective, det…) X2X2 E1E1 X1X1 X3X3 X4X4 E1E1 E3E3 E4E4 The quick brown fox … det adj adj noun …

Real HMM Examples  Speech recognition HMMs:  Observations are acoustic signals (continuous valued)  States are specific positions in specific words (so, tens of thousands) X2X2 E1E1 X1X1 X3X3 X4X4 E1E1 E3E3 E4E4

Real HMM Examples  Machine translation HMMs:  Observations are words  States are translation options X2X2 E1E1 X1X1 X3X3 X4X4 E1E1 E3E3 E4E4

Real HMM Examples  Robot tracking:  Observations are range readings (continuous)  States are positions on a map (continuous) X2X2 E1E1 X1X1 X3X3 X4X4 E1E1 E3E3 E4E4

Ghostbusters HMM  P(X 1 ) = uniform  P(X’|X) = usually move clockwise, but sometimes move in a random direction or stay in place  P(E|X) = same sensor model as before: red means close, green means far away. 1/9 P(X 1 ) P(X’|X= ) 1/6 0 1/ X2X2 E1E1 X1X1 X3X3 X4X4 E1E1 E3E3 E4E4 E5E5 P(red | 3)P(orange | 3)P(yellow | 3)P(green | 3) P(E|X)

Conditional Independence HMMs have two important independence properties:  Markov hidden process, future depends on past via the present  Current observation independent of all else given current state Quiz: does this mean successive observations are independent?  [No, correlated by the hidden state] X2X2 E1E1 X1X1 X3X3 X4X4 E1E1 E3E3 E4E4

Filtering aka Monitoring, State Estimation  Filtering is the task of tracking the distribution B(X) (the belief state) over time  We start with B(X) in an initial setting, usually uniform  As time passes, or we get observations, we update B(X)  Aside: the Kalman filter  Invented in the 60’s for trajectory estimation in the Apollo program  State evolves using a linear model, eg x = x 0 + vt  Observe: value of x with Gaussian noise

Example: Robot Localization t=0 Sensor model: never more than 1 mistake Motion model: may not execute action with small prob. 10 Prob Example from Michael Pfeiffer

Example: Robot Localization t=1 10 Prob

Example: Robot Localization t=2 10 Prob

Example: Robot Localization t=3 10 Prob

Example: Robot Localization t=4 10 Prob

Example: Robot Localization t=5 10 Prob

Inference Recap: Simple Cases E1E1 X1X1 X2X2 X1X1

Online Belief Updates  Every time step, we start with current P(X | evidence)  We update for time:  We update for evidence:  The forward algorithm does both at once (and doesn’t normalize)  Problem: space is |X| and time is |X| 2 per time step X2X2 X1X1 X2X2 E2E2

Passage of Time  Assume we have current belief P(X | evidence to date)  Then, after one time step passes:  Or, compactly:  Basic idea: beliefs get “pushed” through the transitions  With the “B” notation, we have to be careful about what time step t the belief is about, and what evidence it includes X2X2 X1X1

Example: Passage of Time  As time passes, uncertainty “accumulates” T = 1T = 2T = 5 Transition model: ghosts usually go clockwise

Observation  Assume we have current belief P(X | previous evidence):  Then:  Or:  Basic idea: beliefs reweighted by likelihood of evidence  Unlike passage of time, we have to renormalize E1E1 X1X1

Example: Observation  As we get observations, beliefs get reweighted, uncertainty “decreases” Before observationAfter observation

The Forward Algorithm  We want to know:  We can derive the following updates  To get, compute each entry and normalize

Example: Run the Filter  An HMM is defined by:  Initial distribution:  Transitions:  Emissions:

Example HMM

Example Pac-man

Summary: Filtering  Filtering is the inference process of finding a distribution over X T given e 1 through e T : P( X T | e 1:t )  We first compute P( X 1 | e 1 ):  For each t from 2 to T, we have P( X t-1 | e 1:t-1 )  Elapse time: compute P( X t | e 1:t-1 )  Observe: compute P(X t | e 1:t-1, e t ) = P( X t | e 1:t )

Recap: Reasoning Over Time  Stationary Markov models X2X2 X1X1 X3X3 X4X4 rainsun X5X5 X2X2 E1E1 X1X1 X3X3 X4X4 E2E2 E3E3 E4E4 E5E5 XEP rainumbrella0.9 rainno umbrella0.1 sunumbrella0.2 sunno umbrella0.8  Hidden Markov models

Recap: Filtering  Elapse time: compute P( X t | e 1:t-1 ) Observe: compute P( X t | e 1:t ) X2X2 E1E1 X1X1 E2E2 Belief: Prior on X 1 Observe Elapse time Observe

Add a slide  Next slide (intro to particle filtering) is confusing because the state spaec is so small – show a huge grid, where it’s clear what advantage one gets.  Maybe also introduce parametric representations (kalman filter) here 37

Particle Filtering  Sometimes |X| is too big to use exact inference  |X| may be too big to even store B(X)  E.g. when X is continuous  |X| 2 may be too big to do updates  Solution: approximate inference  Track samples of X, not all values  Samples are called particles  Time per step is linear in the number of samples  But: number needed may be large  In memory: list of particles, not states  This is how robot localization works in practice

Representation: Particles  Our representation of P(X) is now a list of N particles (samples)  Generally, N << |X|  Storing map from X to counts would defeat the point  P(x) approximated by number of particles with value x  So, many x will have P(x) = 0!  More particles, more accuracy  For now, all particles have a weight of 1 Particles: (3,3) (2,3) (3,3) (3,2) (3,3) (3,2) (2,1) (3,3) (2,1)

Particle Filtering: Elapse Time  Each particle is moved by sampling its next position from the transition model  This is like prior sampling – samples’ frequencies reflect the transition probs  Here, most samples move clockwise, but some move in another direction or stay in place  This captures the passage of time  If we have enough samples, close to the exact values before and after (consistent)

Particle Filtering: Observe  Slightly trickier:  Use P(e|x) to sample observation, and  Discard particles which are inconsistent?  (Called Rejection Sampling)  Problems?

Particle Filtering: Observe  Instead of sampling the observation…  Fix It!  A kind of likelihood weighting  Downweight samples based on evidence  Note that probabilities don’t sum to one: (most have been down-weighted) Instead, they sum to an approximation of P(e))  What to do?!?

Particle Filtering: Observe  Slightly trickier:  Don’t do rejection sampling (why not?)  We don’t sample the observation, we fix it  This is similar to likelihood weighting, so we downweight our samples based on the evidence  Note that, as before, the probabilities don’t sum to one, since most have been downweighted (in fact they sum to an approximation of P(e))

Particle Filtering: Resample  Rather than tracking weighted samples, we resample – why?  N times, we choose from our weighted sample distribution (i.e. draw with replacement)  This is equivalent to renormalizing the distribution  Now the update is complete for this time step, continue with the next one Old Particles: (3,3) w=0.1 (2,1) w=0.9 (3,1) w=0.4 (3,2) w=0.3 (2,2) w=0.4 (1,1) w=0.4 (3,1) w=0.4 (2,1) w=0.9 (3,2) w=0.3 New Particles: (2,1) w=1 (3,2) w=1 (2,2) w=1 (2,1) w=1 (1,1) w=1 (3,1) w=1 (2,1) w=1 (1,1) w=1

Recap: Particle Filtering At each time step t, we have a set of N particles (aka samples)  Initialization: Sample from prior  Three step procedure for moving to time t+1: 1.Sample transitions: for each each particle x, sample next state 2.Reweight: for each particle, compute its weight given the actual observation e 3.Resample: normalize the weights, and sample N new particles from the resulting distribution over states

Robot Localization  In robot localization:  We know the map, but not the robot’s position  Observations may be vectors of range finder readings  State space and readings are typically continuous (works basically like a very fine grid) and so we cannot store B(X)  Particle filtering is a main technique

Robot Localization

Which Algorithm? Exact filter, uniform initial beliefs

Which Algorithm? Particle filter, uniform initial beliefs, 300 particles

Which Algorithm? Particle filter, uniform initial beliefs, 25 particles

P4: Ghostbusters  Plot: Pacman's grandfather, Grandpac, learned to hunt ghosts for sport.  He was blinded by his power, but could hear the ghosts’ banging and clanging.  Transition Model: All ghosts move randomly, but are sometimes biased  Emission Model: Pacman knows a “noisy” distance to each ghost Noisy distance prob True distance = 8

Dynamic Bayes Nets (DBNs)  We want to track multiple variables over time, using multiple sources of evidence  Idea: Repeat a fixed Bayes net structure at each time  Variables from time t can condition on those from t-1  Discrete valued dynamic Bayes nets are also HMMs G1aG1a E1aE1a E1bE1b G1bG1b G2aG2a E2aE2a E2bE2b G2bG2b t =1t =2 G3aG3a E3aE3a E3bE3b G3bG3b t =3

Exact Inference in DBNs  Variable elimination applies to dynamic Bayes nets  Procedure: “unroll” the network for T time steps, then eliminate variables until P(X T |e 1:T ) is computed  Online belief updates: Eliminate all variables from the previous time step; store factors for current time only G1aG1a E1aE1a E1bE1b G1bG1b G2aG2a E2aE2a E2bE2b G2bG2b G3aG3a E3aE3a E3bE3b G3bG3b t =1t =2t =3 G3bG3b

DBN Particle Filters  A particle is a complete sample for a time step  Initialize: Generate prior samples for the t=1 Bayes net  Example particle: G 1 a = (3,3) G 1 b = (5,3)  Elapse time: Sample a successor for each particle  Example successor: G 2 a = (2,3) G 2 b = (6,3)  Observe: Weight each entire sample by the likelihood of the evidence conditioned on the sample  Likelihood: P(E 1 a |G 1 a ) * P(E 1 b |G 1 b )  Resample: Select prior samples (tuples of values) in proportion to their likelihood

SLAM  SLAM = Simultaneous Localization And Mapping  We do not know the map or our location  Our belief state is over maps and positions!  Main techniques: Kalman filtering (Gaussian HMMs) and particle methods DP-SLAM, Ron Parr

Best Explanation Queries  Query: most likely seq: X5X5 X2X2 E1E1 X1X1 X3X3 X4X4 E2E2 E3E3 E4E4 E5E5

State Path Trellis  State trellis: graph of states and transitions over time  Each arc represents some transition  Each arc has weight  Each path is a sequence of states  The product of weights on a path is the seq’s probability  Can think of the Forward (and now Viterbi) algorithms as computing sums of all paths (best paths) in this graph sunrainsunrainsunrainsunrain

Viterbi Algorithm sunrainsunrainsunrainsunrain 22

Example 23