Transcript DE/T

Filtrage de Kalman
Mise en équation
Dans le cas de la
poursuite
Mesure réelle
tan 
ym  y p
xm  x p
 x p sin  y p cos   xm sin  ym cos
linéarisation
Donnée « mesurée »
 x p sin   y p cos
+
1
0

0

0
0
1
0
0
z

0
0 

1 0

0 1
 sin 
 xm 
y 
 m
 vx 
 
 vy 
1
 x
p
cos
0 0
- +
Prédiction de la mesure
 xm sin  ym cos 
sin  y p cos    xm sin  ym cos1  
Extension au cas d’une transition non linéaire
D
Commande u(t)
(entrée)
B
bruit sur l’entrée w(t)
+
C
x(t) état
A
F(x(t-1))
remplacement de
la matrice de transition
par une non linéarité
+
y(t) sortie
(mesure)
v(t) bruit sur les mesures
-1
z
x(t-1)
mémoire
(retard)
x(t)=F(x(t-1))+B.u(t) (transition)
y(t)=C.x(t)+D.u(t)
(mesure)
Il faut modifier l’expression de la matrice de covariance !
ce n’est plus (A . P0 .AT + Rw)
2
Systèmes non linéaires : transformations non linéaires des
densités de probabilités et des matrices de covariance
non
linéarité
Effet d’une transformation non linéaire sur la densité de probabilité d’un vecteur aléatoire :
On peut déduire la covariance de la sortie en fonction de celle de l’entrée
« Unscented Kalman Filter »
3
« Unscented Kalman Filter »
Julier, S.J.; Uhlmann, J.K. (1997). "A new extension of the Kalman filter to nonlinear systems"
- la densité de probabilité de l’entrée de la fonction non linéaire
est connue (par exemple représentée par quelques données spécifiques)
-on calcule l’effet de la non linéarité sur cette densité
- on en déduit les caractéristiques statistiques du premier et du deuxième
ordre (moyenne, covariance) qui sont utilisées dans la mise à jour du
filtre de Kalman au lieu des équations classiques de transition
x(T  1/ T )  A(T ).x(T )  B(T ).u(T )
P(T  1 / T )  A(T ).P(T ). AT (T )  r w
non
linéarité
 
E x.xT
4
Méthodes variées d’identification et d’estimation de paramètres
difficultés pour formaliser un modèle analytique simple
essayer tout de même
de modéliser les données mesurées dans des problèmes
complexes (par exemple suivi de plusieurs cibles)
- moins rigoureuses
- modèle moins précis ou inexistant
- nécessitant une grande puissance de calcul
- permettant d’aborder des problèmes plus complexes
filtres particulaires
réseaux neuronaux
algo. génétiques
recuit simulé, etc. ...
5
illustration élémentaire des filtres particulaires
utiliser pleinement la puissance de calcul des ordinateurs pour contourner
les limitation des approches algébriques
- on se permet de faire un grand nombre d’essais (particules)
traduisant les évolutions possibles du système étudié
- puis on sélectionne parmi ceux-là ceux qui correspondent assez bien
aux mesures effectuées sur le système étudié
(on élimine celles qui ne correspondent pas aux mesures)
- on multiplie les particules ainsi sélectionnées
on réitère le processus jusqu’à ce qu’il converge
vers une caractérisation suffisamment précise
d’actualité en recherche en robotique
http://web.mit.edu/16.412j/www/html/Advanced%20lectures/Slides/Hsaio_plinval_miller_ParticleFiltersPrint.pdf
http://www.cs.washington.edu/ai/Mobile_Robotics/mcl/
6
exemple simple : recherche de la position d’une cible fixe par un observateur
qui se déplace et mesure l’angle sous laquelle il voit cette cible
observateur
XP,YP
Nord
angle mesuré 
cible
fixe
x0,y0
simuler de nombreux essais concernant la position de la cible ,
et ne conserver que ceux qui sont suffisamment probables,
compte tenu des mesures d’angles réalisées
7
x  0  1 20
y  0  9 9
zx  au nif( 5 00 00
  1 20)
zy  au nif( 5 00 00
  1 00)
on génère des particules de position aléatoire
dans le domaine de paramètres où on recherche la cible
100
80
60
40
20
.
0
0
20
40
60
80
100
120
8

Xp,
Yp
probabilité de présence de particules
compatible avec une mesure
(ici la direction  dans laquelle on observe
la cible à partir d’un point d’observation Xp, Yp)
(la densité de probabilité traduit l’incertitude sur la mesure)
9
p
on ne conserve que les particules
compatibles avec la densité de
probabilité de l’observation
100
80
60
40
ces particules compatibles se reproduisent
dans leur voisinage
en respectant cette loi de probabilité
le nombre de particules reste constant
20
10
0
0
10
20
30
40
50
60
70
80
90
100
110
.
120

on réitère l’opération
(on refait une nouvelle
mesure d’angle à partir
d’un point d’observation
différent)
les particules acceptables doivent vérifier
la loi de probabilité correspondante
Xp,
Yp
p
11
la position de la cible doit être compatible avec
les deux mesures
(si elles sont indépendantes la densité de
probabilité de la position de la cible
sera le produit des deux densités précédentes)
12
p
100
80
60
en réitérant l’opération, on sélectionne
les particules compatibles avec la loi
de probabilité de la nouvelle mesure
elles se multiplient avec une certaine variabilité
40
20
0
.
13
0
10
20
30
40
50
60
70
80
90
100
110
120
on itère le processus et les caractéristiques de la loi
de probabilité du nuage de particules s’affinent
(lentement, convergence en t-1/2)
14
formalisation probabiliste rigoureuse
fondée sur les probabilités
conditionnelles
formule de Bayes,
modèles de Markov
p( y h  h0) p(h  h0)
p ( h  h0 y ) 
p( y h  h0) p(h  h0)  p( y h  h1) p(h  h1)
15
peut être intéressant lorsque les états caractérisant le
système étudié ne peuvent pas être modélisés simplement
par des formules analytiques
par exemple suivi simultané de plusieurs mobiles
prédire
la position.
la corriger
en fonction
des mesures.
lisser la
trajectoire ...
16
2’. transition
(évolution de
la trajectoire)
2. transition
(évolution de
la trajectoire)
4. duplication des
particules
3. sélection dessélectionnées
1. représentation probabiliste
de la position de chaque cible
(densité, nuage de points)
particules
compatibles
avec les mesures
illustration du filtre particulaire pour la poursuite d’une des cibles
17
réseaux neuronaux
(neural networks)
structure reliant des éléments simples dont le fonctionnement
dépend de valeurs de paramètres
apprentissage de valeurs de paramètres en vue de
la réalisation d’une tâche (par exemple la reconnaissance
fondée sur l’imitation de ce que l’on sait du fonctionnement
des neurones en biologie
18
illustration : reconnaissance de caractères par un réseau neuronal
apprentissage de valeurs de paramètres
pour qu’à différentes entrées (différents
« A ») ce soit la sortie A qui s’active ; de
même pour les autres lettres
réseau de
neurones
données en entrée
structure reliant des
éléments simples dont
le fonctionnement
dépend de valeurs de
paramètres
ABCDEFG
HIJKLMN
OPQRST
UVWXYZ
sortie voulue
19
réseaux neuronaux
- modèle biologique
- neurone artificiel
- méthodes d’apprentissage
- limites de l’approche
20
Dessin de la main de Ramón y Cajal
de cellules cerebelleuses de poulet,
tiré de "Estructura de los centros
nerviosos de las aves", Madrid, 1905
Prix Nobel de médecine en 1906
21
http://comportement.univ-paris13.fr:8080/comp/support/l2-psychologie/fonctions-comportementales/TD2%20Neuro.pdf
22
23
axone du neurone amont : libération
de neurotransmetteurs (chimiques)
« somme » des différents
potentiels
qui se propagent sur la membrane
du neurone
génération d’un potentiel
électrique dans le neurone
aval fonction de la
quantité de
neurotransmetteurs
24
Naissance et conduction du Potentiel d’Action
Naissance au niveau des récepteurs ; Au
niveau du récepteur, il existe un potentiel de
récepteur (PR), dont l’amplitude varie avec
l’intensité de la stimulation. propagation et
sommation des potentiels à la surface de la
cellule nerveuse
Si ce PR dépasse un seuil, il
y a production, au niveau
du cône axonique, d’un
potentiel d’action (tout ou
rien) qui se propage, il
peut donc être enregistré
plus loin sur l’axone
codage en fréquence
Si l’intensité du stimulus augmente encore, la
fréquence des PA augmente, le système
nerveux effectue un codage en fréquence (de
25
PA).
26
http://www.ipmc.cnrs.fr/~duprat/documents/coursneurophy.pdf
Chaque neurone reçoit des terminaisons excitatrices et des terminaisons
inhibitrices
Ex. neurone moteur
S’il y a plus d’excitation
que d’inhibition le
neurone moteur est
dépolarisé au-delà du
seuil et il y a influx.
S’il y a plus d’inhibition que d’excitation le neurone moteur ne se dépolarise pas
jusqu’au seuil. Il n’y a pas d’influx.
http://www.univ-nkc.mr/IMG/ppt/transmission_synaptique2_II.ppt#266,10,Diapositive 1027
Modélisation du fonctionnement du neurone
temps
Potentiel action de
l’axone du neurone
« amont » no k
Libération du
neurotransmetteur
au niveau de la
synapse
(excitation/inhibition)
modélisée par un
gain gjk positif ou
négatif
Propagation des
polarisation à la
surface du corps du
neurone et
« sommation »
Déclanchement
d’impulsions
(potentiel d’action)
sur l’axone si la
polarisation
dépasse un seuil
(modélisé par une
sigmoïde s(x))
s( x)  1exp1b( xa )


p( j )  s  g jk . p(k ) 
 k

temps
28
La modélisation du fonctionnement des
neurones est bien connue des biologistes
Cependant le modèle utilisé par les
informaticiens n’est sans doute pas assez fin(?)
Par exemple difficulté de la prise en compte de
l’aspect temporel (excessivement complexe ?)
29
Réseau de neurones
Connexion de neurones de ce type
À partir de capteurs (mesures) :
générer une action
30
Apprentissage
Comment adapter les connexions entre neurones
(c’est-à-dire modifier les gains gjk)
de manière à atteindre un objectif ?
31
schéma général de l’apprentissage
B. effectuer une mesure
sur le système étudié
C. calculer la prédiction
du modèle pour cette
mesure
A : initialisation
choisir les valeurs
des paramètres
du modèle
A. modifier les
paramètres
afin de diminuer
l’écart
D. calculer l’écart entre
la mesure et la
prédiction du modèle
32
Apprentissage
Donald Hebb, 1949
Bliss & Lomo 1973
deux neurones connectés activés
renforcent leur connexion
de sorte que l'activation du neurone
aval sera facilitée par la suite
Dans le modèle de neurone
Si l’effet de p(k) sur p(j) est positif
on augmentera gjk
Si l’effet de p(k) sur p(j) est négatif
on diminuera gjk
33
Apprentissage
Correction des gains
p(k)
gjk
S
p(j)
Réseau multi couches
algorithme de rétro-propagation du gradient .
p(k)
gnk
S
gjn
p(n)
S
p(j)
34
xd  x g
VISION STEREO
(PB SEMBLABLE A
LA POURSUITE DE CIBLE)
xg  x d
2
xg  x d
1
xg
xd
-1
zd  z g ( z g  zd )
1
xg  x d
xd  x g
xg  x d
xd  x g
xg
xd
réseau de
neurones
2
xg  x d
xg  x d
2
xg  x d
xd
xg
xg
xd
35
XS
YS
formule donnant les coordonnées de la cible
en stéréo vision (les hauteurs z doivent être
identiques à gauche et à droite)
zd  z g ( z g  z d )
xg  x d

2 zd
xg  x d
z
2
xg  x d
y
zg=zd
x
xg  x d
xg  x d
xg
( -1,-1,0)
xd
(1,-1,0)
36
effet
trop à gauche
pour ces valeurs en
entrée du réseau
xd  x g
xg
xd
réseau de
neurones
augmenter
xg  x d
2
xg  x d
diminuer
rétropropagation
des neurones terminaux
aux neurones internes :
légère modification des gains
de manière à ce que pour
ces valeurs de l’entrée, les sorties
se rapprochent
des valeurs souhaitées
y trop loin
réitérer l’apprentissage sur d’autres valeurs des entrées
37
TROUVER UN
CABLAGE DE
NEURONES
PUIS LUI FAIRE
APPRENDRE LES
PARAMETRES
POUR APPROXIMER
LES FONCTIONS
xd  x g
xd  x g
xd  x g
2
xd  x g
xd  x g
xd
XS
xg
xg
xd
YS
2
xd  x g
xg
38
XS
YS
TROUVER UN
CABLAGE DE
NEURONES
PUIS LUI FAIRE
APPRENDRE LES
PARAMETRES
POUR
APPROXIMER LES
FONCTIONS
2
xd  x g
xd  x g
xd  x g
vx  vy
ab sx
x y
ab sx
ab sy

x
y
vx  vy
x
y
1
ab sy
x y

2
vx  vy
x
y
2
xd  x g
xd  x g
xd  x g
39
ab sx
ab sy
assez souvent présentée comme une méthode miracle
mais il s’agit d’approximation de fonction
Stuttgart Neural Network Simulator (SNNS),
université de Cambridge
40
autre piste pour la recherche ‘par tatonnement’ du minimum
d’une fonction : le recuit simulé pour essayer d’éviter que
l’algorithme de recherche reste bloqué sur un minimum local
dans un espace de grande dimension
1
xxt
0
1
0
100
200
300
t
minimum
minimum local
wikipedia
41
critère à minimiser
essayer d’aboutir au minimum absolu
en évitant le blocage
de la recherche sur un minimum local
variation d’un paramètre
dans l’exemple vu, on effectue différents essais où on peut mesurer la
position réelle de la cible et les abscisses en vision stéréo
trouver les paramètres
a b c qui minimisent
 x ( n) 
n
a.xd (n)  b.x g (n)
xd (n)  c.x g (n)
42
2
Partant d'une solution donnée, en la modifiant, on en obtient une seconde.
Soit celle-ci améliore le critère que l'on cherche à optimiser, on dit qu‘elle a
fait baisser l'énergie du système,
soit celle-ci le dégrade.
En acceptant une solution améliorant le critère,
on tend ainsi à chercher l'optimum dans le voisinage de la solution de départ.
L'acceptation d'une « mauvaise » solution (dégradant le critère) permet
d'explorer une plus grande partie de l'espace de solution et tend à éviter de
s'enfermer trop vite dans la recherche d'un optimum local.
on effectue un grand nombre d’essais aléatoires à partir de cette solution
(voir l’approche mentionnée précédemment des filtres particulaires)
43
critère à minimiser
Itérations de l'algorithme
À chaque itération modification
élémentaire de la solution. Cette
modification entraîne une variation ΔE
de l'énergie (critère)
Si cette variation est négative (fait
baisser l'énergie du système), elle est
appliquée.
valeur d’un paramètre
Sinon, elle est acceptée avec une
probabilité
exp - DE/T . ( règle de Metropolis.)
On itère selon ce procédé en gardant
la température constante puis en la
diminuant légèrement (recuit).
essayer d’aboutir au minimum absolu en évitant le blocage
de la recherche sur un minimum local
44
recuit simulé
Faire baisser la température de façon continue. Ti + 1 = 0.99 λTi
si la température a atteint un seuil assez bas le système devient
figé, l'algorithme s'arrête.
À haute température, le système est libre de se déplacer dans
l'espace des solutions (exp - DE/T proche de 1) en choisissant
des solutions ne minimisant pas forcément l'énergie du système.
À basse température, les modifications baissant l'énergie du
système sont choisies, mais d'autres peuvent être acceptées,
empêchant ainsi l'algorithme de tomber dans un minimum local.
45
AUTRE APPROCHE EN VOGUE
LES ALGORITHMES GENETIQUES
MODIFIER LES INSTRUCTIONS D’UN PROGRAMME
AFIN DE MINIMISER UN CRITERE
xd  x g
xd  x g
X = Multiplier(Additionner(xg,xd ),
Inverse(Additionner(xd,Opposé(xg) ) ) )
de nombreux programmes (séquences de gènes,
capables d’effectuer des opérations élémentaires
par exemple
Additionner(a,b) Multiplier(a,b) Inverse(a) Opposé(a))
qui peuvent échanger des gènes
46
+
-
*
/
y
x
-
+
/
(x+y)/(x-y)
47
Initialisation
Évaluation
Meilleure Solution
Population
Remplacement
Évaluation
Stop ?
Générations
Enfants
Non
Sélection
Parents
Opérateurs Génétiques
(Croisement, Mutation…)
Opérateurs aléatoires dépendant du codage
Temps de calcul important
Darwinisme (Déterministe ou Aléatoire)
Critères d’arrêts et Statistiques
48
si le programme modifié est parmi les plus performants des
programmes(ici résultats
plus proche de la cible), on le garde et il se multiplie
(avec des modifications génétiques)
si les performances sont médiocres il est éliminé avec une
certaine probabilité
49
évolution « darwinienne »
Les plus performants
(ceux qui se rapprochent de l’objectif,
minimisation du critère, se multiplient en
modifiant aléatoirement certains gênes ;
échange possible de gènes entre individus
les moins performants disparaissent
et réitération du processus
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66