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) 1exp1b( xa ) 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