tecniche computazionali avanzatetecniche computazionali avanzate a.a. 2007/08 enza messina modelli...
TRANSCRIPT
Tecniche Computazionali
Avanzate
Enza MessinaA.A. 2007/08
Modelli Probababilistici per le Decisioni
Filtri di Kalman
OBIETTIVO:
Stimare lo stato (es.: posizione e velocità) di un sistema fisico partendo da una sequenza di osservazioni rumorose
Modello di transizione: descrive la fisica di moto
Modello sensoriale: descrive il processo di misurazione
Il sistema è descritto da un insieme di variabili continue (es.: posizione (X,Y,Z) e velocità (X,Y,Z) )
Filtri di Kalman
Idea base: prior rappresentate da distribuzioni normali multivariate
La Gaussiana è unimodale, ha un solo massimo: la probabilità a posteriori si focalizza attorno al vero stato con poca incertezza
Per il modello di transizione e il modello sensoriale si usano distribuzioni gaussiane lineari:- lo stato successivo deve essere funzione lineare dello stato corrente più un rumore gaussiano
Il filtro di Kalman implementa il fitro Bayesiano parametrizzando la gaussiana attraverso i suoi momenti
1+tX
tX
Filtri di Kalman
Consideriamo per esempio che lo stato sia descritto da una sola coordinata X, sia ∆ l’intervallo tra le osservazioni e presumiamo che la velocità sia costante.
L’aggiornamento della posizione sarà dato da
∆+= XXX ∆+=∆+ XXX tt
Modello di Transizione Gaussiano Lineare
Se aggiungiamo rumore gaussiano otteniamo
))(,(),|( ∆+∆+∆+ ∆+==== tttttttt xxxNxXxXxXP σ
Filtri di Kalman
Modello di Transizione Gaussiano Lineare
))(,(),|( ∆+∆+∆+ ∆+==== tttttttt xxxNxXxXxXP σ
Filtri di Kalman
Passo di predizione:
se P(Xt|e1:t) è Gaussiana, allora la previsione
P(Xt+1|e1:t) = tx tttt dxexPxXPt∫ + )|()|( :11 è gaussiana
Passo di aggiornamento:
se P(Xt+1|e1:t) è Gaussiana, allora la distribuzione aggiornata
P(Xt+1|e1:t+1) = )|()|( :1111 tttt eXPXeP +++α è gaussiana
Quindi P(Xt|e1:t) è Gaussiana multivariata per ogni t
Questo è importante perché per distribuzioni non lineari non gaussiane si generano distribuzioni a posteriori la cui rappresentazione cresce senza limiti nel tempo ! (assumono forme sempre più complesse)
Esempio ad 1 dimensione
Passeggiata casuale sull’asse delle X, dev. std. σx,
con osservazione rumorosa Z con dev. std (del sensore) σz,
Presumiamo che la distribuzione a priori sia una gaussiana
−−
200 )(1 µx
−−=
20
00 )(
21
0 )( σµ
α
x
exP
Il modello di transizione aggiunge allo stato corrente una perturbazione gaussiana
−−
+
+
=2
21 )(
21
1 )|( x
tt xx
tt exxP σα
Esempio ad 1 dimensione
Il modello sensoriale prevede un rumore sempre gaussiano
−−=
2
2)(
21
)|( z
tt xz
tt exzP σα
Possiamo calcolare la predizione ad un passo:
00011 )()|()( dxxPxxPxP ∫∞
∞−= 0
)(
21)(
21
20
200
2
201
dxee
xxx
x
−−∞
∞−
−−
∫= σµ
σα
0
)()(
21
220
200
2201
20
dxe x
x xxx
∫∞
∞−
−+−−= σσ
µσσ
α
Possiamo calcolare la predizione ad un passo:
L’esponente è la somma di due espressioni quadratiche……….
Esempio ad 1 dimensione
=)( 1xP
+−−
220
201 )(
21
x
x
e σσµ
α
La distribuzione predetta è anch’essa gaussiana con la stessa media media e una varianza pari alla somma della varianza originale e di quella di transizione
Esempio ad 1 dimensione
− − 22 )(1)(1 xxz µ
Per completare il passo di aggiornamento dobbiamo condizionare il nuovo stato sull’osservazione del primo istante temporale
)()|()|( 11111 xPxzPzxP α=
+−−
−−=
220
201
2
211 )(
21)(
21
xz
xxz
ee σσµ
σα
L’esponente è la somma di due espressioni quadratiche……….
Esempio ad 1 dimensione
L’esponente è la somma di due espressioni quadratiche……….
( )
( )
++++−
−
2
2220
02
122
01
1 zx
zx zx
σσσµσσσ
( )( )
++
+ ++
−
=222
0
2220
0
21
zx
zx
zx
eσσσ
σσσσσσ
α
Esempio ad 1 dimensione
( )
( )( )
+++
++++−
−
=222
0
2220
2
2220
02
122
01
21
zx
zx
zx
zx zx
eσσσ
σσσσσσ
µσσσ
αLa nuova media e deviazione standard possono essere calcolate come:
( )222
21
22
1zxt
tzxtt
z
σσσµσσσ
µ++++
=+( )
( )222
222
1zxt
zxtt σσσ
σσσσ
+++
=+
= eα
Esempio ad 1 dimensione
Il caso generale
La caratteristica chiave delle distribuzioni gaussiane è che l’esponente sia in forma quadratica (permette il filtraggio di Kalman)
Questo continua ad essere vero anche nel caso multivariato:
( )1 ( ))()(21 1
))(,(µxΣµx
xΣµ−−− −
=T
eN αCome nel caso univariato l’aggiornamento del filtraggio conserva la natura gaussiana della distribuzione di stato.
Filtro di Kalman: caso generale
Errore di predizione
Peso dell’osservazione
KF algoritmo:
Algoritm Kalman_Filter(µt-1, Σt-1, ut, zt):
2:
3:
4: % Kalman Gain
5:
6:
return µt, Σt
% misura aspettata,
innovazione
Computationally quite efficient
KF alterna un passo di aggiornamento della misura, nel quale i dati sensoriali vengono integrati nella belief attuale ad un passo di predizione (o aggiornamento del controllo) che modifica la belief in accordo con l’azione
Tracking 2D: smoothing
Quando non funziona
Extended Kalman Filter:
KF: - oss funzioni lineari dello stato,
- stato successivo funzione lineare stato attuale
Trasformazioni tra stati e misure raramente funzioni lineari
EKF: prob transizione tra stati e prob misura regolate EKF: prob transizione tra stati e prob misura regolate da funzioni NON lineari g ed h
xt=g(xt-1)+εt
zt=h(xt)+δt
EKF calcola un’approx gaussiana per la vera distribuzione.
Approssima g e h con un’espansione di Taylor del primo ordine nel punto che è media della gaussiana approssimata allo step precedente.
EKF: linearizzazione
Approssima g e h con un’espansione di Taylor del primo ordine nel punto che è media della gaussiana approssimata allo step precedente.
g(ut,xt-1) = g(ut,µt-1)+g’(ut,µt-1)(xt-1-µt-1)
=g(ut,µt-1+Gt(xt-1-µt-1) G Jacobiano di g=g(ut,µt-1+Gt(xt-1-µt-1) G Jacobiano di g
p(xt|ut,xt-1) t
det(2π Rt)-1/2exp-1/2(xt-g(ut,µt-1)-Gt(xt-1-µt-1))TRt-1(xt-g(ut,µt-1)-Gt(xt-1-µt-1))
H Jacobiano di h
EKF algoritmo:
Algoritm Extended_Kalman_Filter(µt-1, Σt-1, ut, zt):
2:
3:
4:
5:
6:
return µt, Σt
predizioni lineari in EKF sostituite dalle loro generalizzazioni NON lineari.
Usa gli Jacobiani Gt e Ht invece delle matrici lineari At, Bt e Ct
Filtri Gaussiani:
Filtro di Kalman: implementa il Filtro di Bayes parametrizzando la Gaussiana attraverso i suoi momenti.
Extended Kalman Filter: è l’estensione dei filtri di Extended Kalman Filter: è l’estensione dei filtri di Kalman a problemi non lineari
Reti Bayesiane Dinamiche
Ogni fetta temporale di di una DBN puo’ avere un numero arbitrario di variabili di stato Xt e di variabili di prova Et
Per semplicità supporremo che vengano replicate esattamente da un istante all’altro e che valga la proprietà Markoviana del primo ordine
Reti Bayesiane vs HMM
Ogni HMM è una DBN
Ogni DBN può essere rappresentata come HMM combinando le variabili di stato in una megavariabile
Il vantaggio della DBN è la compattezza di rappresentazione
-> meno parametri -> inferenza più efficiente
ES.: DBN con 20 var booleane con 3 genitori ciascuna (nella time slide precedente ) -> 20 x23 =160
HMM -> 220 stati -> 240 parametri (circa un trilione di parametri!)
Reti Bayesiane vs Kalman Filters
Ogni Kalman Filter è una DBN
Raramente una DBN puo’ essere rappresentata con un KF perché il mondo reale non è sempre gaussiano!!!
Es: dove è Bin Laden ?
Costruire le DBN
Per costruire una DBN occorre specificare:- Distribuzione a priori delle variabili di stato
- Il modello di transizione- Il modello sensoriale (stazionari)
Qundi occorre specificare la topologia delle connessione tra istanti temporali diversi e tra variabili di stato e variabili di prova
Costruire le DBN
Consideriamo un altro esempio: la supervisione di un robot alimentato a batteria che si muove su un piano X-Y
Variabili di stato: includono posizione Xt=(X,Y) e velocità Xt=(X,Y)
Variabili prova: Zt misura data da un qualche dispositivo (es.: telecamera, GPS)
t telecamera, GPS)
La posizione nell’istante temporale successivo dipende dalla posizione e dalla velocità correnti, la velocità al passo successivo dipende dalla velocità corrente e dal livello di batteria. Il livello di batteria dipende dalla velocità e dal livello di betteria correnti. La variabile di prova Bmisura misura il livello stesso della batteria.
Costruire le DBN
Supponiamo che Batteria e Bmisura possano assumere valori discreti da 0 a 5.
Se il sensore fosse accurato……
Ma i sensori falliscono ! Il caso tipico è il fallimento transitorio.
Supponiamo venti letture a livello 5 ed una a livello 0
La risposta del modello dipende da:
P(Bmisura21=0|Batteria21) Modello sensorialeP(Batteria21|Bmisura1:20) Previsione
Per un corretto funzionamento il modello sensoriale deve includere la possibilità di errore.
Costruire le DBN
Per modellare i fallimenti persistenti dobbiamo arricchire il modello
Bt-1 P(Bt)
t 1
f 0.1
Inferenza esatta nelle DBN
Srotolamento
Una volta eseguito lo srotolamento posso eseguire l’inferenza con gli algoritmi di inferenza per le Reti bayesiane.
Si può fare di meglio utilizzando formule ricorsive
L’aggiornamento di filtraggio elimina attraverso una somma le variabili di stato del passo precedente per ottenere la distibuzione successiva -> eliminazione delle variabili
Comunque complessità esponenziale rispetto alle variabili di stato quindi poco efficiente
Inferenza approssimata nelle DBN
Utilizzare i campionamenti dei nodi non di prova della rete come rappresentazione approssimata della distribuzione dello stato corrente.
Ovviamente la complessità dipende dal numero di campioni necessari per rappresentare in modo ragionevole la vera distribuzione a posteriori.
Non è necessario srotolare la DBN !!
Ma un algoritmo di filtraggio in tempo reale può utilizzare solo un numero fisso di campioni.
Occorre quindi focalizzare l’insieme dei campioni nelle regioni dello spazio degli stati ad alta probabilità
Eliminando i campioni con peso basso rispetto alle osservazione e moltiplicando quelli con peso alto.
Altri filtri di Kalman …
Unscented KF: linearizzazione stocastica
Information Filter: rappresenta la gaussiana nella sua rappresentazione gaussiana nella sua rappresentazione canonica
matrice di informazione Ω = Σ-1
vettore di informazione ξ=Σ-1µ
Filtri NON parametrici:
Histogram Filter: decompone lo spazio degli stati in un numero finito di regioni. Un istogramma assegna a ciascuna regione una singola probabilità cumulata.
Particle Filter: rappresenta la probabilità a Particle Filter: rappresenta la probabilità a posteriori attraverso tanti sottoinsiemi
NO assunzioni parametriche rigide sulla densità di probabilità a posteriori
Vanno molto bene per rappresentare distribuzioni multimodali
Particle Filtering:
Idea chiave: rappresentare la probabilità a posteriori P(xt) attraverso un insieme di campionamenti random dello stato disegnati da questa probabilità
“particles” = campioni di probabilità a posteriori, xt
[m]
xt:=xt[1], xt
[2], …, xt[M]
un particle è un’ipotesi su come potrebbe essere lo stato al tempo t
Particle Filter:
Idealmente, la likelihood dell’ipotesi di stato xt, perché sia inclusa tra i particles, deve essere proporzionale alla probabilità a posteriori del suo filtro di Bayes:
xt[m]∼ p(xt|z1:t) xt ∼ p(xt|z1:t)
più una regione nello spazio degli stati è densa di campioni tanto più probabile è che il vero stato sia in quella regione
Particle Filter:
Per prima cosa viene creata una popolazione di campioni a partire da P(X0)
Quindi ad ogni passo temporale t si ripete il seguente ciclo:
Ogni campione è propagato in avanti secondo il modello di transizione ( )t1t x|XP +
Ogni campione è pesato in base alla sua verosimiglianza
La popolazione viene ricampionata per generare una nuova popolazione di N campioni. Ogni nuovo campione è preso dalla popolazione corrente. La probabilità di essere selezionato è proporzionale al suo peso. I nuovi campioni non sono pesati.
t1t +
( )1t1t x|eP ++
PF algoritmo:
Algorithm_Particle_Filter(xt-1,ut,zt)
for m=1:Msample xt
[m] ∼ p(xt|xt-1[m])
wt[m]=p(zt|xt
[m])
end
% Costruzione di un particle temporaneo% genero un ipotetico stato xt con l’m-esimo particle Xt-1 dopo M iterazioni otteniamo la rappresentazione della predizione
% importance sampling factor: incorpora la misura nel set di particles, può essere vista end
for i=1:Mdraw i with probability ∝ wt
[i]
add xt[i] to Xt
end Return Xt
Resampling o Importance Sampling
predizione particles, può essere vista come il peso dei particles.
% il set dei particles pesati approssima la prob a posteriori del filtro di Bayes.
PF algoritmo:
Resampling:
Ciascun particle viene proiettato con probabilità pari al suo peso dal set temporaneo al set finale Xt
Incorporando l’importanza durante il processo di resampling la distribuzione dei particles cambia: prima erano distribuiti secondo la mia previsione ora sono erano distribuiti secondo la mia previsione ora sono distribuiti approssimativamente secondo la previsione aggiornata con l’osservazione
NB: i particles sono progettati CON RIMPIAZZO,nel set possono esserci dei doppioni, i particles non contenuti in Xt sono i particles con importanza minore.
Derivazione matematica
Anche la derivazione matematica del PF passa per la regola di Bayes, la facciamo con carta e matita se volete
Campioni ottenuti con il PF approssimazione discreta di una belief continua.
Molte applicazioni hanno la necessità di
Estrazione della densità:
Molte applicazioni hanno la necessità di avere una stima continua.
Problema dell’estrazione di una densità continua
Gaussian approximation: cattura solo le proprietà di base della densità ed è appropriato solo se la densità è unimodale. Una distribuzione multimodale necessita di tecniche più complicate come il Clustering K-means che approssima la densità usando misture di gaussiane.
Possiamo fittare lo spazio degli stati con un istogramma e calcolare la probabilità di ciascun intervallo dell’istogramma
Estrazione della densità:
Possiamo fittare lo spazio degli stati con un istogramma e calcolare la probabilità di ciascun intervallo dell’istogramma sommando i pesi dei particles che cadono in esso.
Un altro modo di convertire un insieme di particles in una densità continua è il Kernel Density Estimation: ciascun particle è usato come centro di un Kernel, la densità totale è data da una mistura delle densità dei kernel.
Quale metodo di estrazione della densità usare dipende dal problema al quale siamo di fronte.
Riconoscimento del parlato
(signal preprocessing)
Riconoscimento del parlato (modelli)
P(parole | Segnale) = α P(Segnale | parole) P(parole)
Scomposto in modello acustico e modello linguistico
Ceiling or Sealing
High ceiling or High sealing
Uno stato in un HMM continuo puo’ essere modellato con un fono (suono che corrisponde ad una singola vocale o consonante), lo stato at tempo t indica il fono pronunciato al tempo t
Gli umani utilizzano un repertorio limitato di suoni
Riconoscimento del parlato (modelli)
Acoustic signal for [t] Silent beginning
Small explosion in the middle
(Usually) Hissing at the end
Riconoscimento del parlato (modelli)
Coarticulation and dialect variations
Riconoscimento del parlato (modelli)
Can be as simple as bigrams
P(Wordi | Word1:i-1) = P(Wordi | Wordi-1)
Riconoscimento del parlato (modelli)
P(Wordi | Word1:i-1) = P(Wordi | Wordi-1)
References
Artificial Intelligence: A Modern Approach Second Edition (2003)
Stuart Russell & Peter Norvig
Hidden Markov Model Toolkit (HTK) http://htk.eng.cam.ac.uk/ http://htk.eng.cam.ac.uk/
Nice tutorial (from data prep to evaluation)