2.3 Nouvel algorithme : EM en ligne pour les
HMM
L’algorithme que nous proposons ´
etend les proc´
edures pro-
pos´
ees par [5, 6] ; cette extension indique comment exploiter
les proc´
edures pour des HMM exponentiels lorsque le mod`
ele
HMM consid´
er´
e n’est pas exponentiel. Cette extension, mo-
tiv´
ee par la probl´
ematique du SLAM (voir section 3) mime ce
qui est propos´
e dans la litt´
erature SLAM probabiliste pour pas-
ser d’un mod`
ele HMM non lin´
eaire (et gaussien) `
a un mod`
ele
lin´
eaire (gaussien) afin de r´
esoudre le SLAM par des tech-
niques de Kalman.
La solution que nous proposons repose sur une approxima-
tion de la quantit´
eθ7→ log{mθ(x, x0)gθ(x0, y)}par un mod`
ele
exponentiel. Cette approximation est “locale” au sens o`
u elle
est faite `
a chaque it´
eration de l’algorithme autour de la valeur
courante du param`
etre. Par suite, notre algorithme consiste `
a
d´
efinir une suite {θT}T≥0de fac¸on it´
erative, en r´
ep´
etant les
trois ´
etapes suivantes. ´
Etant donn´
ee la valeur courante du pa-
ram`
etre θT,
´
Etape d’approximation par mod`
ele exponentiel : approcher
log{mθ(xt−1, xt)gθ(xt,Yt)}par hS(xt−1, xt,Yt;θT), ψ(θ)iet
en d´
eduire une approximation de la log-vraisemblance compl`
ete
PT+1
t=1 log{mθ(xt−1, xt)gθ(xt,Yt)}de la forme :
h
T+1
X
t=1
S(xt−1, xt,Yt;θT), ψ(θ)i.
´
Etape E de type SMC : approcher l’esp´
erance conditionnelle
EθT"T+1
X
t=1
S(Xt−1, Xt,Yt;θT)Y1:T+1#
en utilisant la proc´
edure it´
erative d´
ecrite dans la section 2.2.
Notons ˜
ST+1 cette approximation.
´
Etape M : mettre `
a jour le param`
etre
θT+1 ∈argmaxθ∈Θh˜
ST+1, ψ(θ)i.
Nous donnons dans la section suivante des exemples d’approxi-
mation par mod`
ele exponentiel de type quadratique. Puisque la
premi`
ere ´
etape est une approximation locale, on peut substi-
tuer l’´
etape M par une ´
etape de maximisation locale, l’intuition
´
etant que l’approximation du mod`
ele est d’autant meilleure que
l’on est dans un voisinage du param`
etre courant.
3 Application au SLAM
Un robot ´
evolue dans un environnement (plan) inconnu. A
chaque instant t, il observe qtamers ; Yt= (Yt,i, i ∈ At)
collecte les qtmesures de distances et d’angles d’observation
de ces amers. Il se d´
eplace selon une dynamique markovienne
guid´
ee par des contrˆ
oles ut(connus), et ind´
ependante de la po-
sition des amers. L’´
etat cach´
eXt∈R2×[0,2π]collecte la
pose du robot `
a l’instant t(coordonn´
ees cart´
esiennes) et son
orientation. L’objectif est d’estimer la position des amers i.e.
pour chaque amer i, le vecteur θi∈R2de ses coordonn´
ees
cart´
esiennes ; et la pose du robot. On mod´
elise ces observations
par un HMM de la forme
Xt=f(Xt−1, Vt, ut)
∀i∈ At,Yt,i =h(Xt, θi) + Wt,i ,
o`
u{(Vt, Wt,i), t ≥0, i ∈ At}sont des bruits centr´
es i.i.d.
de loi connue. Avec ce choix de mod`
ele, la transition de l’´
etat
cach´
emθ(x, x0)est ind´
ependante de θ; par suite, la quantit´
e
interm´
ediaire de l’EM s’exprime uniquement en fonction de
log gθ(Xt,Yt)- seuls les termes d´
ependant de θcomptant dans
l’´
etape M - et la structure exponentielle du mod`
ele ne repose
que sur la forme de la loi conditionnelle log gθ. Dans les appli-
cations num´
eriques, on prend pour mod`
ele (x, v ∈R3, τ, u ∈
R2)
f(x, v, u) = x+
(u1+v1)δcos(x3+u2+v2)
(u1+v1)δsin(x3+u2+v2)
(u1+v1)δ B−1sin(u2+v2) + v3
,
h(x, τ) = p(τ1−x1)2+ (τ2−x2)2
arctan(τ2−x2
τ1−x1−x3),
o`
uδest le temps entre deux mesures successives et Best l’em-
pattement. On envisage successivement deux lois pour le bruit
d’observation Wt,i : tout d’abord un mod`
ele gaussien puis un
mod`
ele de m´
elange de deux lois gaussiennes pour d´
efinir un
mod`
ele plus robuste aux observations aberrantes. Dans les deux
cas, les lois des bruits sont connues. Avec ces choix, le mod`
ele
n’est pas de type “HMM exponentiel” ; on applique donc l’al-
gorithme d´
ecrit en section 2.3. Pour ce faire, on utilise l’ap-
proximation quadratique de θ7→ log gθ(x, y)issue de l’ap-
proximation `
a l’ordre 1de θ7→ h(x, θ)autour de l’estim´
ee
courante θT:h(x, θ)≈h(x, θT) + h(θ−θT),∇θh(x, θT)i.
Nous suivons en cela la d´
emarche utilis´
ee dans les algorithmes
bas´
es sur des extensions du filtre de Kalman (e.g. l’EKF).
L’application de l’algorithme pr´
esent´
e en section 2.3 permet
de r´
epondre `
a la probl´
ematique du SLAM : on dispose `
a chaque
instant T(i) d’une estim´
ee ponctuelle de la carte θT; et (ii)
d’une approximation particulaire de la loi de filtrage `
a l’instant
Ti.e. une approximation particulaire de la pose du robot `
aT.
Dans les simulations ci-dessous, on r´
esume cette loi a posteriori
par la valeur moyenne (pond´
er´
ee) des particules pour proposer
une estim´
ee ponctuelle de la pose du robot `
a chaque instant T.
Les figures 1 `
a 4 pr´
esentent l’application de cet algorithme
sur donn´
ees simul´
ees et sur donn´
ees r´
eelles1(Figure 4). Pour
les donn´
ees simul´
ees, les bruits Vtet Wt,i sont gaussiens resp.
de variance Q=diag(σ2
v, σ2
φ)o`
uσv= 0.5m.s−1et σψ=
π
60 rad ; et R=σ2
rρ
ρ σ2
b,o`
uσr= 0.5m, σb=π
60 rad et ρ=
0.01. Pour mettre en oeuvre l’algorithme, le nombre d’amers et
les matrices R, Q sont suppos´
es connus. La loi de proposition
du filtre particulaire est une approximation gaussienne de la loi
a priori m(x, x0). L’exp´
erience a ´
et´
e r´
ealis´
ee avec N= 100
particules. La figure 1 repr´
esente la vraie trajectoire du robot
(tirets), la vraie position des amers (´
etoiles) et l’estimation de
1http ://www.cas.kth.se/SLAM