¿Por qué REINFORCE funciona?
Aquí hay una captura de pantalla del popular algoritmo de gradiente de políticas del libro de Sutton y Barto:

Entiendo la derivación matemática de la regla de actualización, pero no soy capaz de intuir por qué este algoritmo debería funcionar en primer lugar. Lo que realmente me molesta es que comenzamos con una política incorrecta (es decir, no conocemos los parámetros$\theta$ aún), y utilizamos esta política para generar episodios y realizar las actualizaciones consiguientes.
¿Por qué debería funcionar REFORZAR? Después de todo, el episodio que usa para la actualización del gradiente se genera usando la política que está parametrizada por parámetros$\theta$ que aún no se han actualizado (el episodio no se generó con la política óptima ; no hay forma de que podamos hacer eso).
Espero que mi preocupación sea clara y les pido a todos que den una idea de por qué esto funciona. Sospecho que, de alguna manera , aunque estemos probando un episodio de la política incorrecta, nos acercamos más al correcto después de cada actualización (mejora monótona). Alternativamente, podríamos acercarnos a la política óptima (conjunto óptimo de parámetros$\theta$) de media.
Entonces, ¿qué está pasando realmente aquí?
Respuestas
La clave para el funcionamiento de REFUERZO es la forma en que los parámetros se desplazan hacia $G \nabla \log \pi(a|s, \theta)$.
Tenga en cuenta que $ \nabla \log \pi(a|s, \theta) = \frac{ \nabla \pi(a|s, \theta)}{\pi(a|s, \theta)}$. Esto hace que la actualización sea bastante intuitiva: el numerador cambia los parámetros en la dirección que da el mayor aumento en la probabilidad de que la acción se repita, dado el estado, proporcional a los retornos; esto es fácil de ver porque es esencialmente un ascenso en gradiente paso. El denominador controla las acciones que tendrían una ventaja sobre otras acciones porque serían elegidas con mayor frecuencia, mediante una escala inversa con respecto a la probabilidad de que la acción se lleve a cabo; Imagínese si hubiera habido grandes recompensas pero la acción en ese momento$t$ tiene baja probabilidad de ser seleccionado (por ejemplo, 0.1), entonces esto multiplicará los retornos por 10, lo que conducirá a un paso de actualización más grande en la dirección que aumentaría la probabilidad de que esta acción sea seleccionada más (que es lo que controla el numerador, como se mencionó) ).
Es decir, para la intuición - ver por qué se hace el trabajo, luego pensar en lo que hemos hecho. Definimos una función objetivo,$v_\pi(s)$, que nos interesa maximizar respetando nuestros parámetros $\theta$. Encontramos la derivada de este objetivo con respecto a nuestros parámetros, y luego realizamos un ascenso de gradiente en nuestros parámetros para maximizar nuestro objetivo, es decir, maximizar$v_\pi(s)$, por lo tanto, si seguimos realizando un ascenso de gradiente, nuestros parámetros de política convergerán (eventualmente) a valores que maximicen $v$ y así nuestra política sería óptima.