• Aucun résultat trouvé

Exp´ erience n ➦1 : environnement simul´e, mo-

Mise en place des

6.3 Exp´ erience n ➦1 : environnement simul´e, mo-

mo-d`ele de l’environnement connu

Pour faire un premier test de notre algorithme d’apprentissage par renforce-ment dans un environnerenforce-ment ambiant, nous avons r´eduit le probl`eme en

a) utilisant le simulateur plutˆot que l’environnement r´eel afin de pouvoir facilement rejouer l’exp´erience en faisant varier des param`etres de l’algo-rithme ;

b) utilisant un mod`ele de l’environnement suppos´e correct, sans l’apprendre afin de mesurer l’efficacit´e de l’apprentissage par renforcement seul. Nous avons ex´ecut´e un sc´enario minimal, compos´e de trois ´ev´enements : 0. ✭✭ Sofia est dans le bureau ✮✮ ;

1. ✭✭ Sofia quitte le bureau ✮✮ ; 2. ✭✭ Sofia entre dans le bureau ✮✮.

`

A chaque pas, neuf actions sont possibles. Elles concernent l’´economiseur d’´ecran et la musique :

´

Economiseur d’´ecran Musique

Action Verrouiller D´everrouiller Rien Pause Jouer Rien

1 × × 2 × × 3 × × 4 × × 5 × × 6 × × 7 × × 8 × × 9 × ×

Tab.6.1 – Les neuf actions possibles lorsqu’un ´ev´enement d’entr´ee ou sortie de personnes est d´etect´e.

Le comportement que nous souhaitons obtenir de l’assistant est le suivant : lorsque l’utilisateur quitte le bureau, la musique se met en pause et l’´ecran est verrouill´e. Lorsque l’utilisateur entre dans son bureau, `a l’inverse, la musique rejoue et l’´ecran est d´everrouill´e.

La r`egle pour donner les r´ecompenses est la suivante : lorsque l’action est bonne pour les deux param`etres (l’´ecran et la musique), le renforcement est tr`es bon (50). Lorsque les deux param`etres sont mauvais, on donne un renforcement fortement n´egatif (−50). Enfin, lorsque seule l’une des deux actions est mauvaise, le renforcement donn´e est moins n´egatif (−25). Le mod`ele de renforcement fourni est fait ✭✭ `a la main ✮✮ pour correspondre `a ces valeurs. Le mod`ele de transitions est ´egalement fait ✭✭ `a la main ✮✮ et englobe les ´etats rencontr´es lors de ce simple sc´enario.

Au d´epart de l’exp´erience, la q-table est vide et l’on commence par ex´ecuter un ´episode de q-Learning de 20 it´erations. Apr`es cet ´episode ex´ecut´e pour initia-liser le comportement, nous ex´ecuterons un ´episode plus court, de 10 it´erations,

6.4 – Exp´erience n➦2 : autour de l’apprentissage initial 149

chaque minute. Chaque ´episode d´emarre dans le mˆeme ´etat initial par d´efaut et rejoue des ´ev´enements choisis au hasard dans la base de donn´ees.

Afin d’´evaluer la politique apprise, le simulateur joue en parall`ele et en boucle le sc´enario d´ecrit ci-dessus. Apr`es 50 ´episodes, nous modifions le taux d’explo-ration de notre politique ǫ-gloutonne de 0.5 `a 0.1. Ceci signifie que 90% des fois, c’est la meilleure action qui est choisie. Pour mesurer l’´evolution de la somme des renforcements donn´es, nous avons rejou´e ce sc´enario pr`es de 800 fois et nous avons calcul´e cette somme des renforcements re¸cus pour chaque instance du sc´enario.

Remarque : L’ex´ecution d’un sc´enario n’a aucune influence sur l’apprentis-sage (elle en aurait sur l’apprentisl’apprentis-sage du mod`ele du monde, mais celui-ci n’est pas effectu´e dans cette exp´erience). Elle permet simplement de visualiser l’´evo-lution de la politique apprise. Cette exp´erience ne veut donc en aucun cas dire que l’utilisateur devrait entrer et sortir de son bureau 800 fois !

Les r´esultats de cette exp´erience sont pr´esent´es dans la section 7.2.

6.4 Exp´erience n➦2 : autour de l’apprentissage

initial

Cette exp´erience a pour but de comparer les diff´erents param`etres pouvant varier dans la phase initiale, au premier d´emarrage du syst`eme. Cette phase consiste `a transformer le mod`ele de l’environnement initial en une q-table initiale et donc un comportement initial. En effet, il est plus facile de sp´ecifier des transitions et des exemples de r´ecompenses que des q-valeurs (la section 5.8

traite de cet aspect). Afin d’initialiser la q-table de mani`ere `a refl´eter ce mod`ele de l’environnement initial, nous ex´ecutons des ´episodes hors-ligne de q-Learning. On int`egre ainsi `a la q-table la connaissance que nous avons du monde.

Les param`etres que nous pouvons faire varier sont les suivants : 1. Le nombre d’´episodes (NB_EP) ;

2. Le nombre d’it´erations de chaque ´episode (NB_ITER) ;

3. L’´etat initial de chaque ´episode (INIT_STATE) avec les trois possibilit´es : – L’´etat par d´efaut (tous les arguments ont des valeurs nulles <null>)

(DEF) ;

– Un ´etat dont toutes les valeurs sont tir´ees au hasard (RND) ;

– Un ´etat tir´e au hasard parmi tous les ´etats d´ej`a rencontr´es (pour cette option il faut donc attendre que le syst`eme ait commenc´e `a tourner et `

a enregistrer dans la base de donn´ees les ´etats rencontr´es) (RND_DB). 4. Le choix de l’´ev´enement `a chaque pas de chaque ´episode (EVENT_GEN),

deux possibilit´es :

– Un ´ev´enement g´en´er´e al´eatoirement (RND) ;

– Un ´ev´enement choisi al´eatoirement parmi tous les ´ev´enements enregis-tr´es dans la base de donn´ees (de mˆeme, ceci ne peut ˆetre fait qu’apr`es le d´emarrage du syst`eme) (RND_DB).

Nous avons donc ex´ecut´e des tests pour d´eterminer les meilleurs choix parmi les valeurs suivantes des param`etres d´efinis ci-dessus (tableau6.2).

Remarque : Il est int´eressant de remarquer pourquoi nous choisissons d’ef-fectuer plusieurs ´episodes pour cette phase initiale, au lieu d’un seul plus long,

Param`etre Valeurs possibles NB_EP de 1 `a 100 INIT_STATE DEF, RND, RND_DB

NB_ITER 10, 25, 50, 100 EVENT_GEN RND, RND_DB

Tab.6.2 – Param`etres variant dans l’exp´erience n➦2 et leurs valeurs.

comme nous avons d’abord pens´e le faire (section6.3). D’abord, plusieurs ´epi-sodes repr´esentent plusieurs chemins dans le graphe form´e par le mod`ele de tran-sition. Effectuer plusieurs chemins apporte une plus grande probabilit´e d’explo-rer davantage l’espace d’´etats-actions, d’autant plus si chaque ´episode d´emarre dans un ´etat al´eatoire. Ensuite, un ´episode a toujours une possibilit´e de se blo-quer. Comme il est expliqu´e section 5.10, si le mod`ele de transition ne peut pas fournir l’´etat suivant lors d’une it´eration, alors l’it´eration est abandonn´ee et un nouvel ´ev´enement est choisi1. Ainsi, les ´episodes d´ependent du mod`ele de l’environnement, de la connaissance actuelle qu’a l’assistant du monde. Dans le cas de cette initialisation du comportement, le mod`ele du monde est particu-li`erement r´eduit. Il y a, par cons´equent, une probabilit´e forte qu’il existe des ´etats terminaux dans lesquels le mod`ele ne connaˆıt l’issue d’aucune action ni d’aucun ´ev´enement. Si nous effectuons un seul ´episode et que nous rencontrons un tel ´etat, le r´esultat de l’apprentissage risque d’ˆetre particuli`erement faible. Faire plusieurs ´episodes permet de se d´ebloquer d’une telle situation.

Les r´esultats de cette exp´erience sont pr´esent´es dans la section 7.3.

6.5 Exp´erience n➦3 : Int´egration des interactions

avec l’utilisateur et de l’apprentissage par

renforcement et supervis´e

Enfin, nous avons lanc´e ensemble toutes les parties de notre assistant. Tou-tefois, nous avons subdivis´e cette exp´erience car, dans un premier temps, nous avons encore utilis´e le simulateur du monde, mais d’une mani`ere diff´erente de la premi`ere exp´erience.

6.5.1 ✭✭ Le tableau de bord ✮✮

Le tableau de bord est une interface graphique int´egr´ee au simulateur de l’en-vironnement et qui propose des boutons pour envoyer `a l’assistant tous les types ´ev´enements d´efinis dans l’environnement. Cette interface est montr´ee figure6.3. Ceci se rapproche beaucoup plus du cas r´eel que l’utilisation pr´ec´edente du si-mulateur (avec des sc´enarios) et permet simplement d’´eviter les probl`emes li´es

1

Remarque: ce n’est pas le cas avec le mod`ele de r´ecompense. En effet, lorsque celui-ci n’a pas d’informations `a fournir, il retourne un renforcement de z´ero. Ceci n’est pas une raison pour abandonner l’it´eration car, dans le cas r´eel, si l’utilisateur ne fournit pas de renforcement, l’algorithme s’effectue avec un renforcement nul (alors que, dans le cas r´eel, il y a toujours un ´

6.5 – Exp´erience n➦3 : Int´egration des interactions avec l’utilisateur et de l’apprentissage par renforcement et supervis´e 151

aux capteurs r´eels, mais aussi de simplifier la vie du d´eveloppeur qui souhaite g´en´erer des ´ev´enements pour tester le syst`eme.

Fig. 6.3 – Une capture d’´ecran de l’interface ✭✭ tableau de bord ✮✮. L’onglet s´electionn´e ici permet d’envoyer des ´ev´enements d’entr´ee/sortie de dispositifs Bluetooth enregistr´es dans la base de donn´ees.

6.5.2 Exp´erience

Pour cette exp´erience, nous sommes partis de la q-table gagnante de l’exp´e-rience pr´ec´edente (section6.4), qui repr´esente le comportement initial de notre assistant, obtenu en ✭✭ traduisant ✮✮ le mod`ele du monde par d´efaut en compor-tement.

L’assistant interagit avec le simulateur de l’environnement, contrˆol´e par l’ex-p´erimentateur. Tous les six pas (´ev´enements de l’environnement ou actions de l’assistant), l’apprentissage supervis´e des mod`eles de transition et de r´ecom-pense se d´eclenche afin d’int´egrer les derni`eres informations enregistr´ees. Les ´episodes d’apprentissage par renforcement hors-ligne s’ex´ecutent en tˆache de fond un par un, avec une minute d’intervalle entre deux ´episodes. Ces inter-valles d’une minute et de six pas ont ´et´e choisis afin d’acc´el´erer l’exp´erience, puisque l’exp´erimentateur est l`a pour g´en´erer des ´ev´enements fr´equents. Dans ✭✭ la vie r´eelle ✮✮, les ´ev´enements seront moins fr´equents et l’intervalle pourra ˆetre augment´e progressivement. Apr`es une premi`ere phase d’adaptation active `

a l’utilisateur, nous pourrons ex´ecuter un ´episode2 par jour par exemple. En ef-fet, l’utilisateur pourra bien sˆur modifier ses pr´ef´erences, pour cette raison nous n’arrˆeterons jamais d´efinitivement l’apprentissage, mais ces modifications seront peu fr´equentes et `a grande ´echelle.

Nous avons laiss´e ✭✭ tourner ✮✮ l’assistant dans ces conditions pendant plu-sieurs jours, en passant un peu de temps `a lui fournir de nouveaux ´ev´enements et des renforcements. Certains de ces renforcements ´etaient dans la continuit´e de ce qui ´etait d´ej`a pr´esent dans le mod`ele initial, et certains ´etaient nouveaux car ils r´epondaient `a des ´ev´enements non mod´elis´es par d´efaut. Les r´esultats de cette exp´erience seront pr´esent´es section7.4.

2

Une phase d’apprentissage par renforcement qui int´egrera les entr´ees de l’utilisateur au comportement.

6.6 Validation crois´ee de l’algorithme

d’appren-tissage supervis´e de la fonction de transition

L’algorithme d’apprentissage supervis´e du mod`ele de transition est d´ecrit section 5.9.1. Nous avons mis en avant le fait que cet algorithme permet une g´en´eralisation des exemples sur lesquels il apprend le mod`ele. Ceci permet `a l’ap-prentissage par renforcement hors ligne (algorithme 7 section 5.10) d’explorer une plus grande partie de l’espace d’´etats-actions, et ainsi d’avoir une estimation du bon comportement dans un ´etat qui n’a encore jamais ´et´e observ´e.

Afin de v´erifier cette capacit´e de g´en´eralisation, nous avons effectu´e une validation crois´ee `a 10 plis (10-fold cross-validation). L’ensemble des exemples de transition Ex = {{s, o, s

}} de la base de donn´ees a ´et´e al´eatoirement divis´e en un ensemble de 10 sous-parties disjointes formant une partition : Ex = {exi, i ∈ [0, 9]}. L’algorithme de validation crois´ee est r´esum´e par l’algorithme8

ci-dessous.

Algorithme 8: Validation crois´ee de l’apprentissage supervis´e du mod`ele de transition.

Entr´ee: Une partition de l’ensemble d’exemples Ex = {exi, i ∈ [0, 9]} Sortie: Une matrice de confusion

Pour chaquepartition exk, k ∈ [0, 9] faire

Apprendre le mod`ele de transition sur les exemples des partitions exj, j ∈ [0, 9] \ k;

Tester le mod`ele appris sur les exemples de la partition exk;

Cet algorithme permet de tester le mod`ele appris sur des exemples ne faisant pas partie de l’ensemble d’apprentissage et ainsi d’estimer sa capacit´e de g´en´e-ralisation. De plus, la partition ´etant al´eatoire et l’apprentissage ´etant effectu´e dix fois sur diff´erents ensembles d’exemples, ce test est ind´ependant des donn´ees et du choix de la partition. Le r´esultat de cette validation crois´ee est pr´esent´e dans la section7.5.

Chapitre 7

R´esultats et interpr´etation

Dans ce chapitre, nous allons d´ecrire et commenter les r´esultats de chacune des exp´eriences d´ecrites dans le chapitre pr´ec´edent (chapitre 6). Avant cela, dans la section 7.1, nous allons pr´eciser les crit`eres importants pour ´evaluer notre assistant et le syst`eme de mesure que nous avons mis en place.