# Mètodes de gradient normatiu

Els º són una classe d'algorismes d'aprenentatge de reforç.
Els mètodes de gradient normatius són una subclasse de mètodes d'optimització de polítiques. A diferència dels mètodes basats en valors que aprenen una funció de valor per derivar una política, els mètodes d'optimització de polítiques aprenen directament una funció política. $\pi$ que selecciona accions sense consultar una funció de valor. Perquè s'apliqui el gradiennormatiu, la funció de política $\pi _{\theta }$ està parametritzat per un paràmetre diferenciable $\theta$.

## Visió general

En la RL basada en polítiques, l'actor és una funció política parametritzada $\pi _{\theta }$, on $\theta$ són els paràmetres de l'actor. L'actor pren com a argument l'estat de l'entorn $s$ i produeix una distribució de probabilitat $\pi _{\theta }(\cdot |s)$.
Si l'espai d'acció és discret, aleshores $\sum _{a}\pi _{\theta }(a|s)=1$. Si l'espai d'acció és continu, aleshores $\int _{a}\pi _{\theta }(a|s)da=1$.
L'objectiu de l'optimització de polítiques és trobar-ne $\theta$ que maximitza la recompensa episòdica esperada $J(\theta )$ : $J(\theta )=\mathbb {E} _{\pi _{\theta }}\left[\sum _{i\in 0:T}\gamma ^{i}R_{i}{\Big |}S_{0}=s_{0}\right]$ on $\gamma$ és el factor de descompte, $R_{t}$ és la recompensa al pas $t$, $s_{0}$ és l'estat inicial, i $T$ és l'horitzó temporal (que pot ser infinit).
El gradient de política es defineix com $\nabla _{\theta }J(\theta )$. Diferents mètodes de gradient de política estimen estocàsticament el gradient de política de diferents maneres. L'objectiu de qualsevol mètode de gradient de política és maximitzar iterativament $J(\theta )$ per desnivell de pujada. Com que la part clau de qualsevol mètode de gradient de política és l'estimació estocàstica del gradient de política, també s'estudien sota el títol d'"Estimació del gradient de Monte Carlo".

## REFORÇ
### Gradient polític

L'algoritme REINFORCE va ser el primer mètode de gradient de política. Es basa en la identitat del gradient de la política $\nabla _{\theta }J(\theta )=\mathbb {E} _{\pi _{\theta }}\left[\sum _{j\in 0:T}\nabla _{\theta }\ln \pi _{\theta }(A_{j}|S_{j})\;\sum _{i\in 0:T}(\gamma ^{i}R_{i}){\Big |}S_{0}=s_{0}\right]$ que es pot millorar mitjançant el "truc de causalitat" $\nabla _{\theta }J(\theta )=\mathbb {E} _{\pi _{\theta }}\left[\sum _{j\in 0:T}\nabla _{\theta }\ln \pi _{\theta }(A_{j}|S_{j})\sum _{i\in j:T}(\gamma ^{i}R_{i}){\Big |}S_{0}=s_{0}\right]$Lema — L'expectativa de la funció de puntuació és zero, condicionada a qualsevol estat present o passat. És a dir, per a qualsevol $0\leq i\leq j\leq T$ i qualsevol estat si, tenim $\mathbb {E} _{\pi _{\theta }}[\nabla _{\theta }\ln \pi _{\theta }(A_{j}|S_{j})|S_{i}=s_{i}]=0.$ A més, si $\Psi _{i}$ és unavariable aleatòria que és independent de $>A_{i},S_{i+1},A_{i+1},\dots$ llavors ${E}_{\pi _{\theta }}[\nabla _{\theta }\ln \pi _{\theta }(A_{j}|S_{j})\cdot \Psi _{i}|S_{i}=s_{i}]=0.$
Així, tenim un estimador no esbiaixat del gradient de la política: $\nabla _{\theta }J(\theta )\approx {\frac {1}{N}}\sum _{k=1}^{N}\left[\sum _{j\in 0:T}\nabla _{\theta }\ln \pi _{\theta }(A_{j,k}|S_{j,k})\sum _{i\in j:T}(\gamma ^{i}R_{i,k})\right]$ on l'índex $k$ abasta $N$ trajectòries de desplegament utilitzant la política $\pi _{\theta }$.
La funció de puntuació $\nabla _{\theta }\ln \pi _{\theta }(A_{t}|S_{t})$ es pot interpretar com la direcció en l'espai de paràmetres que augmenta la probabilitat d'actuar $A_{t}$ en estat $S_{t}$. El gradient de la política, doncs, és una mitjana ponderada de totes les direccions possibles per augmentar la probabilitat de prendre qualsevol acció en qualsevol estat, però ponderada per senyals de recompensa, de manera que si prendre una determinada acció en un estat determinat s'associa amb una recompensa alta, aleshores aquesta direcció es veuria molt reforçada, i viceversa.

## Algorisme

L'algoritme REFORÇ és un bucle:
* Desplegament $N$ trajectòries en l'entorn, utilitzant $\pi _{\theta _{t}}$ com a funció política.
* Calculeu l'estimació del gradient de la política: $g_{t}\leftarrow {\frac {1}{N}}\sum _{k=1}^{N}\left[\sum _{j\in 0:T}\nabla _{\theta _{t}}\ln \pi _{\theta }(A_{j,k}|S_{j,k})\sum _{i\in j:T}(\gamma ^{i}R_{i,k})\right]$
* Actualitzeu la política per ascens de gradient: $\theta _{t+1}\leftarrow \theta _{t}+\alpha _{t}g_{t}$
Aquí, $\alpha _{t}$ és la taxa d'aprenentatge al pas d'actualització $t$.

## Gradient de política natural

El mètode del gradient de la política natural és una variant del mètode del gradient de la política, proposat per Sham Kakade l'any 2001. A diferència dels mètodes estàndard de gradient de polítiques, que depenen de l'elecció dels paràmetres $\theta$ (fent que les actualitzacions depenguin de les coordenades), el gradient de política natural té com a objectiu proporcionar una actualització sense coordenades, geomètricament "natural".

## Optimització de polítiques de regió de confiança (TRPO)

L'optimització de polítiques de la regió de confiança (TRPO) és un mètode de gradient de polítiques que amplia l'enfocament de gradient de política natural mitjançant l'aplicació d'una restricció de la regió de confiança a les actualitzacions de polítiques. Desenvolupat per Schulman et al. el 2015, TRPO garanteix millores estables en les polítiques limitant la divergència de KL entre polítiques successives, abordant els reptes clau dels mètodes de gradient de polítiques naturals.
TRPO es basa en el gradient de política natural incorporant una restricció de regió de confiança. Si bé el gradient natural proporciona una direcció teòricament òptima, la cerca de línies de TRPO i la restricció KL mitiguen els errors de les aproximacions de Taylor, assegurant una millora monòtona de la política. Això fa que TRPO sigui més robust a la pràctica, especialment per a polítiques d'alta dimensió.

## Optimització de polítiques proximals (PPO)

Una millora més és l'optimització de polítiques proximals (PPO), que evita fins i tot la informàtica $F(\theta )$ i $F(\theta )^{-1}$ mitjançant una aproximació de primer ordre utilitzant relacions de probabilitat retallades.
Concretament, en lloc de maximitzar l'avantatge substitut $\max _{\theta }L(\theta ,\theta _{t})=\mathbb {E} _{s,a\sim \pi _{\theta _{t}}}\left[{\frac {\pi _{\theta }(a|s)}{\pi _{\theta _{t}}(a|s)}}A^{\pi _{\theta _{t}}}(s,a)\right]$ sota una restricció de divergència KL, insereix directament la restricció a l'avantatge substitut: $\max _{\theta }\mathbb {E} _{s,a\sim \pi _{\theta _{t}}}\left[{\begin{cases}\min \left({\frac {\pi _{\theta }(a|s)}{\pi _{\theta _{t}}(a|s)}},1+\epsilon \right)A^{\pi _{\theta _{t}}}(s,a)&{\text{ si }}A^{\pi _{\theta _{t}}}(s,a)>0\\\max \left({\frac {\pi _{\theta }(a|s)}{\pi _{\theta _{t}}(a|s)}},1-\epsilon \right)A^{\pi _{\theta _{t}}}(s,a)&{\text{ si }}A^{\pi _{\theta _{t}}}(s,a)<0\end{cases}}\right]$ i PPO maximitza l'avantatge substitut mitjançant el descens de gradient estocàstic, com és habitual.
En paraules, el gradient ascendent de la nova funció d'avantatge substitutiva significa que, en algun estat $s,a$, si l'avantatge és positiu: $A^{\pi _{\theta _{t}}}(s,a)>0$, llavors el gradient s'ha de dirigir $\theta$ cap a la direcció que augmenta la probabilitat de realitzar l'acció $a$ sota l'estat $s$. Tanmateix, tan aviat com $\theta$ ha canviat tant que $\pi _{\theta }(a|s)\geq (1+\epsilon )\pi _{\theta _{t}}(a|s)$, aleshores el gradient hauria de deixar d'apuntar-lo en aquesta direcció. I de la mateixa manera si $A^{\pi _{\theta _{t}}}(s,a)<0$. Així, PPO evita pressionar massa l'actualització de paràmetres i evita canviar massa la política.

## Referències

* ↑ Karunakaran, Dhanoop «REINFORCE — a policy-gradient based reinforcement Learning algorithm» (en anglès). Medium, 08-06-2020. Arxivat de l'original el 2025-01-09.
* ↑ Kapoor, Sanyam. «Policy Gradients in a Nutshell» (en anglès), 27-01-2025. [Consulta: 29 gener 2025].
* ↑ Mohamed, Shakir; Rosca, Mihaela; Figurnov, Michael; Mnih, Andriy Journal of Machine Learning Research, 21, 132, 2020, pàg. 1–62. arXiv: 1906.10652. ISSN: 1533-7928.
* ↑ Williams, Ronald J. (en anglès) Machine Learning, 8, 3–4, 5-1992, pàg. 229–256. DOI: 10.1007/BF00992696. ISSN: 0885-6125.
* ↑ Sutton, Richard S; McAllester, David; Singh, Satinder; Mansour, Yishay Advances in Neural Information Processing Systems, 12, 1999.
* ↑ Kakade, Sham M Advances in Neural Information Processing Systems, 14, 2001.
* ↑ Schulman, John; Levine, Sergey; Moritz, Philipp; Jordan, Michael; Abbeel, Pieter Proceedings of the 32nd International Conference on International Conference on Machine Learning - Volume 37 [Lille, France], 06-07-2015, pàg. 1889–1897.