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\)

Retour en haut de la page