Présentation de l'équation de Bellman

États et Actions

En apprentissage par renforcement, l'équation de Bellman décrit une façon de récompenser un agent suite à une action.

Avant tout, il est nécessaire de comprendre que dans un environnement donné, on définit :

Un tableau de scores : la Q-Table

Pour choisir quelle action effectuer dans un état donné, on utilise un tableau de scores, appelé Q-table (Q pour Qualité) : c'est un tableau à double entrée qui, à chaque paire (état , action) associe un score, positif ou négatif.

Dans un état donné, on choisira alors l'action avec le plus grand score.

États Actions
1 0.5 1 -10 4 3 -15 0.5 1
-10 48 -15 5 -18 1 6 2 -10

Dans cet exemple, on voit que les actions menant à une victoire sont mieux récompensées que les autres. Quant aux actions << interdites >>, elles sont fortement punies par un score négatif.

Dans le cas du morpion, la Q-Table contient au plus 39 x 9 = 177 147 cases. C'est beaucoup pour un humain, mais pas pour un ordinateur.
Cependant, dans le cas d'un jeu comme le puissance 4, il y a 7 actions possibles et un maximum théorique de 342 états, soit une Q-Table contenant au maximum 342 x 7 = 765932923920586514463 cases !

Le problème qui se pose alors est : comment remplir correctement et efficacement la Q-Table ? C'est là qu'intervient l'équation de Bellman.

Q-Table et équation de Bellman

L'équation de Bellman est une formule permettant de mettre à jour la Q-Table. La voici :

$$ Q(s,a) \leftarrow Q(s,a) + \alpha \left( R + \gamma \left( max_{a'} Q(s',a') - Q(s,a) \right)\right) $$

Quelques explications s'imposent :

On peut réecrire cette équation de la façon suivante :

$$ Q(s,a) \leftarrow (1 - \alpha) \times Q(s,a) + \alpha \times R + \alpha \gamma \times max_{a'} Q(s',a') $$

Un cas particulier est celui où $\alpha = 1$ : on << oublie >> le score précédent $Q(s,a)$, et on met à jour la Q-Table uniquement avec la récompense $R$ et le score << futur >> maximum $max_{a'} Q(s',a')$ :

$$ Q(s,a) \leftarrow R + \gamma \times max_{a'} Q(s',a') $$

Avec cette dernière formule, on voit bien le rôle de $~max_{a'} Q(s',a')$ : plus l'état $s'$ est intéressant pour gagner, plus ce maximum sera grand et la valeur de $Q(s,a)$ augmentée en conséquence, indiquant qu'effectuer l'action $a$ dans l'état $s$ est une bonne solution. Inversement, moins cet état est intéressant et moins $Q(s,a)$ augmentera.

<< Retour au sommaire