Apprentissage de modèles de comportements pour le

Transcription

Apprentissage de modèles de comportements pour le
Apprentissage de modèles de comportements pour le contrôle
d’exécution en robotique
Guillaume Infantes
Félix Ingrand
Malik Ghallab
LAAS-CNRS
7, Avenue du Colonel Roche, 31077 Toulouse Cedex 4, France
{infantes,felix,malik}@laas.fr
Résumé
L’exécution robuste de tâches robotiques est un problème ouvert. Dans
la plupart des cas, ces tâches mettent en œuvre des comportements complexes combinant différentes fonctionnalités (comme la perception, la localisation, le planification de trajectoires et leur exécution). Ces comportements sont souvent programmés avec la robustesse du comportement en
objectif, et non pour la définition d’un modèle de haut niveau utilisable
par un planificateur de tâches ou un contrôleur d’exécution. Nous proposons d’apprendre des modèles de comportement en tant que processus
stochastiques structurés : des réseaux bayésiens dynamiques (DBN). Précisément, le formalisme DBN nous permet d’apprendre et de contrôler les
comportements avec des paramètres de contrôle. Nous avons testé notre
approche sur un robot réel, où nous avons appris sur un grand nombre de
tests un modèle de navigation complexe en utilisant une version modifiée
de l’algorithme “Expectation Maximization” pour les DBNs. Le DBN résultant est ensuite utilisé pour contrôler le comportement de navigation et
nous montrons que pour certains objectifs (comme éviter les cas d’échecs
et optimiser la vitesse) le contrôleur basé sur le DBN appris se comporte
bien mieux (un ordre de grandeur de moins d’échecs) que le contrôleur
programmé. Nous montrons aussi une façon d’obtenir un apprentissage
incrémental du DBN. Nous pensons que l’approche proposée reste générique et peut être utilisée pour d’autres systèmes autonomes et pour
apprendre des comportements complexes autres que la navigation .
1
Introduction
L’exécution de tâches pour des systèmes autonomes est un
processus complexe : des rovers d’exploration doivent pouvoir planifier et exécuter correctement leurs missions scientifiques ; des robots guides de musée doivent exécuter avec
robustesse leur plan de visites pour des visiteurs intéressés
par un sujet donné ; les robots personnels doivent planifier
et exécuter les tâches de tous les jours pour les personnes
âgées qu’ils aident, etc. . .Les briques de base de ces plans,
les tâches et actions, sont complexes. Ces comportements
ont en général une complexité intrinsèque (par exemple la
navigation nécessite la localisation, la perception, la planification de trajectoire). De plus, en général aucun modèle
explicite n’existe pour caractériser comment il se comporte
dans des environnements variés. Finalement, même si un
modèle déterministe de ces comportements existe, il peut
ne pas être approprié pour gérer le non-déterminisme in-
trinsèque de l’environnement. Dans ce cas, il faut gérer un
problème de planification avec des modèles de mauvaise
qualité pour les actions, ou parfois sans modèle du tout.
Des systèmes peuvent être modélisés en tant que modèles
de Markov cachés (HMM) [20]. Dans ce type de modèle,
l’état interne est caché à l’observateur, qui peut voir uniquement l’ observation représentant les effets du système
sur l’environnement. Ce type de modèles stochastique s’est
montré bien adapté pour la reconnaissance de la parole
[20], pour modéliser des activités humaines [17], pour reconnaître des expressions de visages [7], pour faire de la
reconnaissance de gestes[23], de plan probabilistes [4] et
pour apprendre des cartes métriques ou topologiques [15].
Dans [9], les auteurs présentent une approche pour modéliser des actions robotiques utilisant des HMMs. Dans ce
cas, le HMM résultant peut être utilisé pour reconnaître ou
planifier les actions modélisées.
Cependant, cette représentation ne permet pas un contrôle
fin de l’exécution de l’action. Un aspect des actions complexes que nous voulons traiter est que certaines de ces activités peuvent être contrôlables. Trouver les paramètres adéquats en fonction de l’environnement courant et du but peut
être un problème ardu si aucun modèle de l’action sousjacente n’est disponible. Ainsi, nous voulons apprendre
des modèles d’actions suffisamment riches pour nous permettre de les utiliser pour reconnaître, planifier, contrôler
ou superviser l’action. Nous proposons d’apprendre des
modèles d’actions en tant que processus structurés : des
réseaux bayésiens dynamiques (DBN) [8].
Nous détaillons comment de tels modèles peuvent être obtenus à partir d’expérimentations réelles. Nous montrons
alors comment ils peuvent être utilisés pour contrôler l’action elle-même pendant l’exécution. Nous montrons également comment ceci peut être inclus dans un contrôleur
plus général capable de superviser l’action (pour éviter des
échecs) et de décider quand le modèle doit être raffiné pour
de nouvelles situations. La prochaine section présente un
comportement complexe à modéliser et adapter. Nous présentons alors comment on peut apprendre un tel modèle
stochastique structuré. La section suivante présente comment utiliser un tel modèle appris, suivie de résultats obte-
nus sur un robot réel. Nous concluons alors par une discussion sur les travaux en cours ainsi que sur des perspectives
à poursuivre. Cet article est une version française de [11]
et une version longue de [12].
2
Modéliser et adapter un comportement robotique
Pour expérimenter, nous avons modélisé une navigation robotique, basée sur l’évitement réactif d’obstacles ND1 [18].
Une vue schématique de cette modalité de navigation est
représentée sur la figure 1(a). Le télémètre laser donne un
ensemble de points représentant les obstacles devant le robot. Ces points sont utilisés pour construire une carte locale
autour du robot par le module aspect. ND utilise la position
courante du robot pour calculer le but en coordonnées locales au robot. Ensuite, grâce à ce but local et à la carte
locale, il calcule une consigne en vitesse qui vise à déplacer le robot vers le but tout en évitant les obstacles. Cette
modalité est utilisée sur notre B21R (figure 1(b)).
LASER RANGE
FINDER
DATA TYPE
2D_POINTS
MODULE
ASPECT
LOCAL MAP
ODOMETRY
SEGMENT−BASED
LOCALIZATION
POSITION
GOAL
ND
SPEED_REFERENCE
(a) Modalité de navigation
(b) Robot
F IG . 1 – Le RWI B21R modifié pour être un guide de musée [6]
2.1
Structure d’une tâche de navigation
Un contrôleur de navigation peut être vu en tant que “boîte
noire” prenant en entrée une position du but relative, et
des données sur l’environnement et donnant en sortie des
consignes en vitesses à exécuter par le robot. On peut modéliser ce comportement par un état interne caché du robot, sous forme de variables cachées. Les paramètres de
contrôle de la navigation sont observables et influencent
l’état interne. Cet état interne influence également l’environnement, car celui-ci est mesuré par des capteurs du robot : si le robot va dans un cul-de-sac, l’environnement va
lui paraître extrêmement encombré, par exemple. La structure générale peut être vue sur la figure 2.
Choisir les variables est très dépendant du processus à
modéliser. Les paramètres de contrôle sont donnés par le
1 Remarquons que malgré le fait que ND a été partiellement développé
dans notre laboratoire, il est tellement complexe et si difficile à régler
qu’aucun modèle n’existe pour superviser contrôler ou planifier son exécution.
F IG . 2 – DBN abstrait pour une tâche de navigation
contrôleur de navigation, il faut choisir avec soin les variables d’environnement représentant des paramètre importants pour les décisions faites par le processus de contrôle.
Dans notre tâche de navigation réactive, l’encombrement
de l’environnement doit être pris en compte, ainsi que
l’obstacle le plus proche, car il influence grandement le cap
futur du robot. D’un autre coté, on n’inclut pas la position
du robot, de façon à ce que le modèle puisse être utilisé à
d’autres endroits que celui ou l’apprentissage a eu lieu.
Les effets de la tâche de navigation à reconnaître sont les
états d’ échec et de succès , mais nous cherchons également à contrôler plus finement le comportement d’un point
de vue qualitatif : certains comportements sont couronnés
de succès, mais sous-optimaux. Nous incluons également
autant de variables que possible pouvant nous donner des
indications sur l’état interne, afin que le processus d’apprentissage soit le plus efficace possible. Enfin, on pourrait
également modéliser l’utilisation de ressources comme la
batterie.
2.2
Instanciation
Pour notre tâche de navigation, les paramètres contrôlables
sont : les deux paramètres d’élargissement du robot : une
surface représente le robot (et les obstacles y sont complètement interdits) ; et une zone de sécurité plus large où on
cherche à limiter le nombre d’obstacles ; les vitesses maximales linéaires et angulaires permises ; un facteur de linéarité entre les deux vitesses données par le générateur
de mouvement.2
Les variables d’environnement choisies sont :
l’encombrement de l’environnement, défini comme
une somme des distances aux plus proches obstacles
autour du robot ; l’angle à l’obstacle le plus proche ; la
distance à l’obstacle le plus proche ; le nombre total de
segments dans la carte locale et le nombre de vallées où
la navigation est possible.
Les variables observables conséquence de la navigation
2 Les vitesses linéaire et angulaire sont mutuellement contraintes par
une fonction polynomiale qui influence le type de trajectoire produite.
sont : les vitesses linéaire et angulaire courantes du robot ; ses accélérations linéaire et angulaire courantes ; la
variation de la distance au but (estimée par une distance
euclidienne) ; le pourcentage de la mission ; la stratégie
courante choisie par ND ; l’état général parmi début, fin,
échec, normal ; l’ adéquation à l’environnement humain
du comportement3 .
Toutes les variables sont discrétisées (en classes de 3 à 6 valeurs). Le nombre d’observations différentes possibles est
de plus de 15 × 109 . Ceci nous permet de dire que même
avec un jeu de données très important, toutes les observations possibles ne pourront pas être rencontrées, ceci menant à de nombreux liens non-informés dans le DBN. Nous
verrons plus bas comment gérer ce genre de DBN creux
pour la prise de décision.
3
Apprentissage de DBN
Pour apprendre un DBN, nous utilisons une adaptation de
l’algorithme Expectation-Maximization (EM) défini pour
les modèles de Markov cachés [20]. Les adaptations pour
rendre cet algorithme efficace pour les DBNs ne sont pas
triviales : nous avons besoin de maintenir un “état courant cru”, c’est-à-dire une hypothèse probabiliste sur les
affectations possibles des variables car elles sont fortement
corrélées. Nous proposons d’approximer l’état courant cru
sous forme de filtre particulaire à nombre de particules variable.
3.1
Algorithme Expectation Maximization
Un DBN λ est défini par un ensemble de variables (cachées ou observables), un ensemble de valeurs possibles
pour chaque variable, et un ensemble de liens causaux probabilistes entre les variables [8]. Une observation O est
une séquence d’instanciations de toutes les variables observables de λ.
Un bon modèle λ pour O donne un P (O|λ) élevé (probabilité d’apparition ou likelihood de l’observation). Dans
le cadre DBN, λ peut être optimisé pour l’observation soit
en modifiant sa structure soit les probabilités attachées aux
liens causaux étant donnée une structure. L’algorithme EM
gère les variables cachées, mais pas la structure du modèle.
Dans le cas des HMMs, EM calcule d’abord les probabilités d’être dans chaque état caché à chaque instant, puis
chaque probabilité de transition, et la probabilité de faire
chaque observation depuis chaque variable cachée, ceci
pour chaque pas de temps. Ceci est généralement appelé
la phase d’ ”Expectation”. Pour un DBN, l’état caché devient une instanciation des variables correspondantes, ainsi
que l’observation. L’état doit être approximé en tant qu’état
courant cru. De plus, les variables observables ne sont pas
séparées des cachées, donc la probabilité de faire une observation ne doit pas être calculée depuis les variables ca3 Certains comportements amènent au succès, mais peuvent être considérés comme trop agressifs pour des humains auprès du robot, ou au
contraire trop timides et donc trop lents. Cette valeur doit être données
par l’opérateur lors de la phase d’apprentissage.
chées, mais depuis l’ensemble de l’état courant cru. Ensuite
on peut mettre-à-jour les probabilités de transition pour
maximiser P (O|λ) ; et on recommence les phases d’Expectation et de maximisation. Il est démontré que cet algorithme converge vers un maximum locale de P (O|λ).
3.2
Définitions
Soient qi avec i ∈ [1..N ] les N variables du DBN.
Chaque variable qi peut prendre les valeurs Sij , et V a(i) =
{Sij } est l’ensemble des Vi différentes valeurs possibles
pour la variable qi . On a donc Vi = card(V a(i)).
Pour un DBN, on doit considérer une transition non depuis
une valeur de la variable cachée vers une autres comme
pour les HMMS, mais depuis un ensemble de variables parentes vers une seule variables. On note P a(i) l’ensemble
des instanciations possibles des parents causaux de qi , et
qP a(i) les parents de qi . Une instanciation est alors :
σi = (Si0j0 , Si1j1 ...Sik jk ) ∈ P a(i)
avec {qi0 , qi1 , ..., qin } = qP a(i) sont les parents de qi .
Une probabilité de transition sera alors :
a(σi , ij ) = P (qP a(i) = σi , qi = Sij )
avec σi ∈ P a(i), et Sij la j ime valeur que peut prendre qi .
On note qit la valeur prise par la variable qi à l’instant t et
Ot l’observation faite à l’instant t, d’où nous définissons la
probabilité de voir Ot sachant qit = Sij :
bij (Ot ) = P (Ot |qit = Sij )
et la probabilité de voir Ot sachant qit = Sij et P a(i) = σi
à l’instant t :
bij ,σi (Ot ) = P (Ot |qP a(i)t = σi , qit = Sij )
Nous définissons également la probabilité que la variable qi
prenne la valeur Sij à l’instantt, sachant toute la séquence
d’observation O = (O1 ...OT ), et le modèle λ :
γt (ij ) = P (qit = Sij |O, λ)
De la même façon, la probabilité d’une transition à l’instant
t est :
ξt (σi , ij ) = P (qP a(i)t = σi , qit = Sij )
Le problème pour la phase d’Expectation est de calculer
efficacement tous les γt et ξt . Ceci est fait en utilisant les
algorithmes récursifs Forward-Backward.
3.3
Algorithmes Forward et Backward
L’ algorithme Forward Backward nous permet de calculer
les probabilités voulues en utilisant un schéma de passage
de message, où les deux messages sont les probabilités que
la variable qi prenne une de ses valeurs possibles Sij sachant respectivement le début de la séquence d’observations O1 , .., Ot et sa fin Ot+1 , .., OT .
Message avant. Le message avant pour une variable est
défini comme la probabilité d’atteindre une valeur Sij de
la variable qi à l’instant t et de voir le début de la séquence
d’observations O1 ...Ot :
On pondère ensuite cette probabilité par la probabilité
d’avoir qk = Skl partant de qi = Sij :
αt (ij ) = P (O1 ..Ot , qit = Sij |λ)
où σk ∈ P a(k) et ij ∈ σk .
On calcule ensuite la moyenne sur les instanciations possibles et sur les Skl . On obtient :
Il faut propager cette valeur récursivement sur t. Mais
comme les transitions sont d’un ensemble de variables vers
une seule, on doit définir le même message avant pour un
instanciation de variables :
a(σk , kl )bkl ,σk (Ot )βt (kl )
Ft (k, ij ) =
σi ∈P a(i)
Et on peut alors calculer récursivement αt (ij ) pour chaque
variable pour chaque pas de temps, en partant des parents
à l’instant 1 et en propageant le message.
Message arrière. Le message arrière est la probabilité
de voir la fin de la séquence d’observations Ot+1 ...OT
connaissant la valeur Sij de la variable qt à l’instant t :
βt (ij ) = P (Ot+1 ..OT |qit = Sij , λ)
Pour calculer cette valeur, on doit regarder chaque enfant
de la variable qi , mais on n’a pas d’information sur les
autres parents de cette enfant. Donc on ne peut pas faire
d’hypothèse sur les différentes instanciations des parents
et nous choisissons alors de faire une moyenne.
Soient Ch(i) les enfants de la variable qi . Pour chaque enfant qk de qi , on construit l’ensemble σk où σk ∈ P a(k) et
ij ∈ σk .
Ensuite on calcule la probabilité de voir l’observation à
l’instant t et on la multiplie par la probabilité de voir les
observations après t. Cela donne :
bkl ,σk (Ot )βt (kl )
a(σk , kl )bkl ,σk (Ot )βt (kl )
Vk .Ck
où Ck = card({σk ∈ P a(k), ij ∈ σk })
Finalement, βt (ij ) est la somme sur chaque enfant de qi
avec qi = Sij de cette moyenne, ce qui donne :
ij ∈σi
Le coefficient Bt (σi ) (qui dépend implicitement de l’historique des observations O1 ...Ot ) est une pondération sur
les différents états courant possibles. Il est nécessaire car
les σi n’ont pas la même probabilité (les composantes
de σi sont fortement corrélées). Pour faire de l’inférence
exacte, il faudrait calculer ce Bt (σi ) en prenant en compte
toute l’historique, ce qui amènerait à une complexité exponentielle en t. Nous proposons d’approximer ce calcul
en maintenant un filtre particulaire qui nous donne une approximation de l’état courant cru du processus (voir [16]
pour avoir une vue d’ensemble des techniques d’approximation de l’état courant cru). Cet état courant cru nous
donne un poids relatif des instanciations des variables.
On a alors simplement :
X
αt (ij ) =
αt (σi )a(σi , ij )bij ,σi (Ot )
X
σk ∈ P a(k) l∈V a(k)
ij ∈ σk
αt (σi ) = P (O1 , ..., Ot , σi |λ)
Alors on calcule ces valeurs :
Y
αt (σi ) = [
αt (ij )]Bt (σi )
X
βt (ij ) =
X
Ft (k, ij )
k∈Ch(i)
3.4
Maximisation
On peut alors calculer ξt (σi , ij ) comme :
ξt (σi , ij ) =
αt (σi )a(σi , ij )bij ,σi (Ot )βt (ij )
P (O|λ)
Et on obtient la nouvelle probabilité de transition :
P
ξt (σi , ij )
ā(σi , ij ) = t
K
où K est un facteur de normalisation.
Cette étape calcule un nouveau modèle λ0 , et on a
P (O|λ0 ) > P (O|λ). Donc P (O|λ) est maximisé par cette
étape. Avec ce nouveau modèle, on peut recommencer la
phase d’Expectation, qui va mener à de différents α, β
et ξ et mettre à jour de nouveau le modèle. Ce processus
converge vers un maximum local de P (O|λ).
3.5
Notes sur l’implémentation
La principale difficulté pour implémenter cet algorithme
est que les α et β tendent exponentiellement vite vers zéro
avec t. Pour les HMMs, un processus de mise-à-l’échelle
est proposé [20] pour résoudre ce problème. Dans le cadre
des DBNs , on doit étendre cette mise à l’échelle pour
plusieurs variables. On prend un facteur d’échelle pour
chaque valeur Sij de chaque variable qi et pas pour chaque
qi , ce qui semble correct car pour chaque j, toutes les
P (qi = Sij ) n’ont pas forcément le même ordre de grandeur. Cette mise à l’échelle est appliquée après chaque calcul des α et β, car des dépassements peuvent apparaître
à l’intérieur même d’un pas de temps. Pour les mêmes
raisons, P (O|λ) peut dépasser la précision de n’importe
quelle machine ; donc il ne faut pas considérer cette probabilité, mais log[P (O|λ)]. Cette valeur est appelée le loglikelihood de l’observation.
Des débordement peuvent aussi apparaître en calculant
ā(σi , ij ), suivant la précision utilisée, et avoir certaines
probabilités de transition artificiellement collées à zéro empêche l’algorithme de converger.
Choisir une bonne représentation pour l’état courant cru est
critique pour le comportement correct de l’algorithme. Une
représentation à plat sur les variables perdrait toutes les
corrélations, menant à une très mauvaise approximation.
D’un autre coté, maintenir un état courant cru exact implique de garder toutes les corrélations le long du temps, et
donc serait exponentiellement complexe [3]. Approximer
l’état courant cru avec un filtre particulaire semble être un
bon compromis. Mais comme la taille de l’espace des hypothèses est très grande, nous avons choisi de faire varier
le nombre de particules car la probabilité de voir l’observation sachant l’état courant cru peut devenir très faible. Nous
maintenons cette probabilité changeant le nombre de particules de façon à ce qu’elle soit du même ordre de grandeur
que la probabilité de voir la première observation.
3.6
Apprentissage de structure
L’algorithme EM ne met à jour que le probabilités de transition, sans toucher à la structure du DBN. Un algorithme
a été proposé [10] pour ajouter dans la boucle des changements de structure. Le principal problème est alors d’évaluer efficacement la nouvelle structure connaissant la courante. De plus, cet algorithme effectue uniquement une recherche locale dans l’espace des structures, et donc un optimum global est dur à atteindre. L’algorithme GES [5] a
été proposé pour trouver une structure optimale pour un réseau bayésien. Cependant, cette technique repose sur des
statistiques sur l’espace d’observations, et n’est donc pas
adapté à un espace d’observations aussi large que le notre.
Dans notre cas, la structure globale est connue. En vue de
faire décroître la taille du DBN et d’accélérer l’apprentissage, nous pensons utiliser ces techniques uniquement sur
les variables cachées (et leurs liens causaux). Pour l’instant, nous utilisons la structure décrite dans la section Résultats.
3.7
Proposition d’apprentissage incrémental
Un problème ouvert pour l’apprentissage de modèles stochastiques est la possibilité d’ajouter de l’information dans
un modèle précédemment appris. Ceci est difficile car l’apprentissage est une recherche locale, et l’algorithme doit
prendre en compte toutes les observations avec une pondération égale.
Nous proposons l’algorithme suivant : on apprend d’abord
un modèle λ1 sur un jeu de données (O1 ..Oi ). Ensuite
on apprend λ2 sur (Oj ..On ), en prenant λ1 comme point
de départ de la recherche locale de λ2 4 . Quand ceci est
fait, on somme simplement λ1 et λ2 . Pour que cette sommation marche, elle doit être faite après chaque itération
de EM, c’est-à-dire que le DBN sommé doit être utilisé
4 Remarquons que λ a été appris depuis un point de départ aléatoire.
1
Donc les phases d’apprentissage suivantes doivent être meilleures que la
première, car le point de départ n’est pas aléatoire mais représente une
partie du processus à modéliser.
pour la maximisation et non uniquement pour l’expectation. Nous pensons que ceci est dû au fait que sinon le rôle
des variables cachées peut être échangé autrement, perdant
leur “sens”. Si la sommation est faite uniquement entre les
différentes phases, le DBN nouvellement appris n’est optimisé que dans l’espace des nouvelles observations et part
trop loin du précédent. Dans ce cas, la somme des deux
DBNs ne reflète pas la réalité de l’espace de l’union des
observations.
4
Adaptation du comportement
Une utilisation possible du modèle présenté dans la section
2.1 est de trouver des paramètres optimaux pour le générateur de mouvement ND, en fonction de l’environnement.
ND est habituellement utilisé avec un jeu de paramètres
fixe, qui n’est pas optimal pour toutes les situations. Nous
cherchons à obtenir une adaptation fine des paramètres du
contrôleur, modélisé en tant que DBN, pour optimiser la
navigation elle-même.
Nous devons introduire des utilités dans certaines de nos
variables en fonction d’un critère d’optimalité. Nous devons donner de fortes récompenses à des valeurs de variables qui vont mener à des comportement désirés, et des
coûts à des valeurs menant à de mauvais comportements.
Typiquement, on doit éviter la valeur échec du comportement général, et nous voulons atteindre la valeur fin.
Nous introduisons également un critère secondaire sur
l’adéquation à l’environnement humain. Parmi deux
comportement à succès, nous préférons celui où la valeur
normal de l’ adéquation l’environnement humain apparaît souvent et voulons éviter celui ou apparaissent souvent
les valeurs agressif et timide. Toutes ces utilités sont données en tant que valeurs scalaires, donc nous devons donner
de plus grandes valeurs à la variable état général, et de plus
petites au critère secondaire, pour éviter le cas où le robot
pourrait obtenir des récompenses en ayant un comportement correct par rapport aux humains mais conduisant à un
échec.
Un schéma général d’un tel adaptateur de comportement
peut être vu sur la figure 3.
F IG . 3 – Schéma général d’un adaptateur de comportement
4.1
Décision
Pour cette application les aspects temporels sont primordiaux. Le processus de commande fonctionne à une fréquence de 2.5 Hertz. L’adaptateur de comportement fonctionne à une fréquence de 1.66 Hz pour la collecte des observations, mais nous n’avons pas besoin de changer les
paramètres de ND à une aussi haute fréquence. Typiquement, les changements de paramètres devraient avoir lieu
au plus souvent à 0.5 Hertz, sinon le système autonome
pourrait faire preuve d’un comportement trop instable.
De fait, le problème que nous avons à résoudre est différent d’une approche par réseau décisionnel dynamique
(DDN) [24], où les décisions sont prises après chaque nouvelle observation, et le résultat est un arbre de décision
associant à chaque séquence d’observation une séquence
de décision synchronisée. De plus, le facteur de branchement pour l’arbre de décision serait trop élevé. Nous avons
donc besoin d’une stratégie complètement différente : nous
considérons que quand on prend une décision, elle va rester
la même pour un certain temps. De cette façon, nous évaluons chaque décision sur un horizon donné, et choisissons
la meilleure.
Le DBN construit inclut un modèle d’évolution de l’environnement, donc nous pouvons prédire précisément ce qui
va arriver dans le futur. Partant d’un état courant cru pour
l’instant courant, nous pouvons inférer à partir du DBN des
états crus futurs pour chaque jeu de paramètres et déduire
les récompenses correspondantes.
L’état courant cru est représenté par un filtre particulaire,
chaque particule étant une hypothèse pondérée sur les valeurs des variables. Quand on infère une particule le long
du temps, on peut calculer l’utilité espérée en sommant
simplement les récompenses rencontrées par la particule.
Ceci peut être fait pour quelques étapes dans le futur (ce qui
donne des espérances imprécises) ou jusqu’à ce que toutes
les particules atteignent un état final (défini par les valeurs
fin et échec de la variables état général). La taille de l’estimation de l’état cru (le nombre de particules, d’hypothèses)
est alors un facteur critique pour prendre des décisions en
temps contraint ; pour résoudre ce problème, nous échantillonnons l’état courant cru pour focaliser les prédictions
sur les hypothèses les plus probables.
4.2
Méta-Décision
Nous introduisons un facteur de confiance dans chaque
probabilité de transition. Ce facteur de confiance est le
nombre de mises-à-jour de la probabilité de transition
durant l’apprentissage. Ceci nous permet de différencier
une équiprobabilité due à une transition jamais rencontrée
d’une informative. Quand on infère les particules pour prédire les utilités espérées des décisions, on collecte également les facteurs de confiance des transitions que les particules ont empruntés. Si une particule a une haut facteur de
confiance, cela signifie que cette particule a rejoué un jeu
de données d’apprentissage, alors que si le facteur est bas,
la particule est passé par des transitions jamais apprises.
Donc la décision doit être prise dans un espace à deux
dimensions : utilité × confiance. Si l’on préfère prendre
une décision avec une haute confiance, cela va mener à rejouer une observation déjà vue, et le robot va exploiter son
modèle. Au contraire, si on choisit une décision avec une
facteur de confiance faible, cela va mener vers des transitions jamais vues dans notre modèle, rendant le comportement du robot plus “explorateur”, avec un plus grand risque
d’échecs. On rencontre donc ici d’une façon originale ici
le compromis classique “exploration contre exploitation”
pour des agents qui apprennent.
5
5.1
Résultats
Apprentissage de comportement de navigation
La gestion du modèle est implémentée sur une architecture
robotique réelle [1], sur un B21R. Les données scalaires
sont classifiées en utilisant l’algorithme “k-means” [14] de
façon à obtenir quelques classes.
La structure du graphe est la suivante :
– dans le même pas de temps, chaque variable d’environnement est liée à chaque variable cachée, chaque variable cachée est liée à chacune des autres cachées, et
chaque variable cachée est connecté à chaque variable
observable conséquence du processus ;
– d’un pas de temps t à t+1, chaque variable est liée à ellemême, et chaque variable contrôlable est liée à chaque
variable cachée.
Nous avons effectué près de 120 navigations du robot
dans différents environnements, en choisissant au hasard
les paramètres de contrôles à des fréquences variables ; ce
qui nous donne quelques centaines de mètres de navigation dans des environnements encombrés, avec des personnes autour du robot. L’opérateur devait donner les valeurs de la variables d’adéquation à l’environnement humain (parmi correct, agressif, timide). Il disposait également d’un bouton d’échec pour stopper les navigations
avant des collisions éventuelles. Un cas d’échec était également automatiquement détecté quand le robot n’arrivait
pas à bouger pendant un certain temps. Le nombre de vecteurs d’observations obtenu est autour de 7 000. Cependant, il ne couvre pas du tout la totalité de l’espace d’observations. L’apprentissage du DBN prend quelques minutes
par itération de Expectation-Maximization. Le DBN appris
se stabilise après moins de 10 itérations. Comme EM est
une recherche locale, nous utilisons un DBN “conservatif”
comme point de départ, ce qui signifie que les probabilités
que les variables changent de valeur est assez faible (autour
de 15%).
Afin d’évaluer la qualité du DBN appris, nous apprenons
le DBN sur toutes les observations sauf une, et essayons
de prédire cette observation. Ceci est fait en inférant un
filtre particulaire sur le DBN, choisissant la particule la
plus probable, et comparant les observations de cette particule aux vraies. L’observation globale est rarement exac-
tement la même, mais dans la plupart des cas la particule
permet de déduire la plupart des variables observables. On
peut voir les résultat de ce processus d’évaluation sur la
tableau 4. On remarque que les résultats prédits sont nettement meilleurs qu’une prédiction au hasard.
variable
cluttering
angle of obstacle
dist. to obstacle
# segments
# valleys
v
w
dv
dw
∆ dist. to goal
% mission
srtategy
general
adequation
average
random guess
33.3
25.0
25.0
33.3
33.3
33.3
25.0
33.3
33.3
33.3
33.3
20.0
25.0
33.3
29.0
dbn
87.3
86.4
88.5
81.6
79.9
90.8
79.0
91.9
92.2
77.8
97.1
84.8
96.4
92.5
87.6
nettement visible dans nos expérimentations, alors que ce
n’est pas du tout le cas pour les paramètres choisis à la
main. L’accélération globale de la navigation sera quantifiée dans de futurs travaux.
La collecte d’observation peut être faite en même temps
que l’adaptation active du comportement ; la prochaine
étape sera alors de décider quand le robot doit utiliser des
bons comportements ou des comportements étendant la variété des observations.
5.3
Apprentissage incrémental
Afin d’évaluer l’algorithme d’apprentissage incrémental,
nous avons appris un DBN en 5 phases comme expliqué
dans la section Incremental Learning. Chaque phase utilise 20% des observations. Sur la figure 5, les phases sont
numérotées sur l’axe des abscisses. L’axe des ordonnées
représente le log-likelihood obtenu. La ligne supérieure
montre le log-likelihood obtenu en une seule phase d’apprentissage (utilisant toutes les observations). Si le DBN
résultant n’est pas aussi bon que celui appris en une seule
fois, la différence est très faible.
-40000
single learning
incremental learning
incremental without summing every step
-50000
F IG . 4 – Tableau des bonnes prédictions à un coup (%)
-60000
5.2
-70000
log-likelihood
On a utilisé pour ces tests trois variables cachées d’arité
trois, mais il semble qu’augmenter ces valeurs permet
d’améliorer les résultats, mais malheureusement rend l’apprentissage trop complexe du fait de la nature quasicomplète de la structure. Nous avons à gérer près d’une
centaine de liens causaux, ce qui rend les calculs très
lourds. L’apprentissage structurel devrait nous permettre
d’alléger l’apprentissage quantitatif.
-90000
-100000
-110000
-120000
Contrôle
Le niveau décisionnel de l’adaptateur de comportement a
été implémenté en utilisant OpenPRS [13]. L’état courant
cru est maintenu tout au long de la navigation, et quand un
choix doit être fait, il est échantillonné de façon à limiter la
taille du filtre particulaire pour la prédiction.
Dans nos expérimentations du contrôle, les décisions
étaient prises à une période fixe de 2 secondes, changeant
les paramètres du contrôleur dynamiquement, sans stopper le mouvement du robot. Ainsi la navigation se comporte mieux qu’avec les paramètres par défaut réglés à la
main habituellement utilisés sur ce robot, et bien mieux
qu’avec des paramètres aléatoires. Typiquement, durant la
phase d’apprentissage avec des paramètres aléatoires, un
tiers des navigations se terminaient par un échec dû à une
collision ou un blocage, alors que ce genre d’échecs n’apparaît qu’une fois sur 10 lors du contrôle basé sur le DBN,
en utilisant un jeu de paramètres non présent dans ceux
appris (comportement exploratoire). De plus, dans la phase
d’apprentissage, nous avons étiqueté comme correct les paramètres produisant de grosses accélérations lorsque le robot arrive sur une large zone libre, et ce comportement était
-80000
0
20
40
60
percentage of seen observation
80
100
F IG . 5 – Incremental learning likelihoods
6
Conclusion et Discussion
Nous avons présenté une approche novatrice pour apprendre des modèles DBN d’un comportement robotique
complexe. Dans notre contexte, où nous voulons apprendre
un modèle dans lequel les variables contrôlables restent
observables, les DBNs sont préférables aux HMMs. Nous
avons développé une version modifiée de EM pour les
DBNs. Nous avons présenté notre adaptateur de comportement, et comment il peut être utilisé pour apprendre un
modèle et l’utiliser en ligne. Cette approche a été implémentée et testée avec succès sur une plate-forme robotique.
Nous avons montré que, pour une tâche de navigation assez
complexe, nous avons pu apprendre un modèle qui, utilisé
pour changer dynamiquement les paramètres contrôlables,
se comporte bien mieux qu’un jeu de paramètres habituel,
ou encore qu’un jeu à changements aléatoires.
Ces travaux sont très poches de ceux de [17], où les auteurs
essaies de modéliser des activités humaines avec des DBNs
dits hiérarchiques. Notre approche essaie de traiter plus de
variables, et des données incomplètes. De plus, nous proposons une manière directe d’utiliser ces modèles pas uniquement pour le diagnostic, mais pour contrôler le processus lui-même. Dans [19], les auteurs apprennent à reconnaître des comportements robotiques qui correspondent à
des opinions humaines, mais ils insistent plus sur “comment construire des variables qui aient un sens” que sur
l’utilisation de ce genre de modèle. L’utilisation proposée
est plus du domaine de la planification de tâches classique
[21]. Nous proposons une méthode efficace pour mélanger
apprentissage et prise de décision. Notre approche est dans
le même esprit que [2], où les auteurs modélisent un système en temps que réseaux de neurones ou d’arbres d’induction, puis prennent des décisions grâce à un processus
décisionnel de Markov, pour de la navigation robotique autonome. Nous proposons une approche plus intégrée, où le
mécanisme de prises de décision est beaucoup plus proche
du modèle lui-même. De plus, il nous permet de prendre
en compte des variables cachées, c’est-à-dire une structure
plus complexe pour le modèle lui-même. Nous proposons
une façon de construire un modèle utilisant plus de caractéristiques que celui proposé. Dans [22] les auteurs présentent une méthode originale pour optimiser l’exécution
de tâches. Les tâches de haut niveau sont construites avec
un nombre de paramètres qui doit être optimisé pour une
exécution correcte. Des modèles de performance sont appris pour les paramètres de contrôle sous forme d’arbres
de règles, mais la plupart du travail nécessaire est fait à
la main. Notre approche est automatisée, et les modèles
construits sont plus expressifs (bien que difficilement lisibles), à cause de la présence de variables cachées. De
plus, les modèles que nous construisons sont probabilistes,
alors que dans ces travaux ce n’est pas le cas. Le point commun entre notre approche et la leur et qu’elles vont nécessiter de grosses puissances de calcul quand il s’agira de
mélanger différentes tâches complexes.
Pour le long terme, nous gardons à l’esprit que les comportements appris ne sont pas seulement utilisables pour
contrôler l’exécution, mais également pour être pris en
compte par un planificateur de haut niveau capable de choisir parmi un ensemble de comportements.
Malgré notre application à une tâche de navigation autonome pour un robot guide de musée, nous pensons que
cette approche reste applicable pour d’autres comportements, et pourrait être utilisée pour d’autres systèmes autonomes.
Références
[1] R. Alami, R. Chatila, S. Fleury, M. Herrb, F. Ingrand, M. Khatib,
B. Morisset, P. Moutarlier, and T. Siméon. Around the lab in 40
days... In Proceedings of ICRA, 2000.
[2] T. Belker, M. Beetz, and A. Cremers. Learning action models for the
improved execution of navigation plans. Robotics and Autonomous
Systems, 38(3-4) :137–148, 2002.
[3] X. Boyen and D. Koller. Tractable inference for complex stochastic
processes. In Proceedings of UAI, 1998.
[4] H. Bui. A General Model for Online Probabilistic Plan Recognition.
In Proceedings of IJCAI, 2003.
[5] D. Chickering. Optimal structure identification with greedy search.
Journal of Machine Learning Research, 3 :507–554, 2002.
[6] A. Clodic, S. Fleury, R. Alami, M. Herrb, and R. Chatila. Supervision and interaction. In Proceedings ICAR, pages 725–732, 2005.
[7] I. Cohen, N. Sebe, L. Chen, A. Garg, and T. S. Huang. Facial Expression Recognition from Video Seqences : Temporal and Static
Modelling. Computer Vision and Image Understanding : Special
Issue on Face Recognition, 91 :160–187, 2003.
[8] T. Dean and K. Kanazawa. A model for reasoning about persistence
and causation. Computational Intelligence, 5(3) :142–150, 1990.
[9] M. Fox, M. Ghallab, G. Infantes, and D. Long. Robot introspection through learned hidden markov models. Artificial Intelligence,
170(2) :59–113, february 2006.
[10] N. Friedman. The bayesian structural em algorithm. In Proceedings
of UAI, 1998.
[11] G. Infantes, F. Ingrand, and M. Ghallab. Learning Behaviors Models
for Robot Execution Control. In Proceedings of ECAI, 2006.
[12] G. Infantes, F. Ingrand, and M. Ghallab. Learning Behaviors Models
for Robot Execution Control. In Proceedings of ICAPS, 2006.
[13] F. Ingrand, R. Chatila, R. Alami, and F. Robert. PRS : A High Level
Supervision and Control Language for Autonomous Mobile Robots.
In Proceedings of ICRA, 1996.
[14] T. Kanungo, D.M. Mount, N.S. Netanyahu, C.D. Piatko, R. Silverman, and A.Y. Wu. An efficient k-means clustering algorithm : analysis and implementation. IEEE Transactions on Pattern Analysis
and Machine Intelligence, 24(7) :881–892, July 2002.
[15] S. Koenig and R. G. Simmons. Passive Distance Learning for Robot
Navigation. In Proceedings of International Conference on Machine
Learning (ICML), 1996.
[16] D. Koller and R. Fratkina. Using learning for approximation in stochastic processes. In Proceedings of ICML, 1998.
[17] L. Liao, D. Fox, and H. Kautz. Learning and Inferring Transportation Routines. In Proceedings of AAAI, 2004.
[18] J. Minguez, J. Osuna, and L. Montano. A "Divide and Conquer"
Strategy based on Situations to achieve Reactive Collision Avoidance in Troublesome Scenarios. In Proceedings of ICRA, 2004.
[19] T. Oates, M. D. Schmill, and P. R. Cohen. A method for clustering
the experiences of a mobile robot that accords with human judgements. In Proceedings of IJCAI, 2000.
[20] L. R. Rabiner. A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition. Proceedings of the IEEE,
77(2) :257–286, February 1989.
[21] Matthew D. Schmill, Tim Oates, and Paul R. Cohen. Learning planning operators in real-world, partially observable environments. In
Proceedings of ICAPS, 2000.
[22] F. Stulp and Michael Beetz. Optimized execution of action chains
using learned performance models of abstract actions. In Proceedings of IJCAI, 2005.
[23] A. Wilson and A. Bobick. Hidden Markov Models for Modeling
and Recognizing Gesture Under Variation. International Journal
of Pattern Recognition and Artificial Intelligence, 15(1) :123–160,
2001.
[24] N.L. Zhang, R. Qi, and D. Poole. A computational theory of decision networks. International Journal of Approximate Reasoning,
11(2) :83–158, 1994.

Documents pareils