···22#import "@preview/fletcher:0.5.8": diagram, node, edge
334455+56== Bases théoriques du _Reinforcement Learning_
6778L'apprentissage par renforcement, ou _Reinforcement Learning_, permet de développer des programmes sans expliciter leur logique: on décrit plutôt quatre choses, qui vont permettre à la logique d'émerger pendant la phase d'entraînement:
···210211211212Avec $cal(X)$ l'espace des échantillons dont $P$ et $Q$ mesurent la probabilité: dans notre cas, $cal(X) = S times A$.
212213214214+L'idée de la _TRPO_ est de maximiser le score de $Q$ tout en limitant l'ampleur des modifications apportées à $Q$.
215215+216216+Pour évaluer cette distance, on regarde la plus grande des distances entre des paires de politiques $Q$ et $Q'$ ayant été restreintes à ${s} times A$, pour tout état $s in S$ @trpo:
217217+218218+// #todo[Pourquoi pas regarder $D_"KL" (Q' || Q)$ directement??]
219219+220220+$
221221+max_(s in S) D_"KL" (Q'(s, dot) || Q(s, dot)) < delta
222222+$
223223+224224+Avec $delta$ une limite supérieure de distance entre $Q'$, la nouvelle politique, et $Q$, l'ancienne.
225225+226226+Cette contrainte définit un ensemble réduit de $Q'$ acceptables comme nouvelle politique, aussi appelé une _trust region_ (région de confiance), d'où la méthode d'optimisation tire son nom @trpo.
227227+228228+#let ddot = [ #sym.dot #h(-1em/16) #sym.dot ]
229229+230230+En pratique, l'optimisation sous cette contrainte est trop demandeuse en puissance de calcul, on utilise donc une approximation de $max_(a in A) D_"KL" (dot || ddot)$, avec l'espérance au lieu du maximum: $overline(D_"KL") := bb(E)_() D_"KL" (dot || ddot)$
213231214232215233==== _Proximal Policy Optimization_