* Open-Universe State Estimation with DBLOG Rodrigo de Salvo Braz*, Erik Sudderth, Nimar Arora and Stuart Russell 1.

Download Report

Transcript * Open-Universe State Estimation with DBLOG Rodrigo de Salvo Braz*, Erik Sudderth, Nimar Arora and Stuart Russell 1.

*
Open-Universe State Estimation with DBLOG
Rodrigo de Salvo Braz*, Erik Sudderth, Nimar Arora and Stuart Russell
1. What is DBLOG?
2. What changes from BLOG to DBLOG?
DBLOG vs. Data Association methods
DBLOG stands for Dynamic BLOG (Bayesian LOGic).
BLOG is very expressive and can already represent temporal
models easily.
Data Association (DA) methods (e.g. Sittler '64) are ad hoc solutions to the data
association problem, the problem of tracking unobservable sources (in our example,
aircraft) from observations (blips).
It is the counterpart of Dynamic Bayesian Networks in the BLOG
framework.
As such, it is a specialization of BLOG algorithms and representation
targetted at temporal processes.
A specialization is necessary because the temporal structure can be
exploited for more efficient inference, and the general BLOG
algorithms do not know about it.
Representation-wise, DBLOG only needs to know which of the
predicates in a BLOG model are to be taken as temporal indices.
This is done by using a special type, Timestep (see example).
Timestep behaves like natural numbers (even regular BLOG can
process it), but DBLOG uses its temporal interpretation for
efficiency.
3. DBLOG (and also BLOG) model example
4. Particle Filtering
#Aircraft ~ Poisson[3];
random Real Position(Aircraft a, Timestep t)
if t = @1
then ~ UniformReal[-10, 10]()
else ~ Gaussian(Position(a, Prev(t)), 2);
State samples
for t - 1
Samples weighed by evidence
Likelihood
weighting
// num of blips from aircraft a is 0 or 1
#Blip(Source = Aircraft a, Time = Timestep t)
~ TabularCPD[[0.2, 0.8]]()
resampling
// num false alarms has Poisson distribution.
#Blip(Time = Timestep t) ~ Poisson[2];
random Real ApparentPos(Blip b, Timestep t)
~ Gaussian(Position(Source(b), Prev(t)), 2));
... (previous timesteps have their own variables previously sampled)
Position(a2,@1)
Position(a2,@2)
#Blip(a1,@2)=1
ApparentPos(b1)
(this blip is b1)
#Blip(a2,@2)=0
(no blips from a2)
The key to this disparity is that ad hoc methods effectively replace the original model by
one with a variable for “the number of sources not previously observed”. Alas, this
solution is also available to DBLOG users, who can rewrite their model in the same
manner. Doing so automatically would amount to performing lifted inference on BLOG
models, an important future research direction.
Backinstantiation
Suppose we use DBLOG in a way that does not require instantiation of all hypothesized
sources (as in the above model rewrite, or in some other examples, by lazy
instantiation). When a DA method instantiates a new hypothesized source, it does so in
constant time. In DBLOG, on the other hand, when a source is finally instantiated its
state will depend on its state on the previous timestep. So that has to be instantiated as
well, and it will also depend on its previous state. We end up having to instantiate the
entire chain all the way to the first state, and update time for the particle becomes
dependent on the length of the entire chain.
Position(a1,@1)
Position(a1,@2)
Position(a2,@1)
Position(a2,@2)
...
...
Position(a1,@15)
Position(a2,@15)
#Aircraft = 2
(aircraft are a1, a2)
Position(a1,@2)
DA methods typically do not keep instantiated information about previously unobserved
sources (in our example, aircraft). Instead, they instantiate a new source if an
observation does not fit previously observed sources. Direct application of DBLOG, on
the other hand, will instantiate all hypothesized sources (for the specific example
presented).
evidence at t
For DBLOG PF, regular BLOG inference in each particle
Position(a1,@1)
State samples
for t
Instantiation of all hypothesized sources
(false alarm blips are b2 and b3)
#Blip(@2)=2
ApparentPos(b2)
ApparentPos(b3)
Lazy
evidence likelihood
instantiation
{ApparentPos(b) for Blip b : Time(Source(b)) = @2}
up to
computed
parentless
nodes
evidence: obs {ApparentPos(b) for Blip b} = {1.2, 3.1, 4.0};
The key to this disparity is, again, an ad hoc rewriting of the model. DA methods use
knowledge of the specific model to derive a source state distribution conditioned on its
having not being observed so far. The state of a source being observed for the first time
can then be sampled from that distribution, which does not depend on previous steps.
Again, this solution is available to DBLOG users by the corresponding rewrite of the
model.
A hidden assumption
An important point to note is that the distribution conditioned on “lack of observations
so far” may be hard to compute exactly. DA models (like Sittler’s) simply assume that
the state distribution of a newly observed object remains the same throughout. The
state of an unobserved object could depend on the other, previously observed sources,
for example. Or, if certain states are more likely to be observed than others, then the
lack of observations is evidence that induces a posterior state distribution. The
assumptions and approximations made by DA models have gone largerly
unacknowledged so far.
Research supported by Defense Advanced Research Projects Agency (DARPA) through the Department of the Interior, NBC, Acquisition Services Division, under Contract No. NBCHD030010.