···266266On notera que, selon $M$, on peut avoir $cal(C) subset.neq (S times A)^NN$: par exemple, certains états de l'environnement peuvent représenter des "impasses", où il est impossible d'évoluer vers un autre état, peut importe l'action choisie.
267267268268On note aussi que $cal(C)$ et $cal(C)_pi$ sont dénombrables: Ils sont construits à partir de $(S times A)^NN$ et $S$, et $A$ & $NN$ sont également dénombrables#footnote[
269269- On a $card cal(C) <= card((S times A)^NN) = card(S times A)^(card NN) = (card S card A)^(card NN) <= (aleph_0)^(card NN) = attach(aleph_0, tl: 2) = aleph_0$
269269+ On a $card cal(C) <= card((S times A)^NN) = card(S times A)^(card NN) = (card S card A)^(card NN) <= (aleph_0)^(card NN) = attach(aleph_0, tl: 2) = aleph_0$. De plus, $cal(C)_pi subset cal(C)$, donc $card cal(C)_pi <= card cal(C) <= aleph_0$
270270]
271271272272#align(center)[
···284284 [
285285 #todo[Pas clair]
286286287287- Notamment, les espérances le long d'un chemin, notées $inline(exp_(s_0, a_0, ...))$ dans @trpo, sont dénotées ici par une opération-sur-ensemble usuelle#footnote[d'autres exemples d'"opérations-sur-ensemble" sont $sum_(x in RR)$ ou $product_(n in NN)$, par exemple. L'"espérance-sur-ensemble" est définie par le passage de @eta-sum-definition à @eta-exp-definition], avec $exp_(c in cal(C))$. De même, la notation $inline(exp_(s_0, a_0, ... ~ pi))$ est dénotée $exp_(c ~ pi in cal(C))$ et explicitée après @eta-exp-definition.
287287+ Notamment, les espérances le long d'un chemin, notées $inline(exp_(s_0, a_0, ...))$ dans @trpo, sont dénotées ici par une opération-sur-ensemble usuelle#footnote[d'autres exemples d'"opérations-sur-ensemble" sont $sum_(x in RR)$ ou $product_(n in NN)$, par exemple.], avec $exp_(c in cal(C))$. De même, la notation $inline(exp_(s_0, a_0, ... ~ pi))$ est dénotée $exp_(c ~ pi in cal(C))$ et explicitée après @eta-exp-definition.
288288289289 Dans la documentation de _OpenAI Spinning Up_ (citation "@trpo-openai"), les espérances sont notées $op(E, limits: #true)_(s, a ~ pi)$, ce qui correspond à faire une espérance _le long_ de tout chemin: cela correspond ici à $exp_(c ~ pi in cal(C)) sum_(t=0)^oo dots.c$.
290290 ]
···331331332332// Le >= #h(-1pt) ""_f dans la footnote c'est un hack pour mettre f en subscript inline de >= , sinon ça passe en dessous et c'est moche
333333334334-L'avantage $A_(pi, r)(s, a)$ mesure à quel point il est préférable de choisir l'action $a$ quand on est dans l'état $s$ (pour la politique $pi$, avec "préférable" au sens de $>=_(r(M(s, dot.c)))$#footnote[En posant, pour toute fonction $f: I -> O$, avec $O$ ordonné par $>=$: $forall i in I^2, quad i_1 op(>=#h(-1pt) ""_f) i_2 := f(i_1) >= f(i_2)$. Ici donc, on compare les politiques selon $a |-> r(M(s, a))$. Autrement dit, la récompense associé à l'état obtenu après le choix d'une action, depuis l'état $s$])
334334+L'avantage $A_(pi, r)(s, a)$ mesure à quel point il est préférable de choisir l'action $a$ quand on est dans l'état $s$ (pour la politique $pi$, avec "préférable" au sens de#footnote[En posant, pour toute fonction $f: I -> O$, avec $O$ ordonné par $>=$: $forall i in I^2, quad i_1 op(>=#h(-1pt) ""_f) i_2 := f(i_1) >= f(i_2)$. Ici donc, on compare les politiques selon $a |-> r(M(s, a))$. Autrement dit, la récompense associé à l'état obtenu après le choix d'une action, depuis l'état $s$] $>=_(r(M(s, dot.c)))$)
335335+336336+Pour calculer $A_(pi, r)(s, a)$, on regarde l'espérance des récompenses cumulées pour tout chemin commençant par $s$, et on la compare à celle pour tout chemin commençant par $M(s, a)$
337337+338338+$
339339+ A_(pi, r)(s, a) :=
340340+ underbracket(
341341+ exp_((s_t, a_t)_(t in NN) op(~) pi op(in) cal(C) \ s_0 = s \ s_1 = M(s_0, a)) sum_(t=0)^oo gamma^t r(s_t),
342342+ Q(s, a)
343343+ ) - underbracket(
344344+ exp_((s_t, a_t)_(t in NN) op(~) pi op(in) cal(C) \ s_0 = s) sum_(t=0)^oo gamma^t r(s_t),
345345+ V(s)
346346+ )
347347+$
348348+335349336350On peut visualiser ce calcul ainsi:
337351···383397 node((5, -0.5))
384398})
385399386386-Pour calculer $A_(pi, r)(s, a)$, on regarde l'espérance des récompenses cumulées pour tout chemin commençant par $s$, et on la compare à celle pour tout chemin commençant par $M(s, a)$
387387-388388-$
389389- A_(pi, r)(s, a) :=
390390- underbracket(
391391- exp_((s_t, a_t)_(t in NN) op(~) pi op(in) cal(C) \ s_0 = s \ s_1 = M(s_0, a)) sum_(t=0)^oo gamma^t r(s_t),
392392- Q(s, a)
393393- ) - underbracket(
394394- exp_((s_t, a_t)_(t in NN) op(~) pi op(in) cal(C) \ s_0 = s) sum_(t=0)^oo gamma^t r(s_t),
395395- V(s)
396396- )
397397-$
398398-399400400401401402On considère tout les chemins à partir de l'état $s_t$, et l'on regarde l'espérance...
···423424424425=== _Surrogate advantage_ $cL$
425426426426-Il est théoriquement possible d'utiliser $A$ pour optimiser une politique, en maximisant sa valeur à un état donné:
427427+Il est théoriquement possible d'utiliser $A$ pour optimiser une politique, en maximisant sa valeur:
427428428429#diagram(
429430 caption: [Boucle d'entraînement],
···451452 a_(t+1)^* & := argmax_(a in A) A_(Pi, R)(s_(t+1), a) \
452453$
453454454454-Mais, en pratique, des erreurs d'approximations peuvent rendre $A_(Pi, R)(s_(t+1), a_(t+1)^*)$ négatif, ce qui empêche de s'en servir pour définir une valeur de $Q_(Pi)$ @trpo
455455+Mais, en pratique, des erreurs d'approximation peuvent rendre $A_(Pi, R)(s_(t+1), a_(t+1)^*)$ négatif, ce qui empêche de s'en servir pour définir une valeur de $Q_(Pi)$ @trpo
455456456457457458Le _surrogate advantage_ détermine la performance d'une politique par rapport à une autre @trpo-openai