Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic...
-
Upload
moses-ramsey -
Category
Documents
-
view
219 -
download
2
Transcript of Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic...
![Page 1: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/1.jpg)
Rao-Blackwellised Particle Filtering
Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin Murphy, and Stuart Russel
Other sources
Artificial Intelligence: A Modern Approach by Stuart Russel and Peter Norvig
Presented by Boris Lipchin
![Page 2: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/2.jpg)
Introduction
PF applications (localization, SLAM, etc) Draw-backs/Benefits Bayes Nets Dynamic Bayes Nets Particle Filtering Rao-Blackwell PF
![Page 3: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/3.jpg)
Bayes Net Example
Adapted from Artificial Intelligence: A Modern Approach (Norvig and Russell)
What is the probability of Burgalry given that John calls but mary doesn't call?
![Page 4: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/4.jpg)
Bayesian Network
Digraph where edges represent conditional probabilities
If A is the parent of B, B is said to be conditioned on A
More compact representation than writing down full joint distribution table
People rarely know absolute probability, but can predict conditional probabilities with great accuracy (i.e. doctors and symptoms)
![Page 5: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/5.jpg)
Bayes Net Example
Adapted from Artificial Intelligence: A Modern Approach (Norvig and Russell)
What is the probability of Burgalry given that John calls but mary doesn't call?
![Page 6: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/6.jpg)
Dynamic Bayesian Networks
Represent progress of a system over time 1st Order Markov DBN: state variables can only
depend on current and previous state DBNs represent temporal probability
distributions Kalman Filter is a special case of a DBN Can model non-linearities (Kalman produces
single multivariate Guassian) Untractable to analyze
![Page 7: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/7.jpg)
Basic DBN Example
Adapted from Artificial Intelligence: A Modern Approach (Norvig and Russell)
Rain0
Rain1
Umbrella1
0.7
P(Rt)
R_t P(R_t+1)T 0.7F 0.3
R_t+1 P(U_t+1)T 0.9F 0.2
Rain0
Rain1
Umbrella1
P(R_t)0.7
R_t P(R_t+1)T 0.7F 0.3
R_t+1 P(U_t+1)T 0.9F 0.2
Rain2
Umbrella2
R_t+1 P(U_t+1)T 0.9F 0.2
R_t P(R_t+1)T 0.7F 0.3
![Page 8: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/8.jpg)
DBN Analysis
Unrolling makes DBNs just like Bayesian Network
Online filtering algorithm: variable elimination As state grows, complexity of analysis per slice
becomes exponential: O( dn+1 ) Necessity for approximate inference
Particle Filtering
![Page 9: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/9.jpg)
Particle Filtering
Constant sample count per slice achieves constant processing time
Samples represent state distribution But evidence variable (umbrella) never
conditions future state (rain)! Weigh future population by evidence likelihood Applications: localization, SLAM
![Page 10: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/10.jpg)
Particle Filtering: Basic Algorithm
Create initial population: Based on P( X
0 )
Update phase: propogate samples Transition model: P( x
t+1 | x
t )
Weigh distribution with evidence likelihood W( x
t+1 | e
1:t+1 ) = P( e
t+1 | x
t+1 ) * N( x
t+1 | e
1:t )
Resample to re-create unweighted population of N samples based on created weighted distribution
![Page 11: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/11.jpg)
Visual example
Adapted from Artificial Intelligence: A Modern Approach (Norvig and Russell)
oooooooo
oo
oooooo
oooo
True
False
Raint
Raint+1
Propogate
oooooo
oooo
Raint+1
oo
oooooooo
Raint+1
Weight Resample
⌐umbrella
This method converges assymptotically to the real distribution as N → ∞
![Page 12: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/12.jpg)
RBPF
Key concept: decrease number of particles neccessary to achieve same accuracy with regular PF
Requirement: Partition state nodes Z(t) into R(t) and X(t) s.t.:
P( R1:t
| Y1:t
) can be predicted with PF
P( Xt | R
1:t,Y
1:t ) can be updated analytically/filtered
Paper does not describe partitioning methods, efficient partitioning algorithms are assumed
![Page 13: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/13.jpg)
RBPF: Concept Proof
PF approximates P( Z1:t
| Y1:t
) = P( R1:t
, X
1:t | Y
1:t )
Remember state space Z partitioned into R and X
P( R1:t
, X1:t
| Y1:t
) = P( R1:t
| Y1:t
) * P( Xt | R
1:t,Y
1:t )
By chain rule property of probability Sampling just R requires fewer particles,
decreasing complexity Sampling X becomes amortized constant time
![Page 14: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/14.jpg)
RBPF DBNs – remember arrows
Adapted from Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks (Murphy and Russell 2001)
![Page 15: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/15.jpg)
RBPF DBNs
R(t) is called a root, and X(t) a leaf of the DBN (a) Is a canonical DBN to which RBPF can be
applied (b) R(t) is a more common partitioning as it
simplifies the Particle Filtering of the root in the RBPF
(c) Is a convenient partitioning when some root nodes model discontinuous state changes, and others some are the parent of the observation, and model observed outliers
![Page 16: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/16.jpg)
RBPF: Algorithm
Root marginal distribution: δ is the Dirac delta function w is the weight of the i-th particle at slice t and is
computed by
and then normalized. Leaf marginal:
![Page 17: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/17.jpg)
RBPF: Update, Propogate, Weigh
The root particles in RBPF are propogated much like PF particles
The leaf marginal propogation is computed with an optimal filter (Rao-Blackwellisation step)
The leaf and root nodes together compose the entire state of the system, and thus can be weighted and resampled for the next slice.
![Page 18: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/18.jpg)
Example: Localization
SLAM: P( x, m | z, u )= p( m | x, z, u)p( x | z, u )
m is the leaf, x is the root in the RBPF Particle updates based on input, expensive, we
keep number of particles down
pose map observations odometryMapping conditioned on position and world
Particle filter for position hypothesis
![Page 19: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/19.jpg)
The Scenario
Assume a world of two blue and yellow states labeled a and b (left to right)
A robot can successfuly move between adjacent states with a probabilty P
m=.5
(transition model) The robot is equipped with a color sensor that
correctly identifies color with probability Pc=.6
![Page 20: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/20.jpg)
RBPF SLAM
Using N = 5 particles P(X) represents state distribution (localization) P(M) represents color distribution (mapping) Prior for colors is an even distribution
(unmapped) For simplicity, P(X=a) = 1, P(X=b) = 0
![Page 21: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/21.jpg)
RBPF SLAM
Randomly select particles according to prior distribution (labeled by number)
arrow represents real robot position/detected color
Create particles based on color
1,5,4 2,1,3
.5 .5
Remember: This means particle 1 hallucinates yellow in both boxes, particle 2 hallucinatees yellow only in right box and blue in left, so on and so forth.
Represents mapping based on particle count
![Page 22: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/22.jpg)
RBPF SLAM
P(X(t)=a) = 1 Calculate weights:
W1 -> P(E(a)=y | M(a)=y,M(b)=y)=P(E(a)=y)*P(M(a)=y | E(a)=y)*P(M(b)=y | E(a)=y,M(a)=y)/
( P(M(a)=y)*P(M(b)=y | M(a)=y) ) = .5 * .6 * .5 / (.5 * .5) = .6
W2 -> P( E(a)=y | M(a)=b,M(b)=y)=P(E(a)=y)*P(M(a)=b | E(a)=y)*P(M(b)=y | E(a)=y, M(a)=b)/
( P(M(a)=b)*P(M(b)=y | M(a)=b) )=.5 * .4 * .5 / (.5 * .5) = .4
You can calculate these guys ad nauseum
1,5,4 2,1,3
robot
.5 .5
![Page 23: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/23.jpg)
RBPF SLAM
P(X(t)=a) = 1 Next step is to resample based on weights
(shown below) Find P(X(t)) distribution given previous state
and current map
1,5,2,4 1,3
robot
.8 .4
![Page 24: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/24.jpg)
RBPF SLAM
Calculate new weights Weigh samples and resample to obtain updated
distribution for the particles estimate X(t) using optimal filter, evidence, and
previous location
1,5,2,4 1,3
robot
.8 .4
![Page 25: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/25.jpg)
RBPF SLAM: Key Ideas
Imagine if X(t) was part of state space Calculations increase with number of states Number of particles
RBPF simplifies calculations by giving one a ”free” localization with an optimal filter
![Page 26: Rao-Blackwellised Particle Filtering Based on Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks by Arnaud Doucet, Nando de Freitas, Kevin.](https://reader030.fdocuments.in/reader030/viewer/2022032722/56649ced5503460f949ba23e/html5/thumbnails/26.jpg)
Questions?