machine learning - reinforcement - ¿Cuál es la diferencia entre la iteración de valor y la iteración de política?
q learning (4)
En el aprendizaje por refuerzo, ¿cuál es la diferencia entre la iteración de políticas y la iteración de valores ?
Por lo que entiendo, en la iteración de valor, utiliza la ecuación de Bellman para resolver la política óptima, mientras que, en la iteración de política, selecciona aleatoriamente una política π y encuentra la recompensa de esa política.
Mi duda es que si selecciona una política aleatoria π en PI, ¿cómo se garantiza que sea la política óptima, incluso si elegimos varias políticas aleatorias?
En los algoritmos de iteración de políticas , comienza con una política aleatoria, luego encuentra la función de valor de esa política (paso de evaluación de políticas), luego encuentra una nueva política (mejorada) basada en la función de valor anterior, y así sucesivamente. En este proceso, se garantiza que cada política será una mejora estricta sobre la anterior (a menos que ya sea óptima). Dada una política, su función de valor se puede obtener utilizando el operador Bellman .
En la iteración de valor , comienza con una función de valor aleatorio y luego encuentra una nueva función de valor (mejorada) en un proceso iterativo, hasta alcanzar la función de valor óptimo. Tenga en cuenta que puede derivar fácilmente la política óptima de la función de valor óptimo. Este proceso se basa en la optimización del operador de Bellman .
En cierto sentido, ambos algoritmos comparten el mismo principio de funcionamiento, y pueden verse como dos casos de la iteración de política generalizada . Sin embargo, la optimización del operador Bellman contiene un operador máximo , que no es lineal y, por lo tanto, tiene diferentes características. Además, es posible utilizar métodos híbridos entre la iteración de valor puro y la iteración de política pura.
En lo que a mí respecta, a diferencia de la idea de @zyxue, VI generalmente es mucho más rápido que PI.
La razón es muy sencilla, como ya sabía, la ecuación de Bellman se utiliza para resolver la función de valor para una política determinada. Dado que podemos resolver la función de valor para una política óptima directamente , resolver la función de valor para la política actual es obviamente una pérdida de tiempo.
En cuanto a su pregunta sobre la convergencia de PI, creo que podría pasar por alto el hecho de que si mejora la estrategia para cada estado de información, entonces mejorará la estrategia para todo el juego. Esto también es fácil de probar, si estaba familiarizado con la minimización de arrepentimiento contrafactual: la suma del arrepentimiento para cada estado de información ha formado el límite superior del arrepentimiento general y, por lo tanto, minimizar el arrepentimiento de cada estado minimizará el arrepentimiento general, lo que conduce a la política óptima.
La diferencia básica es:
En la iteración de política : selecciona aleatoriamente una política y encuentra la función de valor correspondiente, luego encuentra una nueva política (mejorada) basada en la función de valor anterior, y así sucesivamente se obtendrá una política óptima.
En iteración de valor : selecciona aleatoriamente una función de valor, luego encuentra una nueva función de valor (mejorada) en un proceso iterativo, hasta alcanzar la función de valor óptimo, luego deriva la política óptima de esa función de valor óptimo.
La iteración de políticas funciona según el principio de "Evaluación de políticas —-> Mejora de políticas"
La iteración del valor funciona según el principio de "Función de valor óptimo —-> política óptima".
Miremos de lado a lado. Se resaltan las partes clave para la comparación. Las cifras son del libro de Sutton y Barto: Aprendizaje por refuerzo: una introducción .
- La iteración de políticas incluye: evaluación de políticas + mejora de políticas , y las dos se repiten iterativamente hasta que las políticas convergen.
- La iteración de valor incluye: encontrar una función de valor óptima + una extracción de política . No hay repetición de los dos porque una vez que la función de valor es óptima, entonces la política fuera de ella también debería ser óptima (es decir, convergente).
- Encontrar la función de valor óptimo también se puede ver como una combinación de mejora de políticas (debido al máximo) y evaluación de políticas truncadas (la reasignación de v_ (s) después de solo un barrido de todos los estados, independientemente de la convergencia).
- Los algoritmos para la evaluación de políticas y para encontrar la función de valor óptimo son muy similares, excepto para una operación máxima (como se resalta)
- Del mismo modo, el paso clave para la mejora y extracción de políticas es idéntico, excepto que el primero implica una verificación de estabilidad.
En mi experiencia, la iteración de política es más rápida que la iteración de valor , ya que una política converge más rápidamente que una función de valor. Recuerdo que esto también se describe en el libro.
Supongo que la confusión provino principalmente de todos estos términos algo similares, que también me confundieron antes.