learning dynamical systems with gaussian … › doc › researchtalk2014.pdfoutline i time series...

34
Learning Dynamical Systems with Gaussian Processes Roger Frigola University of Cambridge Machine Learning Group 24th February 2014

Upload: others

Post on 26-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Learning Dynamical Systemswith Gaussian Processes

Roger Frigola

University of CambridgeMachine Learning Group

24th February 2014

Page 2: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Outline

I Time series and dynamical systems.

I GPs to learn from long time series.

I Inference and learning in GP state-space models.

I Fully Bayesian learning.

I Stochastic approximation EM.

Page 3: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning
Page 4: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning
Page 5: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning
Page 6: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Probabilistic Models of Time Series

Auto-regressive model (AR, ARX, NARX...)

y0 y1 y2 y3 ...

State-space models (SSM)

x0 x1 x2

y0 y1 y2

...

Page 7: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Gaussian Processes for Time Series

Linear auto-regressive and state-space models with Gaussiannoise define a Gaussian process

y(t) ∼ GP(m(t), k(t , t ′)) (1)

What about nonlinear systems?

Page 8: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Integrated Pre-Processing for GP-NARX(Frigola and Rasmussen, CDC 2013)

1. Can we learn nonlinear Bayesian nonparametric modelsfrom large datasets?

2. Can we do so in the presence of observation noise?

Page 9: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Nonlinear Auto-regressive Model

yt = f (yt−1, ...,yt−ny ) + δt .

y0 y1 y2 y3 ...

Page 10: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Nonlinear Auto-regressive Model

f (Yt−1) = ft | Yt−1 ∼ GP(mf (Y), kf (Y,Y′)

),

yt | ft ∼ p(yt | ft ,θ),

whereYt−1 = {yt−1, ...,yt−ny}.

y0 y1 y2 y3 y4

f2 f3 f4

Page 11: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Integrated Pre-Processing for GP-NARX

Non-Markovian model with hidden states with approximatesmoothing.

y0 y1 y2 y3

y0 y1 y2 y3

...

Use your favourite pre-processing step (e.g. low-pass filter) toobtain a “clean” version of y0:T

y0:T ≈ h(y0:T , ω)

Page 12: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Joint Pre-Processing and Learning

We have a regression problem where the regressors are thepre-processed signals

yt = f (yt−1, yt−2, ...) + δt .

Find a posterior distribution over f (·) using Gaussian processregression.

Page 13: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Joint Pre-Processing and Learning

(ωOpt, θOpt) = arg maxω,θ

log p(y0:T |X (ω), θ)

where X (ω) denotes a matrix of filtered regressors.

The marginal likelihood results from integrating analytically thelatent variables f0:T

p(y0:T |X (ω), θ) =

∫p(y0:T |f0:T , θ)︸ ︷︷ ︸

Likelihood

p(f0:T |X (ω), θ)︸ ︷︷ ︸GP prior

df0:T

Page 14: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Silverbox benchmark (T = 1.3 · 105)

Signals contaminated with different levels of Gaussian iidnoise.

0 10 20 30 40 50 60 70 80

10−4

10−3

10−2

SNR [dB]

RM

SE [V

]Silverbox benchmark

GP−FNARX (SoD), 23±2GP−FNARX (FITC), 23±2GP−NARX (SoD), 14±1GP−NARX (FITC), 14±1wavenet nlarx, 5±1sigmoidnet nlarx, 83±9treepartition nlarx, 7±0wavenet nlarx (filt), 6±2sigmoidnet nlarx (filt), 74±11treepartition nlarx (filt), 7±0

0 10 20 30 40 50 60 70 80

10−3

10−2

10−1

SNR [dB]

RM

SE [V

]

Wiener−Hammerstein benchmark

GP−FNARX (SoD), 25±2GP−FNARX (FITC), 25±2GP−NARX (SoD), 16±1GP−NARX (FITC), 16±1wavenet nlarx, 7±3sigmoidnet nlarx, 85±12treepartition nlarx, 8±0wavenet nlarx (filt), 5±1sigmoidnet nlarx (filt), 85±8treepartition nlarx (filt), 8±0

Page 15: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Wiener-Hammerstein benchmark (T = 1.9 · 105)

Signals contaminated with different levels of Gaussian iidnoise.

0 10 20 30 40 50 60 70 80

10−4

10−3

10−2

SNR [dB]

RM

SE [V

]

Silverbox benchmark

GP−FNARX (SoD), 23±2GP−FNARX (FITC), 23±2GP−NARX (SoD), 14±1GP−NARX (FITC), 14±1wavenet nlarx, 5±1sigmoidnet nlarx, 83±9treepartition nlarx, 7±0wavenet nlarx (filt), 6±2sigmoidnet nlarx (filt), 74±11treepartition nlarx (filt), 7±0

0 10 20 30 40 50 60 70 80

10−3

10−2

10−1

SNR [dB]

RM

SE [V

]Wiener−Hammerstein benchmark

GP−FNARX (SoD), 25±2GP−FNARX (FITC), 25±2GP−NARX (SoD), 16±1GP−NARX (FITC), 16±1wavenet nlarx, 7±3sigmoidnet nlarx, 85±12treepartition nlarx, 8±0wavenet nlarx (filt), 5±1sigmoidnet nlarx (filt), 85±8treepartition nlarx (filt), 8±0

Page 16: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Recap

I Practical Bayesian nonparametric nonlinear systemidentification for > 105 data points in a few seconds.

I From raw data to model without human intervention.

I Deals with measurement noise.

I The user can select its own preferred data pre-processingmethod.

Page 17: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

State-Space Models

xt+1 = f (xt ,ut) + vt ,

yt = g(xt ,ut) + et .

x0 x1 x2

y0 y1 y2

...

Page 18: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Gaussian Process State-Space Models

f (xt) = ft+1 | xt ∼ GP(mf (x), kf (x,x′)

),

xt+1 | ft+1 ∼ N (xt+1 | ft+1,Q),

yt | xt ∼ p(yt | xt ,θy ).

x0 x1 x2 x3

f1 f2 f3 ...

y0 y1 y2 y3

Page 19: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Fully Bayesian Inference and Learningin GP-SSMs(Frigola, Lindsten, Schon and Rasmussen, NIPS 2013)

I Prior work had found MAP estimates of x0:T and θ.

I What if dim(xt) << dim(yt) does NOT hold?

I Can we have a fully Bayesian treatment of this model?

Page 20: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Marginalizing out the State TransitionFunction

Marginal prior over state trajectories p(x0:T | θ):

p(x1:T | θ,x0) =T∏

t=1

p(xt | θ,x0:t−1)

=T∏

t=1

N(xt | µt(x0:t−1),Σt(x0:t−1)

),

Page 21: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Prior over State Trajectories

0.0920.093

0.0940.095

0.0960.097

0.0980.099

0.10.101

0.092

0.094

0.096

0.098

0.1

0.102

1000

2000

3000

4000

5000

6000

7000

8000

x1

x0 = 0.1; x3 = 0.095

x2

Page 22: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Sampling from Prior over State Trajectories

−2 0 2−2

0

2

xi

x i+1 −

xi

5 10 15 20 25 30 35 40 45 50−4−2024

Time

x

−5 0 5−2

0

2

xi

x i+1 −

xi

5 10 15 20 25 30 35 40 45 50

−2024

Time

x

−2 0 2−5

0

5

xi

x i+1 −

xi

5 10 15 20 25 30 35 40 45 50−4−2024

Time

x

0 2 4−2

0

2

xi

x i+1 −

xi

5 10 15 20 25 30 35 40 45 50

−20246

Time

x

Page 23: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Posterior Sampling with Particle MCMC

Target p(x0:T ,θ | y0:T ).

Particle Gibbs with Ancestor Sampling (Lindsten, Jordan andSchon, NIPS 2012) is an efficient PMCMC sampler fornon-Markovian problems.

1. Set θ[0] and x0:T [0] arbitrarily.2. For ` ≥ 1 do

2.1 Draw θ[`] ∼ p(θ | x0:T [`− 1],y0:T ) with slice sampling.

2.2 Run CPF-AS targeting p(x0:T | θ[`],y0:T ), conditionally onx0:T [`− 1].

2.3 Sample k with P(k = i) = w iT and set x1:T [`] = xk

1:T .3. end

Page 24: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Samples from the Smoothing DistributionSolve the Learning Problem

Making predictions

p(f∗ | x∗,y0:T ) =

∫p(f∗ | x∗,x0:T ,θ) p(x0:T ,θ | y0:T ) dx0:T dθ.

Using samples from p(x0:T ,θ | y0:T )

p(f∗ | x∗,y0:T ) ≈1L

L∑l=1

p(f∗ | x∗,x0:T [l],θ[l])

=1L

L∑l=1

N (f∗ | µl(x∗),Σl(x∗)),

where µl(x∗) and Σl(x∗) follow the expressions for thepredictive distribution in standard GP regression.

Page 25: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

1-dimensional Benchmark System

xt+1 = axt + bxt

1 + x2t+ cut + vt , vt ∼ N (0,q),

yt = dx2t + et , et ∼ N (0, r).

0 10 20 30 40 50 60

−20

−15

−10

−5

0

5

10

15

20

Time

Sta

te

SamplesGround truth±(max(y

t,0)/d)1/2

Page 26: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

State transition function

−20−15

−10−5

05

1015

20

−1

−0.5

0

0.5

1

−20

−15

−10

−5

0

5

10

15

20

x(t)u(t)

f(t)

Black: ground truth

Red: samples from smoothing distribution

Green: GP mean function

Page 27: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

4-dimensional Cart and Pole System

One step ahead predictive distribution for each of the states ofthe cart and pole:

300 3508

10

12

14

16

x

300 350

−2

0

2

x

300 350

−10

−5

0

5

10

θ

300 350

−2

−1

0

1

2

θ

Black: ground truth.

Coloured band: one standard deviation predictive.

Page 28: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Maximum Likelihood for GP-SSMs(Frigola, Lindsten, Schon and Rasmussen, IFAC World Congress 2014)

θML

= arg maxθ

p(y0:T | θ).

Need to integrate out state trajectory (f0:T alreadymarginalised)

p(y0:T | θ) =∫

p(y0:T | x0:T ,θ)p(x0:T | θ) dx0:T .

Page 29: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

EM for GP-SSMs

Surrogate cost function for the ML problem

Q(θ,θ′) =Ex0:T |y0:T ,θ′ [log p(y0:T ,x0:T | θ)]

=

∫log p(y0:T ,x0:T | θ)p(x0:T | y0:T ,θ

′)dx0:T .

EM algorithm, initialise θ0 and iterate:

(E) Compute Q(θ,θk−1).

(M) Compute θk = arg maxθ Q(θ,θk−1).

Page 30: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Particle Stochastic Approximation EM

How to run EM when integrals are intractable?

I Monte Carlo EM

I Stochastic Approximation EM

I Particle Stochastic Approximation EM (Lindsten, 2013)

Page 31: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Particle Stochastic Approximation EM

Stochastic approximation of the auxiliary quantity

Qk (θ) ≈ Q(θ,θk−1).

Updates

Qk (θ) = (1− γk )Qk−1(θ) + γk log p(y0:T ,x0:T [k ] | θ)

where∑

k γk =∞ and∑

k γ2k <∞.

We can reuse old samples!

Page 32: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Maximum Likelihood for GP-SSMs

−20−10

010

20

−1

−0.5

0

0.5

1

−20

−10

0

10

20

xu

f(x,

u)

Black mesh: ground truth.

Coloured surface: mean predictive, coloured according to variance.

Page 33: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning

Current/Future Work

I Is it possible to learn GP-SSMs using deterministicapproximate inference? Variational GPs a la Titsias andLawrence.

I Inducing inputs for sparse GPs in sampling approaches.

I Training with mini-batches of data.

Page 34: Learning Dynamical Systems with Gaussian … › doc › researchtalk2014.pdfOutline I Time series and dynamical systems. I GPs to learn from long time series. I Inference and learning