Aller au contenu
Kudos AI
Read in English
Apprentissage par renforcement

Les processus de décision markoviens

Comment planifier quand les actions ne font pas fiablement ce qu’on veut : états, modèle de transition, récompenses et actualisation, l’équation de Bellman, et l’itération sur les valeurs menée numériquement jusqu’à son point fixe.

9 min de lectureKudos AI

Prérequis : Les probabilités à partir de zéro : le langage de l’incertitude

Un plan en trois coups exécuté une fois, la première action dérapant et le reste s’adressant à un état où l’agent n’est plus - puis l’équation de Bellman démontée terme à terme.

La recherche adversariale et le minimax planifiait contre un adversaire, mais supposait le monde lui-même fiable : jouez un coup et l’échiquier change exactement comme prévu. Les environnements réels ne sont pas si obligeants. Un robot à qui l’on ordonne d’avancer peut dériver ; une recommandation peut être suivie ou non. Les actions ont des distributions de probabilité sur les issues, non des issues uniques.

Un processus de décision markovien est le formalisme standard de cette situation, et c’est le socle sur lequel tout l’apprentissage par renforcement est bâti.

A. Les ingrédients

Un PDM est spécifié par quatre choses :

  • un ensemble d’états ss ;
  • un ensemble d’actions A(s)A(s) disponibles dans chaque état ;
  • un modèle de transition P(s′∣s,a)P(s' \mid s, a), la probabilité d’atterrir en s′s' quand l’action aa est prise en ss ;
  • une fonction de récompense R(s)R(s).

Le nom vient de la propriété de Markov : la probabilité de l’état suivant ne dépend que de l’état et de l’action courants, non de l’historique du chemin parcouru. C’est ce qui rend le problème traitable - l’état courant est un résumé suffisant du passé.

Une note sur l’emplacement de la récompense. D’après Russell et Norvig, la récompense R(s)R(s) est ici attachée à l’état où se trouve l’agent, et apparaît en dehors de la maximisation comme de l’espérance. Une grande partie de la littérature d’apprentissage par renforcement écrit plutôt R(s,a,s′)R(s, a, s'), une récompense sur la transition, ce qui la déplace à l’intérieur de la somme. Les deux formulations sont équivalentes pour notre propos, mais les équations diffèrent : il vaut donc la peine de savoir quelle convention vous lisez.

Une politique π\pi est une fonction recommandant une action pour chaque état - non un plan pour une éventualité, mais une règle complète de comportement. Résoudre un PDM, c’est trouver une bonne politique.

B. Pourquoi actualiser

L’utilité d’exécuter une politique π\pi depuis l’état ss est la somme espérée des récompenses le long du chemin :

Uπ(s)=E[∑t=0∞γtR(St)],U^{\pi}(s) = E\left[\sum_{t=0}^{\infty} \gamma^{t} R(S_t)\right],

où StS_t est l’état atteint au temps tt et γ∈[0,1]\gamma \in [0, 1] est le facteur d’actualisation. L’actualisation n’est pas une technicité ajoutée par commodité. Si l’agent peut ne jamais atteindre un état terminal, les histoires sont infiniment longues et les sommes non actualisées divergent en général - et comparer deux politiques valant toutes deux +∞+\infty n’est pas une question bien posée.

Avec γ<1\gamma < 1 et des récompenses bornées par Rmax⁡R_{\max}, la série géométrique règle l’affaire :

U([s0,s1,s2,… ])=∑t=0∞γtR(st)  ≤  ∑t=0∞γtRmax⁡=Rmax⁡1−γ.U([s_0, s_1, s_2, \dots]) = \sum_{t=0}^{\infty} \gamma^{t} R(s_t) \;\le\; \sum_{t=0}^{\infty} \gamma^{t} R_{\max} = \frac{R_{\max}}{1 - \gamma}.

Toute utilité est finie, donc toute paire de politiques est comparable. Un γ\gamma proche de 00 rend l’agent myope ; γ=1\gamma = 1 retrouve des récompenses simplement additives, ce qui n’est sûr que si l’agent atteindra à coup sûr un état terminal - une politique offrant cette garantie est dite propre.

Une politique optimale est alors π∗=arg⁡max⁡πUπ(s)\pi^{*} = \arg\max_{\pi} U^{\pi}(s). Une conséquence agréable des récompenses actualisées à horizon infini est que π∗\pi^{*} ne dépend pas de l’état de départ : on peut donc parler de la politique optimale et écrire U(s)U(s) pour l’utilité sous celle-ci.

U(s)U(s) et R(s)R(s) sont des quantités différentes. R(s)R(s) est la récompense à court terme d’être en ss ; U(s)U(s) est le total à long terme depuis ss. Les confondre est la source de confusion la plus fréquente dans cette matière.

C. L’équation de Bellman

Voici l’idée centrale. L’utilité d’un état est sa récompense immédiate plus l’utilité espérée actualisée de là où la meilleure action vous mène :

U(s)=R(s)+γmax⁡a∈A(s)∑s′P(s′∣s,a) U(s′).U(s) = R(s) + \gamma \max_{a \in A(s)} \sum_{s'} P(s' \mid s, a)\, U(s').

C’est l’équation de Bellman, d’après Richard Bellman (1957). Lisez-la lentement : le max⁡\max choisit la meilleure action, la ∑\sum moyenne sur les endroits où cette action peut réellement vous mener, et γ\gamma actualise le futur par rapport au présent.

S’il y a nn états, il y a nn telles équations à nn inconnues. Elles ne sont pas linéaires, car max⁡\max n’est pas un opérateur linéaire - on ne peut donc pas simplement inverser une matrice et en finir.

L'ordre des opérations est ce qu'une formule ne montre pas, alors la figure ci-dessous le démonte. Chaque action a sa propre ligne, avec sa propre moyenne sur les issues qu'elle ne contrôle pas, et le maximum se prend visiblement entre les lignes plutôt qu'à l'intérieur d'un symbole. Faites glisser le facteur d'actualisation pour voir le terme futur naître de rien : à zéro l'agent ne voit que le coût de la vie, près de un il est dominé par une récompense située plusieurs pas plus loin.

Interactif : une mise à jour de Bellman, ouverte

Maximiser sur ce que vous contrôlez. Moyenner sur le reste.

Chaque action, moyennée sur ce qu’elle ne choisit pas

  • right0.8 x 0.7972 (B) + 0.2 x 0.6512 (A) = 0.7680
  • stay1.0 x 0.6512 (A) = 0.6512
Perçu maintenant
-0.0400
Futur actualisé
0.6912
U dans cet état
0.6512
Action retenue
right

Depuis A à un facteur de 0.90, la récompense perçue maintenant vaut -0.0400 quoi que vous fassiez : c’est R(s), et elle ne dépend pas de l’action. Chaque action moyenne ensuite sur des issues qu’elle ne contrôle pas : 0.7680 pour aller à droite, 0.6512 pour rester. Le max retient right et U vaut 0.6512. Faites glisser le facteur : l’action retenue ne change jamais ici, car B est toujours plus proche de la récompense que A. Ce qui change, ce sont les valeurs.

D. L’itération sur les valeurs, menée jusqu’à convergence

Le remède est d’itérer. Partez d’utilités arbitraires, évaluez le membre de droite, et utilisez le résultat comme nouveau membre de gauche. Répétez.

Prenons un monde à quatre états. Deux états non terminaux, s1s_1 et s2s_2, chacun avec R(s)=−0.04R(s) = -0.04 - une petite pénalité par pas, qui encourage à finir. Deux terminaux : GOAL d’utilité +1+1 et PIT de −1-1. Posons γ=0.9\gamma = 0.9.

ÉtatActionIssues
s1s_1Right0.8→s20.8 \to s_2, 0.2→s10.2 \to s_1
s1s_1Stay1.0→s11.0 \to s_1
s2s_2Right0.8→0.8 \to GOAL, 0.2→0.2 \to PIT
s2s_2Left0.8→s10.8 \to s_1, 0.2→s20.2 \to s_2

Initialisons U(s1)=U(s2)=0U(s_1) = U(s_2) = 0.

Balayage 1. Pour s2s_2, Right donne 0.8(1)+0.2(−1)=0.60.8(1) + 0.2(-1) = 0.6, tandis que Left donne 0.8(0)+0.2(0)=00.8(0) + 0.2(0) = 0. Donc

U(s2)=−0.04+0.9×0.6=−0.04+0.54=0.50.U(s_2) = -0.04 + 0.9 \times 0.6 = -0.04 + 0.54 = 0.50 .

Pour s1s_1, les deux actions ne voient encore que des zéros, donc U(s1)=−0.04+0.9×0=−0.04U(s_1) = -0.04 + 0.9 \times 0 = -0.04.

Balayage 2. Désormais s1s_1 voit la valeur apparue en s2s_2. Right donne 0.8(0.50)+0.2(−0.04)=0.400−0.008=0.3920.8(0.50) + 0.2(-0.04) = 0.400 - 0.008 = 0.392, battant le −0.04-0.04 de Stay :

U(s1)=−0.04+0.9×0.392=−0.04+0.3528=0.3128.U(s_1) = -0.04 + 0.9 \times 0.392 = -0.04 + 0.3528 = 0.3128 .

U(s2)U(s_2) ne bouge pas, ses deux issues étant terminales.

En poursuivant :

BalayageU(s1)U(s_1)U(s2)U(s_2)
00.00000.0000
1−0.04000.5000
20.31280.5000
30.37630.5000
40.38770.5000
50.38980.5000
60.39020.5000
70.39020.5000

Les valeurs cessent de bouger à U(s1)=0.3902U(s_1) = 0.3902, U(s2)=0.5000U(s_2) = 0.5000.

Nous pouvons confirmer ce point fixe exactement plutôt que de faire confiance à l’itération. Une fois Right connue comme la meilleure action en s1s_1, l’équation de Bellman y devient

U(s1)=−0.04+0.9(0.8×0.5+0.2 U(s1))=0.32+0.18 U(s1),U(s_1) = -0.04 + 0.9\big(0.8 \times 0.5 + 0.2\,U(s_1)\big) = 0.32 + 0.18\,U(s_1),

donc U(s1)=0.32/0.82=0.390243…U(s_1) = 0.32 / 0.82 = 0.390243\ldots, conforme au tableau à quatre décimales.

Lire la politique sur les utilités convergées donne Right dans les deux états, avec des utilités espérées du successeur ∑s′P(s′∣s,a) U(s′)\sum_{s'} P(s' \mid s, a)\,U(s') de 0.4780.478 contre 0.3900.390 en s1s_1, et 0.6000.600 contre 0.4120.412 en s2s_2. Ajouter R(s)R(s) et actualiser les transforme en valeurs d’action Q(s,a)Q(s, a) de l’article suivant : 0.39020.3902 contre 0.31120.3112 en s1s_1, et 0.50000.5000 contre 0.33100.3310 en s2s_2, avec le même classement.

Python

S'exécute dans votre navigateur. La première exécution télécharge l'environnement Python (~10 Mo), puis il est mis en cache.

Son exécution reproduit le tableau ci-dessus et affiche Right pour les deux états.

E. L’itération sur les politiques

L’itération sur les valeurs calcule des utilités à haute précision et lit la politique à la fin. Mais la politique cesse souvent de changer bien avant que les nombres se stabilisent - dans notre monde, Right était optimale en s1s_1 dès le balayage 2, alors que la quatrième décimale a continué de bouger plusieurs balayages de plus. L’itération sur les politiques exploite cela en alternant :

  1. Évaluation de la politique - étant donné une politique fixée πi\pi_i, calculer les utilités qu’elle produit.
  2. Amélioration de la politique - recalculer la meilleure action dans chaque état à l’aide de ces utilités, donnant πi+1\pi_{i+1}.

Répétez jusqu’à ce que la politique cesse de changer. Le gain est à l’étape 1 : avec l’action de chaque état fixée par la politique, il ne reste plus de max⁡\max, et l’équation de Bellman devient

Ui(s)=R(s)+γ∑s′P(s′∣s,πi(s)) Ui(s′).U_i(s) = R(s) + \gamma \sum_{s'} P(s' \mid s, \pi_i(s))\, U_i(s') .

Ce sont des équations linéaires - nn équations, nn inconnues, résolubles exactement par l’algèbre linéaire standard en O(n3)O(n^3). Pour de petits espaces d’états, l’évaluation exacte est souvent l’approche la plus rapide ; pour de grands espaces, le coût cubique mord, et l’on emploie plutôt une évaluation approchée (quelques balayages plutôt qu’une résolution exacte).

F. Ce que cela achète, et ce que cela suppose

Les deux algorithmes livrent une politique optimale pour un PDM connu. Cette hypothèse est celle qui compte : itération sur les valeurs comme sur les politiques exigent d’emblée le modèle de transition P(s′∣s,a)P(s' \mid s, a) et la fonction de récompense R(s)R(s). Ce sont des algorithmes de planification, non d’apprentissage.

Un agent lâché dans un environnement inconnu n’a ni l’un ni l’autre. Il doit agir, observer ce qui arrive, et s’améliorer - ce qui est le sujet de L’apprentissage par renforcement et le Q-learning.

À retenir

  • Un PDM, ce sont des états, des actions, un modèle de transition et des récompenses, la propriété de Markov faisant de l’état courant un résumé suffisant du passé.
  • Une politique prescrit une action pour chaque état ; résoudre un PDM, c’est en trouver une optimale.
  • L’actualisation garde finies les utilités à horizon infini, bornées par Rmax⁡/(1−γ)R_{\max}/(1-\gamma), de sorte que les politiques restent comparables.
  • L’équation de Bellman U(s)=R(s)+γmax⁡a∑s′P(s′∣s,a)U(s′)U(s) = R(s) + \gamma \max_a \sum_{s'} P(s' \mid s,a)U(s') est non linéaire à cause du max⁡\max.
  • L’itération sur les valeurs l’applique comme mise à jour jusqu’à convergence ; notre monde s’est stabilisé à U(s1)=0.3902U(s_1) = 0.3902, confirmé exactement par 0.32/0.820.32/0.82.
  • L’itération sur les politiques alterne évaluation et amélioration ; fixer la politique supprime le max⁡\max et laisse des équations linéaires.
  • Les deux exigent un modèle connu - elles planifient, elles n’apprennent pas.

La suite

L’apprentissage par renforcement et le Q-learning abandonne l’hypothèse d’un modèle connu et apprend un bon comportement à partir de la seule expérience.

Références et lectures complémentaires

  • Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Pearson (3rd edition), 2010· Bibliothèque de référence Kudos AI

Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.

Lecture associée

5 min de lectureApprentissage par renforcement

Le paramètre que personne ne choisit

La récompense de survie d’un monde en grille est écrite une fois et jamais discutée, et la politique optimale en est une fonction en escalier : huit seuils entre -3 et 0, chacun retournant exactement une case. La valeur classique de -0,04 se trouve à 0,0048 de celle qui décide si l’agent prend le raccourci le long du puits, et au-dessus de -0,0221, quand les pas ne coûtent presque rien, le mouvement optimal dans un coin consiste à foncer volontairement dans un mur.

Intelligence artificielle
5 min de lectureRaisonnement probabiliste

La semaine qui n’a pas pu avoir lieu

Prenez l’état le plus probable chaque jour, écrivez-les dans l’ordre, et vous obtenez un rapport auquel le modèle attribue une probabilité exactement nulle : sur un exemple de surveillance de machine sur quatre jours, la réponse jour par jour est sain, sain, en panne, en panne, et passer de sain à en panne est une transition impossible. Ce que sont réellement les deux questions, pourquoi le lissage et Viterbi n’y répondent pas de la même manière, et ce que signifie la probabilité a posteriori de 0,411 du meilleur chemin pour qui doit décider.

Intelligence artificielleProbabilité
4 min de lectureRaisonnement probabiliste

Cent mille échantillons, quatre cents qui comptent

Sur le réseau du cambriolage avec les deux voisins qui appellent, l’échantillonnage par rejet garde 183 tirages sur 100 000 et la pondération par vraisemblance les garde tous pour une taille d’échantillon efficace de 396. Les deux estimations s’écartent d’environ 10 % d’une probabilité a posteriori de 0,284172, et la raison se calcule exactement : 252 échantillons portent 76 % du poids et 99,975 % du poids au carré.

Intelligence artificielleProbabilité
← Retour à tous les articles