Formulaire d’apprentissage par renforcement Rémi Coulom 14 novembre 2008 1 Définitions et notations 1.1 1.5 Fonction valeur d’action Q La fonction valeur d’action d’une politique π est définie par : ∞ X Qπ (s0 , a0 ) = E γ t rt , Processus de décision de Markov Un processus de décision de Markov est défini par – un ensemble S d’états ; t=0 ∗ – pour chaque s ∈ S, un ensemble A(s) d’actions ; Pour une politique optimale π , on note Q∗ sa fonction valeur – une fonction ν de S × A(s) dans S qui à chaque paire d’action. (état, action) associe l’état suivant s0 = ν(s, a) (ν peut être stochastique) ; 1.6 Identités remarquables – une fonction r de S × A(s) dans R qui à chaque paire (état, action) associe une récompense réelle r(s, a) 1.6.1 Relations entre V et Q (r peut être stochastique) ; – un coefficient réel γ ∈ [−1 : 1]. π π V (s) = E Q s, π(s) On dit qu’une fonction est stochastique lorsque son résul tat est aléatoire, avec une distribution de probabilité qui ne π π Q (s, a) = E r(s, a) + γV ν(s, a) dépend que de ses paramètres. 1.6.2 1.2 Politique Equation de Bellman Pour une politique π fixée : Une politique π est une fonction de S dans A. Un politique peut être stochastique. V π (s0 ) = E r(s0 , a0 ) + γV π (s1 ) Qπ (s0 , a0 ) = E r(s0 , a0 ) + γQπ (s1 , a1 ) 1.3 Pour la politique optimale : Trajectoire V ∗ (s0 ) = max E r(s0 , a0 ) + γV ∗ (s1 ) À partir d’un état initial s0 ∈ S, l’application d’une polia0 ∈A(s0 ) tique π produit une suite d’actions (at ), d’états (st ) et de ré compenses (rt ) définis par at = π(st ), rt = r(st , at ), et Q∗ (s0 , a0 ) = E r(s0 , a0 ) + γ max Q∗ (s1 , a1 ) a1 ∈A(s1 ) st+1 = ν(st , at ). Dans la suite de ce formulaire, dès que des variables avec des indices apparaissent dans une équation, on supposera im- 1.7 Politiques gloutonnes plicitement qu’elles sont définies par ces formules de récurPour une fonction valeur d’état V donnée, on définit une rence, si elles ne sont pas définies par ailleurs. politique gloutonne par π(s) = arg max E r(s, a) + γV ν(s, a) . 1.4 Fonction valeur d’état V a∈A(s) Pour une fonction valeur d’action Q donnée, une politique gloutonne est définie par Pour une politique π, on définit sa fonction valeur, notée V par ∞ X V π (s0 ) = E γ t rt π π(s) = arg max Q(s, a) . a∈A(s) t=0 Notons que définir une politique gloutonne sur V nécessite Il existe une (ou plusieurs) politique(s) optimale(s) notées π ∗ de connaître les fonctions r et ν, alors qu’une politique glou∗ ∗ qui vérifie(nt) V π (s) ≥ V π (s) pour tout s et tout π. V π ne tonne sur Q ne demande aucune connaissance du processus ∗ ∗ dépend pas de π et est notée V . de Markov. 1 2 Algorithmes tabulaires Algorithm 3 TD(λ) ~ ← ~0 V Chacun des algorithmes décrits dans cette section se base ~e ← ~0 implicitement sur l’utilisation d’une politique π. Ces als0 ← initial state gorithmes travaillent sur des tableaux de valeurs V (s) ou t←0 Q(s, a) (ce qui suppose que le nombre d’états et d’actions loop ~ ou Q ~ sont finis). Pour simplifier les notations, on écrira V δ ← rt + γV (st+1 ) − V (st ) pour représenter le vecteur des élements du tableau. ~e ← λγ~e e(st ) ← e(st ) + 1 Algorithm 1 Value iteration ~ ←V ~ + αδ~e V ~0 ← ~0 V t←t+1 i←0 end loop repeat i←i+1 for all s0 ∈ S do TD(λ) apprend V π . Si π est gloutonne par rapport à V , Vi (s0 ) ← E r(s0 , a0 ) + γVi−1 (s1 ) il apprend V ∗ . Utiliser une politique gloutonne par rapport à end for V nécessite de connaître r et ν. ~e est le vecteur des traces until V has converged d’éligibilité. Cet algorithme calcule la valeur de π. Si π est gloutonne Algorithm 4 Sarsa(λ) par rapport à Vi−1 , alors cet algorithme calcule V ∗ . La con~ ← ~0 Q vergence de cet algorithme est garantie si |γ| < 1. Lorsque ~e ← ~0 |γ| = 1, l’algorithme ne converge que si la fonction valeur est s0 ← initial state bien définie. Cet algorithme nécessite de connaître le système t←0 (r et ν). loop δ ← rt + γQ(st+1 , at+1 ) − Q(st , at ) Algorithm 2 Q learning ~e ← λγ~e ~ ← ~0 Q e(st , at ) ← e(st , at ) + 1 s0 ← initial state ~ ←Q ~ + αδ~e Q t←0 t←t+1 loop end loop δ ← rt + γ maxa∈A(st+1 ) Q(st+1 , a) − Q(st , at ) Q(st , at ) ← Q(st , at ) + αδ Sarsa(λ) est typiquement utilisé avec une politique t←t+1 gloutonne par rapport à l’estimation courante de Q. L’algoend loop rithme n’apprend pas la valeur de la politique optimale, mais la valeur de la politique -gloutonne, qui est légèrement inCet algorithme apprend Q∗ en suivant les trajectoires d’une férieure en général. C’est la différence fondamentale avec le politique π. Pour que l’algorithme converge, il faut que Q-learning, qui apprend toujours Q∗ . Cependant, Sarsa(λ) est chaque paire état, action soit visitée un nombre infini de fois. souvent plus efficace grace aux traces d’éligibilité. En pratique, on utilise souvent un politique -gloutonne pour π. α est un paramètre de l’algorithme. C’est un réel positif. L’intérêt essentiel du Q learning est de ne pas nécessiter la 3 Approximateurs paramétriques connaissance des fonctions r et ν. Il suffit à l’agent d’interaLes algorithmes TD(λ) et Sarsa(λ) peuvent être formulés gir avec son environnement et d’observer les conséquences de ses actions, sans connaître un modèle de la dynamique et des pour utiliser des approximateurs de fonction paramétriques plus généraux que les tables, comme les réseaux de neurones. récompenses. ~ ou Q ~ dans les algorithmes par le vecteur La variable δ introduite dans l’algorithme précédent s’ap- On remplace alors V ~ Les traces d’éligibilité sont alors mises à pelle la différence temporelle. C’est le signal d’erreur qui de paramètres w. guide l’apprentissage. δ > 0 indique une bonne surprise, jour de la façon suivante : c’est-à-dire que la récompense obtenue est supérieure à la ré~e ← ~e + ∂V ∂w compense attendue. Inversement, δ < 0 indique une mauvaise ou surprise. ~e ← ~e + ∂Q ∂w Le principe des algorithmes TD(λ) et Sarsa(λ) est que l’erreur est reportée plusieurs pas en arrière dans le temps, On remarque que le cas tabulaire est un cas particulier de cette avec un amortissement exponentiel réglé par le paramètre équation. λ ∈ [0, 1]. 2