Aller au contenu

Apprentissage par renforcement

L'objectif de cet apprentissage est de permettre au bras de pelleteuse de déterminer de manière autonome la trajectoire à imposer au godet pour aller d'un point à un autre en évitant toute colision avec l'environnement.

Tableau de bord associé

Consultez également le tableau de bord assosicié.

Qlearning

L'apprentissage utilise la méthode Q-learning : une matrice \(Q\left[s,a\right]\) permet de déterminer l'action \(a\) à prendre par l'agent dans l'état \(s\) lui permettant d'obtenir la meilleure récompense \(r\) lorsqu'il sera dans l'état \(s'\) :

\[Q[s,a]:=(1-\alpha)Q[s,a]+\alpha \left(r+\max_{a'} Q[s',a']\right).\]

Les variables ajustables de ce modèle sont :

  • le facteur d'apprentissage \(\alpha \in \left[0;1\right]\) : permet de déterminer à quel point la nouvelle information calculée surpassera l'ancienne (valeur par défaut \(\alpha=0,6\))
    • \(\alpha=0\) : l’agent ignore le futur;
    • \(\alpha=1\) : l’agent ignore le passé.
  • le facteur de dépréciation \(\gamma \in \left[0;1\right]\) : détermine l'importance des actions futures \(a'\) (valeur par défaut \(\gamma=0,9\).)
    • \(\gamma=0\) : seule la récompense \(r\) est prise en compte;
    • \(\gamma=1\) : la récompense \(r\) est valorisée par les meilleures actions futures).

Environnement

L'environnement correspond à la zone de déplacement du godet tel que celui-ci puisse rester horiztontal. Cette zone est disctrétisée en carrés gris clairs de côté 60 mm.

Dans cet environnement sont disposés :

  • un obstacle (rectangulaire ou triangulaire) que le godet devra éviter
  • un point de départ qu'il est possible de déplacer
  • un point d'arrivée qu'il est possible de déplacer mais sous la contrainte de toujours être à gauche du point de départ, ou au même niveau.

Actions

Les actions correspondent aux déplacements possibles du godet. On retient ici, sous la contrainte imposée du placement des points de départ et d'arrivée :

  • Haut
  • Gauche-Haut
  • Gauche
  • Gauche-Bas
  • Bas

Récompenses

Au changement d'état

La récompense \(r\) qui intervient dans le calcul de la matrice \(Q\) prend en compte la distance qui sépare l'état \(s\) de l'agent au point d'arrivée :

\[r=\left[120-d\left(s-s_f\right)\right]10^{-3}.\]

La distance 120 correspond à 3 cases de l'environnement, cette variable peut être ajustée dans la boîte Récompenses du tableau de bord associé dans MyViz. Il en va de même pour le facteur \(10^{-3}\).

Au succés

Lorsque l'agent arrive au point d'arrivée, la récompense est fixée à \(r=10\) (bonus). Cette valeur peut-être modifiée.

À l'échec

Lorsque l'agent arrive rencontre un obstacle ou sort du domaine, la récompense est fixée à \(r=-10\) (malus). Cette valeur peut-être modifiée.

Epsilon-greedy

Le choix de l'action à prendre, pour passer d'un état \(s\) à un état \(s'\), est générée grâce à la méthode Epsilon-greedy. Un facteur aléatoire \(\epsilon\) est calculé en fonction du nombre d'itérations total de l'apprentissage \(N\) (par défaut \(N=2000\)) et par le numéro \(i\) de l'itération en cours :

\[\epsilon=1-i/N\]

Une variable aléatoire \(var\) entre 0 et 1 est calculée à pour chaque changement d'état :

  • si \(var\leq \epsilon\) alors le choix de l'action \(a\) est aléatoire;
  • si \(var> \epsilon\) alors le choix de l'action \(a\) est déterminé par \(\max_a Q[s,a]\).

Dans MyViz, pour représenter le choix de l'action, un pictogramme apparaît

  • dans le cas d'un choix aléatoire
  • dans le cas d'un choix par la matrice \(Q\)