¿Por qué el algoritmo de iteración de política converge a la función óptima de política y valor?

10

Estaba leyendo las notas de la conferencia de Andrew Ng sobre el aprendizaje por refuerzo, y estaba tratando de entender por qué la iteración de políticas convergía con la función de valor óptimo y la política óptima .Vπ

La iteración de la política de recuperación es:

Initialize π randomlyRepeat{Let V:=Vπ \for the current policy, solve bellman's eqn's and set that to the current VLet π(s):=argmaxaAsPsa(s)V(s)}

¿Por qué es que un algoritmo codicioso conduce a una política óptima y una función de valor óptimo? (Sé que los algoritmos codiciosos no siempre garantizan eso, o pueden quedar atrapados en los óptimos locales, por lo que solo quería ver una prueba de su optimización del algoritmo).

Además, me parece que la iteración de políticas es algo análogo al agrupamiento o al descenso de gradiente. Para la agrupación, porque con la configuración actual de los parámetros, optimizamos. Similar al descenso de gradiente porque solo elige algún valor que parece aumentar alguna función. Estos dos métodos no siempre convergen a máximos óptimos, y estaba tratando de entender cómo este algoritmo era diferente de los anteriores que mencioné.


Estos son mis pensamientos hasta ahora:

Digamos que comenzamos con alguna política , luego, después del primer paso, para esa política fija tenemos que:π1

Vπ1(s)=R(s)+γsPsπ1(s)(s)Vπ1(s)

V(1):=Vπ1(s)

Donde V ^ {(1)} es la función de valor para la primera iteración. Luego, después del segundo paso, elegimos una nueva política para aumentar el valor de . Ahora, con la nueva política , si hacemos el segundo paso del algoritmo, la siguiente desigualdad es cierta:π2Vπ1(s)π2

R(s)+γsPsπ1(s)(s)Vπ1(s)R(s)+γsPsπ2(s)(s)Vπ1(s)

Debido a que elegimos en el segundo paso para aumentar la función de valor en el paso anterior (es decir, para mejorar . Hasta ahora, está claro que elegir solo puede aumentar V ^ {(1)}, porque así es como elegimos . Sin embargo, mi confusión viene en el paso de repetición porque una vez que repetimos y volvemos al paso 1, en realidad cambiamos las cosas por completo porque volvemos a calcular para la nueva política . Lo que da:π2V(1)π2π2V2π2

Vπ2(s)=R(s)+γsPsπ2(s)(s)Vπ2(s)

pero NO es:

Vπ1(s)=R(s)+γsPsπ2(s)(s)Vπ1(s)

Lo que parece ser un problema porque se eligió para mejorar , y no esta nueva . Básicamente, el problema es que garantiza mejorar haciendo en lugar de cuando la función de valor es . Pero en el paso de repetición cambiamos a , pero no veo cómo eso garantiza que la función de valor mejore monotónicamente en cada repetición porque se calculó para mejorar la función de valor cuando las funciones de valor permanecen enπ2V(1)Vπ2pi2R(s)+γsPsπ1(s)(s)Vπ1(s)π2pi1Vπ1Vπ1Vπ2π2Vπ1, pero el paso 1 cambia a (lo cual es malo porque I solo mejoró la función de valor anterior que teníamos).Vπ1Vπ2π2

Pinocho
fuente
1
Solo una nota: codicioso no implica que un algoritmo no encuentre una solución óptima en general.
Regenschein
1
La iteración de valor es un algoritmo de programación dinámica, en lugar de codicioso. Los dos comparten algunas similitudes, pero hay diferencias. Eche un vistazo a stackoverflow.com/questions/13713572/… .
francoisr
@francoisr, nadie me dijo eso. Tal vez por eso fue tan (innecesariamente) misterioso para mí. Conozco a DP bastante bien. Gracias sin embargo! :)
Pinocho

Respuestas:

4

Creo que la parte que falta es que está garantizado por la misma razón por la que podemos pedir . Esa es esencialmente la definición de que una política es mejor que otra: que su función de valor es mayor o igual en todos los estados. Lo ha garantizado eligiendo las acciones de maximización: ningún valor de estado puede ser peor que antes, y si solo una opción de acción ha cambiado para elegir una mejor acción de maximización, entonces ya sabe (pero puede que no haya calculado) que el para ese estado será mayor de lo que fue para . π 2π 1 V π 2 ( s ) V π 1 ( s )Vπ2Vπ1π2π1Vπ2(s)Vπ1(s)

Cuando elegimos maximizar los resultados para generar , no sabemos cuáles los nuevos para cualquier estado, pero sí sabemos que .V π 2 ( s ) s : V π 2 ( s ) V π 1 ( s )π2Vπ2(s)s:Vπ2(s)Vπ1(s)

Por lo tanto, al volver al ciclo y calcular para la nueva política, se garantiza que tendrá los mismos valores o más altos que antes, y cuando se trata de actualizar la política nuevamente, . π 3π 2π 1Vπ2π3π2π1

Neil Slater
fuente
4

Primero veamos por qué funciona el algoritmo de iteración de políticas. Tiene dos pasos.

Paso de evaluación de políticas:

vn=rdn+γPdnvn es la forma vectorial general del sistema de ecuaciones lineales.

Aquí, los términos son recompensas inmediatas y las filas correspondientes de la matriz de transición.rdn,Pdn

Estos términos dependen de la políticaΠn

Resolviendo el sistema de ecuaciones anterior, podemos encontrar los valores devn

Paso de mejora de la política:

Supongamos que pudimos encontrar una nueva política tal queΠn+1

rdn+1+γPdn+1vnrdn+γPdnvnrdn+1[IγPdn+1]vnsay this is eqn. 1

Ahora, según la nueva política , podemos encontrar , digamos que esta es la ecuación 2.Πn+1vn+1=rdn+1+γPdn+1vn+1

Vamos a mostrar que ;vn+1vn

es decir, esencialmente para todos los estados, la política recientemente elegida ofrece un mejor valor en comparación con la política anteriorΠn+1Πn

Prueba:

De la ecuación 2, tenemos,

[IγPdn+1]vn+1=rdn+1

De, , tenemos1&2

vn+1vn

Esencialmente, los valores aumentan monotónicamente con cada iteración.

Esto es importante para entender por qué la Interación de políticas no se atascará en un máximo local.

Una política no es más que un espacio de acción estatal.

En cada paso de iteración de política, intentamos encontrar al menos una acción de estado que sea diferente entre y y ver si . Solo si se cumple la condición, calcularemos la solución al nuevo sistema de ecuaciones lineales.Πn+1Πnrdn+1+γPdn+1vnrdn+γPdnvn

Suponga que y son el óptimo global y local respectivamente.ΠΠ#

Implica,vv#

Suponga que el algoritmo está atascado en el óptimo local.

Si este es el caso, el paso de mejora de la política no se detendrá en el espacio de acción de estado óptimo local , ya que existe al menos una acción de estado en que es diferente de y produce un valor más alto de comparación conΠ#ΠΠ#vv#

o, en otras palabras,

[IγPd]v[IγPd]v#

rd[IγPd]v#

rd+γPdv#v#

rd+γPdv#rd#+γPd#v#

Por lo tanto, la iteración de la política no se detiene en un óptimo local

Honeybadger
fuente