sujet corrigé

publicité
Examen M2R Sciences Cognitives
« Cognition Bayésienne »
J. Diard & P. Bessière
27 / 01 / 2011 (durée 2h)
Note : les exercices sont indépendants et peuvent être traités dans n’importe
quel ordre ; documents et calculatrices autorisées.
Exercice 1 : « modèle de fusion capteur / modèle
de perception multi-sensorielle »
Question 1 : Rappelez la structure d’un Programme Bayésien : quelles sont
les étapes pour définir un Programme Bayésien ?
R : cf. le cours.
Question 2 : Un robot dispose de N capteurs S1 , S2 , . . . , SN . Chacun de ces
capteurs fournit une information sur une grandeur V de l’environnement.
Rappelez le Programme Bayésien de fusion capteur qui permet de calculer
la distribution sur V sachant les valeurs lues sur les capteurs (pour rappel,
ce Programme est aussi appelé « modèle de perception multi-sensorielle »
dans le domaine de la modélisation du vivant).
R : Le Programme Bayésien de fusion capteur a été couvert en cours ; pour
rappel, la décomposition est
P (V S1 S2 . . . SN ) = P (V )P (S1 | V )P (S2 | V ) . . . P (SN | V ) .
Idéalement, la réponse est présentée sous la forme d’un PB, dont on vient
de rappeler la forme à la question précédente (c’est-à-dire, avec les variables, puis la décomposition, etc.).
Question 3 : Quelle hypothèse est au cœur de ce modèle ? Comparez ce modèle avec celui qui ne ferait pas cette hypothèse : que gagne-t-on, et que
perd-on, en faisant cette hypothèse ?
R : On gagne en facilité d’écriture (un produit de termes, tous identiques), et en
espace mémoire requis ; on perd en temps de calcul (un produit plutôt qu’à
un accès dans un tableau, si le modèle complet était tabulé en mémoire),
et en pouvoir d’expression du modèle (certaines dépendances ne peuvent
plus être exprimées).
1
Exercice 2 : lois de succession de Laplace
Les lois de succession de Laplace sont des distributions de probabilité. Leur
domaine est un support discret quelconque ; pour simplifier cet exercice, on
considère que le support est une variable X, dont la valeur est un entier compris entre 1 et k : X = {1, 2, 3, . . . , k}. On suppose avoir un ensemble de N
observations sur la variable X. De ces N observations, on ne mémorise que
le nombre de fois ni que chaque valeur i a été observée : le cas (X = 1) a été
observé n1 fois, le cas (X = 2) a été observé n2 fois, etc. Evidemment, la somme
de tous les ni est égale à N .
Définition La loi de succession de Laplace sur X, au vu des N données, est
une distribution de probabilité définie par :
P (X = i) =
ni + 1
.
N +k
Question 1 : Rappelez la forme que prend la loi de succession de Laplace dans
les cas suivants :
• lorsque aucune donnée n’a encore été observée (N = 0) ;
• lorsqu’un très grand nombre de données a été observé (N très grand
par rapport à k).
R : Lorsque N = 0, cela implique que tous les ni sont aussi 0, et donc :
P (X = i) =
ni + 1
1
= .
N +k
k
La loi de succession de Laplace, avant d’avoir vu la première donnée, est
identique à une distribution de probabilité uniforme (discrète).
Lorsque N est très grand par rapport à k, N + k devient proche de N ;
aussi, ni + 1 devient proche de ni (sauf cas pathologiques, non développés
ici). On obtient donc :
P (X = i) =
ni + 1
ni
≈
.
N +k
N
La loi de succession de Laplace, lorsqu’il y a beaucoup d’observations, est
très proche d’une distribution des fréquences ni /N , c’est-à-dire d’un histogramme.
Dans la suite de cet exercice, on va s’intéresser à généraliser la définition
des lois de succession de Laplace de plusieurs manières. Pour le premier cas, on
remarque que la formule définissant la loi de succession de Laplace est un cas
particulier de la formule suivante :
P (X = i) =
ni + W
,
N + kW
où W est un réel positif quelconque. Le cas précédent était donc le cas où
W = 1.
2
Question 2 : Supposons que W = 10−6 . Quelle est la forme initiale de la
distribution (N = 0) ? Que devient la distribution après avoir observé la
première donnée ?
R : On obtient :
ni + W
W
1
=
= ,
N + kW
kW
k
et la forme initiale est toujours une distribution de probabilité uniforme.
P (X = i) =
Supposons que la première observation est le cas X = a. Alors, on obtient :
(
1+W
1+10−6
P (X = a) = 1+kW
= 1+k.10
−6 ≈ 1
.
10−6
0+W
P (X 6= a) = 1+kW = 1+k.10−6 ≈ 0
La loi de succession de Laplace, dans ce cas, est quasiment identique à une
distribution de probabilité Dirac, centrée sur la première valeur observée.
Question 3 : Supposons que W = 106 . Quelle est la forme initiale de la distribution (N = 0) ? Que devient la distribution après avoir observé la
première donnée ?
R : De la même manière que précédemment, on obtient :
P (X = i) =
ni + W
W
1
=
= ,
N + kW
kW
k
et la forme initiale est toujours une distribution de probabilité uniforme.
Supposons que la première observation est le cas X = a. Alors, on obtient :
(
1+106
106
1
1+W
= 1+k.10
P (X = a) = 1+kW
6 ≈ k.106 = k
.
6
6
0+W
10
10
1
P (X 6= a) = 1+kW
= 1+k.10
6 ≈ k.106 = k
La loi de succession de Laplace, dans ce cas, est quasiment identique à
une distribution de probabilité uniforme, après la première observation.
Question 4 : Au vu des réponses aux questions 2 et 3, donnez une interprétation du paramètre W .
R : Les questions précédentes montrent les propriétés suivantes. Premièrement,
lorsque W est très petit, la loi de succession de Laplace se transforme très
vite, et passe de sa forme initiale uniforme, pour converger vers une distribution très contrainte par les données. Deuxièmement, lorsque W est
très grand, la loi de succession de Laplace ne se transforme que très lentement, et il faudra accumuler beaucoup d’observation avant de s’écarter de
la forme initiale, uniforme. En conséquence, W a deux interprétations,
qui sont équivalentes : W est soit proportionnel au « poids » de la forme
initiale (du prior) de la distribution, soit inversement proportionnel à la
vitesse d’apprentissage. Note : Dans la littérature, le paramètre W a parfois le nom de « equivalent sample size », c’est-à-dire la taille d’un jeu de
données virtuel qu’on imaginerait avoir observé avant d’observer la vraie
première donnée.
3
On peut généraliser encore plus les lois de succession de Laplace : on se
Pkdonne
k paramètres p1 , p2 , . . . , pk , on note P la somme de ces paramètres P = i=1 pi ,
et on redéfinit la formule des lois de succession de Laplace en :
P (X = i) =
n i + W pi
.
N + WP
Le cas précédent était donc le cas où tous les pi étaient égaux.
Question 5 : Quelle est la forme initiale de la distribution (N = 0) ? Quelle est
la forme de la distribution après avoir observé un grand nombre de données
(N très grand par rapport à W P ) ? Au vu des réponses précédentes,
donnez une interprétation de l’ensemble des paramètres pi .
R : Initialement, on a :
P (X = i) =
W pi
pi
ni + W pi
=
=
.
N + WP
WP
P
La loi de succession de Laplace, dans sa forme initiale, est donc une distribution discrète, dont la forme est entièrement définie par les paramètres
pi . En revanche, lorsqu’on a observé un grand nombre de données (N très
grand par rapport à W P ), on a :
P (X = i) =
n i + W pi
ni
≈
.
N + WP
N
Dans ce cas, les paramètres initiaux pi n’interviennent plus, et on a convergé vers une distribution de probabilité dictée par les observations. On
peut donc interpréter les pi comme définissant la forme a priori de la loi
de succession de Laplace. Cette généralisation permet d’avoir une distribution quelconque pour cette forme initiale, et non plus seulement une
distribution uniforme (au prix d’un plus grand nombre de paramètres libres
à définir).
Exercice 3 : programmation bayésienne d’un robot
On dispose d’un robot mobile, le Koala, qui est le grand frère du Khepera :
il fait environ 30 cm de long et 25 cm de large (voir Figure 1, à gauche). Il
dispose de 16 capteurs infrarouges, similaires à ceux du Khepera, mais de plus
longue portée. De ces capteurs, on tire, grâce à des fonctions déterministes,
deux variables qui décrivent la direction Dir et la proximité P rox de l’obstacle
le plus proche.
Le Koala est piloté par ses vitesses de rotation V rot et de translation V trans.
Comme il est plus gros, on peut l’équiper d’une « tête » et d’un « oeil » : une
caméra est posée sur une petite plate-forme motorisée, qui tourne de gauche à
droite. On note θ cet angle à un instant donné. La caméra est fournie avec
un logiciel de traitements d’images en temps réel, qui permet de trouver, dans
4
Figure 1: A gauche : photo du robot Koala. A droite : le logiciel de traitement
d’images utilise les couleurs des pixels pour identifier les objets, grâce aux zones
contiguës de couleur homogène. Ici, la balle (rouge) est détectée à la position
X = 30, Y = 25 (à droite et en haut).
l’image, où se trouve un objet d’une couleur donnée. Par exemple, on peut
savoir la position X, Y dans l’image, du centre d’un objet rouge (voir Figure 1,
à droite).
Dans cet exercice, on contrôle le Koala en utilisant le Programme Bayésien
π, dont une partie est montrée Figure 2. On y voit les domaines de définition
des variables utilisées, la décomposition et les formes paramétriques. Tous les
paramètres étant fixés, il n’y a pas de phase d’apprentissage. Les questions et
inférences sont discutées dans les questions, ci-dessous.
Les domaines des variables sont tous discrets. Les trois variables X, θ et
V rot représentent des orientations ; X est une orientation par rapport à la
direction de la caméra, et θ et V rot, par rapport à l’axe central du robot. Dans
tous les cas, une valeur négative indique « à gauche », 0 indique « au centre /
droit devant », et une valeur positive indique « à droite ». Les bornes inférieures
et supérieures pour ces variables sont différentes : les fonctions f1 et f2 servent
à faire les changements de repères adéquats.
La variable P rox décrit la proximité d’un obstacle, qui varie entre 0, pour un
objet très loin, et 15 pour un objet très proche. Enfin, la vitesse de translation
V trans vaut entre 0 lorsque le robot n’avance pas et 10 lorsque le robot avance
à vitesse maximum.
Dans le Programme Bayésien π, on remarque que le terme P (V trans | P rox)
est défini de différentes manières, selon la valeur de P rox. Lorsque il y a un
objet très proche (P rox ≥ 10), la loi de contrôle sur V trans est une gaussienne
très piquée, centrée sur la valeur 0. En conséquence, le robot n’avance pas. Dans
le cas contraire, si un objet est loin (P rox < 10), la gaussienne sur V trans est
centrée sur une valeur élevée (8) : en conséquence, le robot avance à grande
vitesse.
Question 1 : Dessinez le réseau bayésien correspondant au Programme Bayésien π.
5
Spécification

Variables




X ∈ {−50, −49, −48, . . . , 50}




θ ∈ {−90, −80, −70, . . . , 90}




V rot ∈ {−10, −9, −8, . . . , 10}




P rox ∈ {0, 1, 2, . . . , 15}




V
trans ∈ {0, 1, 2, . . . , 10}




Décomposition




P (X θ V rot P rox V trans)



= P (X)P (θ | X)P (V rot | θ)P (P rox)P (V trans | P rox)
Formes
Paramétriques




P
(X)
← Uniforme



X

∗ 90 et σ1 = 10
P
(θ
|
X)
← Gµ1 ,σ1 (θ), avec µ1 = f1 (X) = 50



θ

P
(V
rot
|
θ)
←
G
(V
rot),
avec
µ
=
f
(θ)
= 90
∗ 10 et σ2 = 2

µ
,σ
2
2
2
2



P
(P
rox)
←
Uniforme








 si P rox ≥ 10 : Gµ3 ,σ3 (V trans),



avec µ3 = 0 et σ3 = 0, 01


P (V trans | P rox) ←


si
P
rox
<
10
: Gµ3 ,σ3 (V trans),






avec µ3 = 8 et σ3 = 1
Figure 2: Programme Bayésien π, utilisé pour piloter le robot Koala. Le symbole
π, qui devrait apparaître en partie droite de chaque terme probabiliste, est omis
pour simplifier la notation. On rappelle que la notation Gµ,σ (A) représente la
distribution de probabilité gaussienne, de moyenne µ et d’écart-type σ, approximée sur le domaine discret de la variable A.
R : Le réseau bayésien est montré Figure 3.
Question 2 : On écrit un programme de contrôle, qui se base sur des questions
posées au Programme Bayésien π. Ce programme de contrôle est résumé
dans le pseudo-code suivant :
proxt ← lire_capteur(P rox)
tirer V transt selon P (V trans | P rox = proxt )
xt ← traitement_image_camera
tirer θt selon P (θ | X = xt )
tirer V rott selon P (V rot | θ = θt )
Les valeurs V transt et V rott ainsi obtenues sont ensuite envoyées au moteur du Koala, ce qui le fait éventuellement se déplacer. Décrivez, en
quelques phrases, le comportement obtenu.
R : C’est un suivi d’objet rouge : la tête s’oriente dans la direction de l’objet,
le corps du robot s’oriente dans la direction de la caméra, et on avance
quand l’objet est loin, on avance pas lorsque l’objet est proche.
Question 3 : On souhaite modifier le comportement ci-dessus pour que le
robot ne tourne jamais sur place : s’il n’avance pas, il ne doit pas non
6
X
Prox
θ
Vtrans
Vrot
Figure 3: Réseau bayésien correspondant au Programme Bayésien donné (question 1).
plus tourner. Proposez une modification du Programme Bayésien π pour
réaliser cela : dessinez le nouveau réseau bayésien, et réécrivez les parties de π que vous modifiez (votre solution doit être exprimée en termes
probabilistes, et non dans le programme de contrôle en pseudo-code).
R : Deux solutions sont équivalentes : on attend soit un terme P (V rot | V trans),
soit un terme P (V rot | P rox). Le réseau bayésien de la première solution
est montré Figure 4. La décomposition devient :
P (X θ V rot P rox V trans) =
P (X)P (θ | X)P (V rot | θ V trans)P (P rox)P (V trans | P rox) .
Le terme P (V rot | θ V trans) est alors défini en fonction de la valeur de
V trans en partie droite : si V trans est 0, alors V rot suit une distribution gaussienne très piquée, et centrée sur 0, sinon, elle est inchangée par
rapport à la définition initiale. Cela se note :
P (V rot | θ [V trans = v])
θ
Gµ2 ,σ2 (V rot), avec µ2 = f2 (θ) = 90
∗ 10 et σ2 = 2, lorsque v 6= 0
←
Gµ2 ,σ2 (V rot), avec µ2 = 0 et σ2 = 0, 01, lorsque v = 0
Question 4 : On modifie les deux dernières lignes de l’algorithme de contrôle.
Celui-ci devient :
proxt ← lire_capteur(P rox)
tirer V transt selon P (V trans | P rox = proxt )
xt ← traitement_image_camera
tirer V rott selon P (V rot | X = xt )
Ecrivez l’inférence bayésienne qui permet de calculer le terme P (V rot | X =
xt ). Décrivez, en quelques phrases, le rapport entre cette inférence et le
pseudo-code initial de la question 2.
7
.
X
Prox
θ
Vtrans
Vrot
Figure 4: Réseau bayésien correspondant au Programme Bayésien modifié (question 3).
R : La réponse dépend de la version du Programme Bayésien que l’on considère.
Si on prend la version initiale, l’inférence donne :
X
P (V rot | X = xt ) =
P (V rot | θ)P (θ | X = xt ) .
θ
Dans la version modifiée donnée à la question 3, en revanche, la réponse
est plus compliquée :
X
P (V rot | θ V trans)P (θ | X = xt )
P (V rot | X = xt ) =
.
P (V trans | P rox)P (P rox)
θ,V trans,P rox
Dans les deux cas cependant, la différence principale est la sommation sur
la variable θ, pour déterminer la valeur de V rot sachant la valeur de X.
En d’autres termes, le pseudo-code initial approximait cette sommation
par le tirage d’une valeur intermédiaire θt . (Cf. le cours sur la différence
entre propagation des incertitudes vs. la décision.)
Question 5 : Toujours en utilisant le pseudo-code de contrôle de la question 4,
on étudie maintenant deux variantes π1 et π2 du Programme Bayésien π.
Dans π1 , on modifie l’écart-type σ1 de la gaussienne du terme P (θ | X) :
σ1 vaut 1 dans π1 (elle devient ainsi très piquée, et peut être assimilée
à une distribution Dirac). Quel est le comportement obtenu en utilisant
π1 ?
R : Dans ce cas, la sommation sur θ se fait, et, sous la sommation, il y a
un produit d’un facteur quasi-Dirac, P (θ | X), et d’un facteur qui est une
gaussienne P (V rot | θ). Dans cette sommation, quasiment tous les termes
sont 0, à cause de la distribution Dirac. Le seul terme non-nul est celui
donné par le Dirac ; en d’autres termes, P (θ | X) « désigne » une valeur θt
de θ, pour laquelle on consulte ensuite P (V rot | θ = θt ). Ainsi, ce calcul,
bien qu’il se base sur une sommation, est en fait équivalent à faire un
tirage intérmédiaire, comme dans le pseudo-code initial. En conséquence,
on obtient un comportement similaire (le robot suit l’objet rouge).
8
Question 6 : Dans π2 , on modifie la forme paramétrique du terme P (θ | X) de
π : au lieu d’une gaussienne (à un seul pic), ce terme est maintenant une
distribution de probabilité à deux pics, l’un centré sur f1 (X), et l’autre
sur −f1 (X) (imaginez la gaussienne initiale et son « miroir » par rapport
à θ = 0). Ces deux pics sont plus piqués que la gaussienne initiale (avec σ1
petit, comme dans π1 ). Quel est le comportement obtenu en utilisant π2 ?
Identifiez un défaut qu’à ce comportement par rapport au comportement
initial de π, et décrivez en quelques phrases une solution possible.
R : Ici en revanche, le terme P (θ | X) ne désigne plus qu’une seule valeur de θ.
La loi de commande sur V rot obtenue se basera parfois sur la bonne valeur
de θ, et parfois, sur son image miroir par rapport à θ = 0. En d’autres
termes, le robot sera parfois attiré par l’objet rouge, et parfois repoussé par
l’objet rouge. Comme les deux pics sur P (θ | X) sont de même taille, ces
deux tendances seront également représentées dans le comportement final.
Il y a alors deux cas à considérer :
• Si l’objet rouge est déjà en face du robot, θ et −θ sont proches, et
donc les deux comportements sont peu différents : le suivi d’objet,
dans ce cas, devrait fonctionner.
• Si l’objet rouge est excentré, en revanche, on combine alors deux
comportements très différents : la sommation donnera une solution
intermédiaire, consistant à aller tout droit (comme l’âne de Buridan, attiré à force égale par deux ressources, et qui, au final, n’en
atteint aucune). Une solution éventuelle consiste à abandonner la
sommation (moyenner deux comportements antinomique a peu de
sens, dans ce cas), et revenir à un tirage intermédiaire ; ensuite, il
faut s’assurer qu’on n’oscille pas en permanence entre les deux comportements. Un filtre bayésien permettrait de mémoriser le choix des
pas de temps précédents, afin d’obtenir une consistance au cours du
temps (quitte à appliquer le mauvais comportement). Cette solution
est une ébauche : seule l’expérimentation sur un robot réél permet
de trancher (la solution dépend de la dynamique de l’environnement,
des constantes de temps du programme bayésien, etc.)
9
Téléchargement