Fast maximum a posteriori inference in Monte Carlo state spaces

Transcription

Fast maximum a posteriori inference in Monte Carlo state spaces
Fast maximum a posteriori inference in Monte Carlo state spaces
Mike Klaas
Dustin Lang
Nando de Freitas
{klaas,dalang,nando}@cs.ubc.ca
Machine Learning Group
University of British Columbia
Na¨ıve computation
• Still most commonly-used technique
Distance transform (Huttenlocher et al., 2003)
• Computes weighted max kernel on a
d
d-dimensional regular grid in O(dN ) time,
or on a 1D MC grid in O(N log N ) time.
2
• Kernel is limited to exp −kx − yk
(Gaussian) or exp {−kx − yk} (L1)
MAP particle smoothing for a non-linear
multi-modal time series problem.
3
2
1
10
1
10
0
Applications
MAP belief propagation
• Discrete message computation
• N = M = size of state space
MAP particle smoothing
M
AP
• We wish to compute p x
|y in a
Monte Carlo (MC) state space.
• N = M = number of particles used in the
filtering step
−2
−1
10
10
3
−3
4
10
10
10
2
3
10
Particles
Dual-tree method
4
10
10
Particles
Same complexity but higher constant factors
Dual-tree is faster after 10ms (O(N log N ))
Results: other factors
Synthetic test with fixed N : dimensionality, clustering (uniform; generated from k Gaussians),
2
and spatial index (kd-trees; metric trees). Dual-tree methods can exceed O(N ) cost!
naive
anchors
kd−tree
2
10
8
10
7
10
naive
anchors
kd−tree
1
10
Dimensions (k = 20)
1
10
40
1
uniform
−1
40
1
1
0
10
anchors
kd−tree
1
10
10
6
anchors
kd−tree
10
1
10
Dimensions (k = 100)
40
40
k=4
anchors
kd−tree
anchors
kd−tree
1
1
10
1
10
k=20
40
1
10
40
k=100
Discussion
Why Monte
Carlo grids?
• Do not suffer from exponential blowup in high dims.
• Focus on “interesting” parts
of the state space
−1
10
10
10
Assume: K(·) parameterized by a distance
function: K(x, y) = K (δ(x, y)).
Main idea: build a spatial access tree on
the source and target points, and use this to
bound the value of the maximum influence
and prune candidate nodes which cannot
contain a particle that exceeds this bound.
The bound tightens as we expand the tree,
allowing more nodes to be pruned and leaving but a few to check at the end.
Point-node comparison example (left):
0
10
kd−tree = 1
Costs O(M N ): prohibitive for large N, M
naive
dual−tree
Relative time (s)
= max wiK(xi, yj )
i
2
10
10
Distance computations
M
AX
fj
• Beat-tracking using particle smoothing
• 3D MC state space (Lang and de Freitas, 2004).
naive
dual−tree
dist. transform
10
2
Results: Beat Tracking
Time (s)
To find:
• For each target Y particle, the X particle
of maximum influence:
Results: 1D time series
Time (s)
Given:
• A set of source points {xi}, i = 1 . . . N
• A set of source weights {wi}
• A set of target points {yj }, j = 1 . . . M
• An affinity kernel K(·)
Current approaches
Time (s)
The Problem
Further gains can be had by considering
node-node pairs. This is known as Dual-tree
recursion (Gray and Moore, 2000) (right).
• Dual-tree methods provide substantial • The algorithm has more overhead than
performance gains in a wide variety of the distance transform, so the latter
MAP inference settings.
should be used when possible.
• Applies to a wider variety of kernels • Depends heavily on structure in the
than the distance transform, and handles data, kernel, and spatial index; further
Monte Carlo grids in high dimensions.
investigation into these factors is needed.