• Aucun résultat trouvé

Algorithme utilisé pour entraîner le réseau

Figure 48 : Evolution de la température en fonction du temps

La fonction de température utilisée est présentée sur la Figure 48. Nous avons arbitrairement choisi une fonction linéaire mais d’autres fonctions auraient pu être testées, toutefois les résultats n’auraient pas été pertinents dans le sens où ils auraient été spécifiques à cette application. Le point essentiel est de ne pas descendre la température trop vite pour permettre au système de s’extirper des minima locaux. Pour permettre à l'algorithme de glisser vers le maximum global, la température n'est jamais égale à 0. La valeur minimale Tmin

garantie de ne jamais figer les paramètres du système et de converger vers l'extremum, qu'il soit optimal ou global.

Un inconvénient majeur à l’utilisation du recuit simulé réside dans le réglage des paramètre: nous allons décrire comment nous avons choisi ceux utilisés dans ces travaux. La fonction de la température est décroissante linéairement jusqu'à atteindre une valeur faible (

Tmin = 5.10-3). Cette valeur est suffisante pour verrouiller le système et permettre à

l’algorithme de glisser vers la valeur optimale absolue. La température initiale (Ti) est égale à

1. Durant les simulations sous Matlab, nous avons volontairement choisi une valeur négative très faible pour a = -5.10-3. Diminuer lentement la température de cette façon garantit que l’ensemble de l’espace d’état est exploré et que la solution optimale est trouvée. Pour les expérimentations sur les robots réels, nous nous sommes basés sur l’autonomie qui est d’approximativement 90 minutes. Ce temps a été découpé en deux parties : environ une heure

Ft(cycle)=a.cycle+Ti

Ti

Ft(cycle)= Tmin

pour l’apprentissage, puis 30 minutes pour la température minimale Tmin. Une évaluation de la

stratégie dure 23 secondes, pour atteindre Tmin en une heure, le paramètre a doit valoir -6.10-3.

6.2.3 Résultats expérimentaux I

Résultats de simulation : De nombreuses simulations ont été réalisées afin d'étudier

l'influence des paramètres. La première constatation est que la méthode converge toujours vers la stratégie optimale à condition que la température décroisse lentement et que les temps d'évaluation soient suffisamment longs pour garantir une estimation correcte de la performance. La Figure 49 présente l'évolution typique de la meilleure stratégie connue au cours du temps. Dans un premier temps, le robot tourne sur place, garantissant ainsi de ne pas rencontrer d'obstacles. La trajectoire du robot décrit des cercles de plus en plus grands, pour finir par parcourir des trajectoires rectilignes tout en évitant les obstacles. Le robot dispose d'un capteur central C0; lorsqu'un obstacle est détecté par celui-ci, l'agent dispose de deux

stratégies: tourner à droite ou à gauche. Il existe donc deux stratégies optimales dans notre système. 0 0.2 0.4 0.6 0.8 1 -1.5 -1 -0.5 0 0.5 0 50 100 150 200 Average speed Rotation speed C ycl e s

Figure 49 : Evolution de la meilleure stratégie connue

Résultats expérimentaux : les résultats de simulations étant satisfaisants, des expérimentions

sur un robot mobile Type 1 ont donc été menées. Les résultats d’une expérience sont présentés sur la Figure 50. En premier lieu, la convergence est atteinte et la récompense est maximisée (Figure 50.b). Toutefois, l'analyse des résultats montre que le système ne converge pas toujours vers la solution optimale. Le même comportement peut donner des performances différentes avec un écart-type important. Si une évaluation donne une récompense importante dès le début de l’apprentissage et que cette évaluation est erronée, alors aucune autre expérience ne pourra écraser cette mauvaise évaluation. Prenons cet exemple critique : l’agent réalise la stratégie suivante " aller tout droit quelque soient les obstacles détectés ". Si sa configuration initiale lui permet d’aller droit sans rencontrer d’obstacles, la récompense attribuée sera élevée. Et pourtant ce comportement est loin d’être optimal. Cette erreur est due à la configuration de l’environnement, la position initiale du robot et le bruit. Pour contrer ce problème, il faudrait augmenter la durée d'une période d'évaluation afin de diminuer l'écart- type autour de la valeur moyenne de la performance, mais les temps d'apprentissage seraient augmentés. De plus, la méthode n’est pas adaptative: une fois que la température a atteint son

Vitesse de rotation Cycles

minimum, plus aucune variation des poids n’est envisageable, donc le système est incapable de s’adapter à une quelconque panne ou perturbation. L’approche adaptative proposée dans le paragraphe suivant va nous permettre de contrer ces deux problèmes en même temps.

0 20 40 60 80 100 120 140 160 -1 -0.5 0 0.5 1 0 20 40 60 80 100 120 140 160 -0.5 0 0.5 1 1.5

Figure 50 : Résultats d'une expérimentation

6.2.4 Approche adaptative

Nous avons vu dans le chapitre précédent que le recuit simulé classique ne permet pas d’adapter le contrôleur aux perturbations extérieures. Le seul moyen de détecter de tels événements (sans considérer de représentations complexes ni de l’environnement ni de l’agent) est d’exploiter l’information retournée par la récompense. Si un changement notable survient, la récompense va diminuer, sinon c’est que ce changement n’altère pas les performances du système, auquel cas il n’est pas nécessaire de modifier le contrôleur. L’idée maîtresse de cette méthode adaptative est d’autoriser la remontée de la température quand la récompense est faible. Cette méthode qui autorise la remontée de la température est plus fidèle à l’inspiration initiale du recuit simulé, puisque dans le refroidissement d’un matériau en fusion, les remontées de températures sont fréquentes.

Mathématiquement, la température est une fonction de la récompense du meilleur comportement connu. L’inconvénient majeur réside dans le fait que le système sera probablement attrapé dans les maxima locaux. Cette nouvelle hypothèse annule les propriétés de convergence globale du recuit simulé. Notre philosophie est la suivante : si la récompense est correctement attribuée, que la solution trouvée soit un maxima local ou global n’a pas d’importance, tant que la récompense est maximisée. La récompense du meilleur comportement Rmax connu est diminuée à chaque cycle de la boucle principale. Si la stratégie

est constamment performante, Rmax est constamment mis à jour et le contrôleur reste stable.

En revanche, si cette valeur diminue (ce qui signifie que la récompense attribuée n’est pas constante), la température sera augmentée. La méthode est détaillé sur l'Algorithme 7.

a. Evolution des poids

Initialisation

Rmax ← 0

Initialiser chaque poids (wj) avec une petite valeur.

T° ← Ft(0)

Boucle principale

Tant que (vrai) {

Appliquer la stratégie courante et mesurer la performance RN(i).

Si (Rmax<RN(i)) {

Rmax=RN(i)

Pour chaque poids wi : Wmax(i) ← wi

}

T° ← Ft(Rmax)

Diminuer Rmax

Pour chaque poids (wi), choisir aléatoirement une nouvelle valeur centrée sur Wmax(i) avec une répartition proportionnelle à T°.

}

Documents relatifs