Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Mejora de Políticas | Programación Dinámica
Introducción al Aprendizaje por Refuerzo
course content

Contenido del Curso

Introducción al Aprendizaje por Refuerzo

Introducción al Aprendizaje por Refuerzo

1. Teoría Central de RL
2. Problema del Bandido de Varios Brazos
3. Programación Dinámica
4. Métodos de Monte Carlo
5. Aprendizaje por Diferencia Temporal

book
Mejora de Políticas

Note
Definición

Mejora de la política es un proceso de optimización de la política basado en las estimaciones actuales de la función de valor.

Note
Nota

Al igual que con la evaluación de la política, la mejora de la política puede trabajar tanto con la función de valor de estado como con la función de valor de acción. Sin embargo, para los métodos de programación dinámica, se utilizará la función de valor de estado.

Ahora que puedes estimar la función de valor de estado para cualquier política, un siguiente paso natural es explorar si existen políticas mejores que la actual. Una forma de hacerlo es considerar tomar una acción diferente aa en un estado ss, y seguir la política actual después de eso. Si esto te resulta familiar, es porque es similar a cómo definimos la función de valor de acción:

qπ(s,a)=s,rp(s,rs,a)(r+γvπ(s))q_\pi(s, a) = \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)

Si este nuevo valor es mayor que el valor original del estado vπ(s)v_\pi(s), indica que tomar la acción aa en el estado ss y luego continuar con la política π\pi conduce a mejores resultados que seguir estrictamente la política π\pi. Dado que los estados son independientes, es óptimo seleccionar siempre la acción aa cada vez que se encuentre el estado ss. Por lo tanto, podemos construir una política mejorada π\pi', idéntica a π\pi excepto que selecciona la acción aa en el estado ss, lo que sería superior a la política original π\pi.

Teorema de mejora de la política

El razonamiento descrito anteriormente puede generalizarse como el teorema de mejora de la política:

qπ(s,π(s))vπ(s)sS    vπ(s)vπ(s)sS\begin{aligned} &q_\pi(s, \pi'(s)) \ge v_\pi(s) \qquad &\forall s \in S\\ \implies &v_{\pi'}(s) \ge v_\pi(s) \qquad &\forall s \in S \end{aligned}

La demostración de este teorema es relativamente sencilla y se puede lograr mediante una sustitución repetida:

vπ(s)qπ(s,π(s))=Eπ[Rt+1+γvπ(St+1)St=s]Eπ[Rt+1+γqπ(St+1,π(St+1))St=s]=Eπ[Rt+1+γEπ[Rt+2+γvπ(St+2)]St=s]=Eπ[Rt+1+γRt+2+γ2vπ(St+2)St=s]...Eπ[Rt+1+γRt+2+γ2Rt+3+...St=s]=vπ(s)\def\E{\operatorname{\mathbb{E}}} \begin{aligned} v_\pi(s) &\le q_\pi(s, \pi'(s))\\ &= \E_{\pi'}[R_{t+1} + \gamma v_\pi(S_{t+1}) | S_t = s]\\ &\le \E_{\pi'}[R_{t+1} + \gamma q_\pi(S_{t+1}, \pi'(S_{t+1})) | S_t = s]\\ &= \E_{\pi'}[R_{t+1} + \gamma \E_{\pi'}[R_{t+2} + \gamma v_\pi(S_{t+2})] | S_t = s]\\ &= \E_{\pi'}[R_{t+1} + \gamma R_{t+2} + \gamma^2 v_\pi(S_{t+2}) | S_t = s]\\ &...\\ &\le \E_{\pi'}[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s]\\ &= v_{\pi'}(s) \end{aligned}

Estrategia de mejora

Aunque actualizar las acciones para ciertos estados puede conducir a mejoras, es más efectivo actualizar las acciones para todos los estados simultáneamente. Específicamente, para cada estado ss, seleccionar la acción aa que maximice el valor de acción qπ(s,a)q_\pi(s, a):

π(s)arg maxaqπ(s,a)arg maxas,rp(s,rs,a)(r+γvπ(s))\begin{aligned} \pi'(s) &\gets \argmax_a q_\pi(s, a)\\ &\gets \argmax_a \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr) \end{aligned}

donde arg max\argmax (abreviatura de argumento del máximo) es un operador que devuelve el valor de la variable que maximiza una función dada.

La política codiciosa resultante, denotada por π\pi', cumple con las condiciones del teorema de mejora de la política por construcción, garantizando que π\pi' es al menos tan buena como la política original π\pi, y típicamente mejor.

Si π\pi' es tan buena como, pero no mejor que π\pi, entonces tanto π\pi' como π\pi son políticas óptimas, ya que sus funciones de valor son iguales y satisfacen la ecuación de optimalidad de Bellman:

vπ(s)=maxas,rp(s,rs,a)(r+γvπ(s))v_\pi(s) = \max_a \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)
question mark

¿Cómo garantiza la adopción de una política codiciosa una mejora sobre la política anterior?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

course content

Contenido del Curso

Introducción al Aprendizaje por Refuerzo

Introducción al Aprendizaje por Refuerzo

1. Teoría Central de RL
2. Problema del Bandido de Varios Brazos
3. Programación Dinámica
4. Métodos de Monte Carlo
5. Aprendizaje por Diferencia Temporal

book
Mejora de Políticas

Note
Definición

Mejora de la política es un proceso de optimización de la política basado en las estimaciones actuales de la función de valor.

Note
Nota

Al igual que con la evaluación de la política, la mejora de la política puede trabajar tanto con la función de valor de estado como con la función de valor de acción. Sin embargo, para los métodos de programación dinámica, se utilizará la función de valor de estado.

Ahora que puedes estimar la función de valor de estado para cualquier política, un siguiente paso natural es explorar si existen políticas mejores que la actual. Una forma de hacerlo es considerar tomar una acción diferente aa en un estado ss, y seguir la política actual después de eso. Si esto te resulta familiar, es porque es similar a cómo definimos la función de valor de acción:

qπ(s,a)=s,rp(s,rs,a)(r+γvπ(s))q_\pi(s, a) = \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)

Si este nuevo valor es mayor que el valor original del estado vπ(s)v_\pi(s), indica que tomar la acción aa en el estado ss y luego continuar con la política π\pi conduce a mejores resultados que seguir estrictamente la política π\pi. Dado que los estados son independientes, es óptimo seleccionar siempre la acción aa cada vez que se encuentre el estado ss. Por lo tanto, podemos construir una política mejorada π\pi', idéntica a π\pi excepto que selecciona la acción aa en el estado ss, lo que sería superior a la política original π\pi.

Teorema de mejora de la política

El razonamiento descrito anteriormente puede generalizarse como el teorema de mejora de la política:

qπ(s,π(s))vπ(s)sS    vπ(s)vπ(s)sS\begin{aligned} &q_\pi(s, \pi'(s)) \ge v_\pi(s) \qquad &\forall s \in S\\ \implies &v_{\pi'}(s) \ge v_\pi(s) \qquad &\forall s \in S \end{aligned}

La demostración de este teorema es relativamente sencilla y se puede lograr mediante una sustitución repetida:

vπ(s)qπ(s,π(s))=Eπ[Rt+1+γvπ(St+1)St=s]Eπ[Rt+1+γqπ(St+1,π(St+1))St=s]=Eπ[Rt+1+γEπ[Rt+2+γvπ(St+2)]St=s]=Eπ[Rt+1+γRt+2+γ2vπ(St+2)St=s]...Eπ[Rt+1+γRt+2+γ2Rt+3+...St=s]=vπ(s)\def\E{\operatorname{\mathbb{E}}} \begin{aligned} v_\pi(s) &\le q_\pi(s, \pi'(s))\\ &= \E_{\pi'}[R_{t+1} + \gamma v_\pi(S_{t+1}) | S_t = s]\\ &\le \E_{\pi'}[R_{t+1} + \gamma q_\pi(S_{t+1}, \pi'(S_{t+1})) | S_t = s]\\ &= \E_{\pi'}[R_{t+1} + \gamma \E_{\pi'}[R_{t+2} + \gamma v_\pi(S_{t+2})] | S_t = s]\\ &= \E_{\pi'}[R_{t+1} + \gamma R_{t+2} + \gamma^2 v_\pi(S_{t+2}) | S_t = s]\\ &...\\ &\le \E_{\pi'}[R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ... | S_t = s]\\ &= v_{\pi'}(s) \end{aligned}

Estrategia de mejora

Aunque actualizar las acciones para ciertos estados puede conducir a mejoras, es más efectivo actualizar las acciones para todos los estados simultáneamente. Específicamente, para cada estado ss, seleccionar la acción aa que maximice el valor de acción qπ(s,a)q_\pi(s, a):

π(s)arg maxaqπ(s,a)arg maxas,rp(s,rs,a)(r+γvπ(s))\begin{aligned} \pi'(s) &\gets \argmax_a q_\pi(s, a)\\ &\gets \argmax_a \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr) \end{aligned}

donde arg max\argmax (abreviatura de argumento del máximo) es un operador que devuelve el valor de la variable que maximiza una función dada.

La política codiciosa resultante, denotada por π\pi', cumple con las condiciones del teorema de mejora de la política por construcción, garantizando que π\pi' es al menos tan buena como la política original π\pi, y típicamente mejor.

Si π\pi' es tan buena como, pero no mejor que π\pi, entonces tanto π\pi' como π\pi son políticas óptimas, ya que sus funciones de valor son iguales y satisfacen la ecuación de optimalidad de Bellman:

vπ(s)=maxas,rp(s,rs,a)(r+γvπ(s))v_\pi(s) = \max_a \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)
question mark

¿Cómo garantiza la adopción de una política codiciosa una mejora sobre la política anterior?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 5
some-alt