···222222223223Ce qui revient à limiter non pas la simple distance entre les deux politiques, mais _limiter la modification de la politique sur chaqune de ses actions_.
224224225225-Ceci permet d'éviter d'avoir deux politiques jugées similaires par $D_"KL"$ à cause d'une "compensation" de la modification de la probabilité pour un $Q(s, a_2)$ par une autre modification pour $Q(s, a_1)$:
226226-227227-228228-Imaginons:
225225+Ceci permet d'éviter d'avoir deux politiques jugées similaires par $D_"KL"$ à cause de modifications se "compensant". Par exemple, avec
229226230227#let si = $& quad "si"$
231228#let sinon = $& quad "sinon"$
232229233230234231$
232232+forall s in S, Q(s, 1) = Q(s, 2)
233233+$
234234+235235+et
236236+237237+$
235238Q' := (s, a) |-> cases(
236239 Q(s, a) dot 2 si a = 1 \
237240 Q(s, a) dot 1/2 si a = 2 \
238241 Q(s, a) sinon
239242) \
240243241241-forall s in S, Q(s, 1) = Q(s, 2)
242244$
243245244244-Dans ce cas, on a $D_"KL" (Q, Q') = 0$ (cf @dkl-zero), alors qu'il y a eu une modification très importante des probabilités de choix de l'action 1 et 2 dans tout les états possibles, là ou $Q$ les considérait comme identiques.
246246+On a $D_"KL" (Q, Q') = 0$ (cf @dkl-zero), alors qu'il y a eu une modification très importante des probabilités de choix de l'action 1 et 2 dans tout les états possibles : si on imagine que $Q(s, 1) = Q(s, 2) = 1 slash 4$, on a après modification $Q'(s, 1) = 1 slash 2$ et $Q'(s, 2) = 1 slash 8$.
245247246248247249Avec $delta$ une limite supérieure de distance entre $Q'$, la nouvelle politique, et $Q$, l'ancienne.
rapport/main.pdf
This is a binary file and will not be displayed.
+21-5
rapport/main.typ
···64646565#show link: underline
66666767+#show ref: it => {
6868+ let eq = math.equation
6969+ let el = it.element
7070+ if el != none and el.func() == eq {
7171+ // Override equation references.
7272+ numbering(
7373+ el.numbering,
7474+ ..counter(eq).at(el.location())
7575+ )
7676+ } else if el != none and counter("appendices").at(el.location()).at(0) != 0 {
7777+ let letter = el.numbering(counter("appendices").at(el.location()).at(0))
7878+ let heading_path = numbering(heading().numbering, counter(heading)).at(el.location())
7979+ [Annexe #path]
8080+ } else {
8181+ it
8282+ }
8383+}
8484+6785#show: arkheion.with(
6886 title: [_gz-unitree_: Reinforcement learning en robotique avec validation par moteurs de physique multiples pour le H1v2 d'Unitree],
6987 headertitle: "gz-unitree",
···9211093111#pagebreak()
941129595-= Remerciements
113113+= Remerciements
9611497115#outline()
98116···100118101119#include "context.typ"
102120103103-= Packaging reproductible avec Nix
121121+= Packaging reproductible avec Nix
122122+104123105124#include "nix.typ"
106125···120139= Preuves
121140122141#include "proofs.typ"
123123-124124-#heading(numbering: none)[Annexes]
125125-
-14
rapport/proofs.typ
···11-#show ref: it => {
22- let eq = math.equation
33- let el = it.element
44- if el != none and el.func() == eq {
55- // Override equation references.
66- link(el.location(),numbering(
77- el.numbering,
88- ..counter(eq).at(el.location())
99- ))
1010- } else {
1111- // Other references as usual.
1212- it
1313- }
1414-}
151162== Cas dégénéré de $D_"KL" (Q, Q') = 0$ sans utilisation de $max$ <dkl-zero>
173