• Aucun résultat trouvé

Mise en place des

6.1 R´ esum´ e des exp´ eriences

Nous avons effectu´e plusieurs exp´eriences afin de tester notre syst`eme. Ces exp´eriences sont de plus en plus compl`etes. La premi`ere exp´erience (section6.3) vise `a se d´etacher de la partie ✭✭ environnement ambiant ✮✮ afin d’´eviter les pro-bl`emes de fausses d´etections, de latence, de communication entre modules, etc. Elle ´ecarte ´egalement les deux algorithmes d’apprentissage du mod`ele de l’en-vironnement (l’apprentissage supervis´e du mod`ele de transition – algorithme5, et du mod`ele de renforcement – algorithme6). Ceci nous permettra de ne tes-ter que l’algorithme d’apprentissage par renforcement (algorithme3). Pour ceci, nous avons utilis´e des mod`eles ´ecrits `a la main, et un simulateur de l’environne-ment, d´ecrit section6.2. La deuxi`eme exp´erience (section6.4) se concentre sur la partie ✭✭ initialisation ✮✮ de l’assistant. Comme il est expliqu´e section5.8, lorsque l’assistant est mis en route pour la premi`ere fois, sa q-table est vide (son com-portement est donc totalement al´eatoire) mais il poss`ede un mod`ele du monde initial. Ce mod`ele est tr`es incomplet mais permet `a l’assistant d’initialiser sa q-table en effectuant d’entr´ee des ´episodes d’apprentissage par renforcement in-direct (algorithme7). La deuxi`eme exp´erience vise donc `a choisir les param`etres optimaux pour cette phase initiale. Enfin, la troisi`eme exp´erience (section 6.5) vise `a ´evaluer le syst`eme dans sa globalit´e. L’assistant d´ebute avec la q-table r´esultante de l’exp´erience pr´ec´edente, et s’ex´ecute dans l’environnement en inter-agissant avec l’utilisateur pendant une p´eriode de temps prolong´ee. L’assistant

apprend en tˆache de fond le mod`ele du monde avec ses algorithmes supervis´es, ce qui permet d’int´egrer les ´el´ements du monde qui n’´etaient pas inclus dans le mod`ele initial. Il ex´ecute ´egalement, `a intervalles de temps r´eguliers, l’algo-rithme d’apprentissage hors ligne afin d’int´egrer dans la q-table ces nouvelles observations.

6.2 Le simulateur de l’environnement

Nous avons mis en place une plate-forme exp´erimentale pour tester nos al-gorithmes. Le monde est simul´e. Cette plate-forme remplace tous les capteurs et effecteurs de l’environnement (d´ecrits sections4.5.1 et4.5.2). Le simulateur envoie des ´ev´enements de la mˆeme mani`ere que le font les capteurs. Il re¸coit les commandes et y r´epond comme les effecteurs le feraient.

Il est possible de fournir un sc´enario d’´echanges pr´ed´efini. Dans ce cas, on peut consid´erer que l’utilisateur est ´egalement simul´e. La section 6.5.1 d´ecrit une utilisation du simulateur qui n’int`egre pas l’utilisateur.

Ces ´echanges suivent un sc´enario pr´ed´efini.

Un sc´enario est une s´equence d’´ev´enements, par exemple : 0. ✭✭ Sofia est dans le bureau ✮✮ ;

1. ✭✭ Nouvel email de diffusion ✮✮ ;

2. ✭✭ Rappel : barbecue de l’´equipe `a 13h ✮✮ ; 3. ✭✭ Sofia quitte le bureau ✮✮ ;

4. ✭✭ Bob entre dans le bureau ✮✮ ; 5. ✭✭ Sofia entre dans le bureau ✮✮ ; et ainsi de suite.

Le simulateur re¸coit un tel sc´enario en entr´ee et envoie les ´ev´enements corres-pondants de fa¸con s´equentielle. De plus, il re¸coit les actions prises par l’assistant et renvoie des r´ecompenses `a celui-ci. Ces r´ecompenses sont pr´ed´efinies dans le sc´enario et l’assistant les traite exactement de la mˆeme fa¸con que les r´ecom-penses r´eelles de l’utilisateur.

Le sc´enario pr´ed´efinit `a chaque ´etape l’´etat souhait´e et la r´ecompense `a en-voyer si cet ´etat est effectivement atteint. Dans le cas contraire, nous diminuons la r´ecompense en fonction de la distance entre l’´etat r´eellement atteint et l’´etat souhait´e (se r´ef´erer `a la section6.2.1). Pour cela, le simulateur a acc`es `a l’´etat courant de l’assistant.

Ce syst`eme permet de tester facilement et automatiquement les algorithmes d’apprentissage. Les sc´enarios d´eterministes permettent de faire des exp´erimen-tations simplement car on peut tester plusieurs hypoth`eses dans les mˆemes conditions.

6.2.1 Distance entre ´etats

La distance entre deux ´etats s1 et s2 est calcul´ee comme le nombre de pas n´ecessaires pour obtenir s2en partant de s1, c’est-`a-dire le nombre de transitions entre s1 et s2 dans le graphe d´efini par le mod`ele de transition. L’algorithme de calcul de la distance est un algorithme r´ecursif de recherche en largeur dans l’arbre form´e par l’´etat de d´epart s1et ses successeurs. Cet arbre est repr´esent´e

6.2 – Le simulateur de l’environnement 147

Fig.6.1 – Le service simulant l’environnement connect´e `a l’assistant personnel.

sur la figure6.2. Dans cet exemple, l’´etat recherch´e s2est trouv´e parmi les ´etats successeurs des successeurs de s1, la distance entre s1 et s2 vaut donc 2.

Fig. 6.2 – Exemple d’arbre produit par le mod`ele de transition. Dans cet exemple, d(s1, s2) = 2.

La recherche se fait sur un maximum de six ´etages dans l’arbre, ce chiffre ´etant choisi en raison du temps de calcul. Les ´etats successeurs d’un ´etat s sont obtenus en effectuant toutes les transitions possibles. Les transitions peuvent se faire par suite d’une action de l’assistant ou bien d’un ´ev´enement de l’environ-nement (ceci est expliqu´e en d´etail section 5.6.5). Dans un ´etat donn´e s, tous les ´ev´enements peuvent survenir car ils sont ind´ependants de l’´etat de l’assis-tant. Par contre, l’ensemble d’actions possibles dans un ´etat d´epend de cet ´etat. Lorsque le mod`ele de transition est incomplet pour un couple (s, a) ou (s, e), l’´etat suivant renvoy´e est l’´etat de d´epart s ; dans ce cas la transition est ignor´ee pour le calcul de la distance. La distance entre deux mˆemes ´etats d´epend donc de la connaissance actuelle qu’a l’assistant du monde.