Pregunta

Con respecto a la iteración del valor de la programación dinámica (aprendizaje de refuerzo) en el mundo de la cuadrícula, la actualización de valor de cada estado viene dada por:
enter image description here


Ahora supongo que estoy en Box (3,2). Puedo ir a (4,2) (arriba) (3,3) (derecha) y (1,3) (izquierda) y ninguno de estos es mi estado final, por lo que obtengo una recompensa de -0.1 por ir en cada uno de los los Estados. El valor presente de todos los estados es 0. La probabilidad de ir al norte es 0.8, y ir a la izquierda/derecha es 0.1 cada uno. Entonces, dado que ir a la izquierda/a la derecha me da más recompensa (como recompensa*La probabilidad será negativa) voy a la izquierda o a la derecha. ¿Es este el mecanismo? ¿Estoy en lo correcto? Pero en la fórmula hay un término de suma dado. Así que básicamente no puedo entender esta fórmula. ¿Alguien puede explicarme con un ejemplo?

¿Fue útil?

Solución

Las probabilidades que describe se refieren solo a la acción de Go-North. Significa que si desea ir hacia el norte, tiene un 80% de posibilidades de ir al norte y el 20% de ir a la izquierda o a la derecha, lo que dificulta el problema (no determinista). Esta regla se aplica a todas las direcciones. Además, la fórmula no dice qué acción elegir, cómo actualizar los valores. Para seleccionar una acción, suponiendo una política codiciosa, seleccionaría la que tiene el valor esperado más alto ($ V (S ') $).

La fórmula dice que resume los valores para todos los resultados posibles de la mejor acción. Entonces, suponer que Go-North es de hecho la mejor acción, tienes:

$$.8 * (-.1 + 0) + .1 * (-.1 + 0) + .1 * (-.1 + 0) = -.1$$

Pero supongamos que aún no sabe cuál es la mejor acción y quiere seleccionar una con aviamiento. Luego debe calcular la suma para cada posible acción (norte, sur, este, oeste). Su ejemplo tiene todos los valores establecidos en 0 y la misma recompensa, por lo que no es muy interesante. Supongamos que tiene una recompensa +1 al este (-0.1 para las instrucciones restantes) y que South ya tiene V (s) = 0.5 (0 para los estados restantes). Luego calcula el valor para cada acción (deje que $ gamma = 1 $, ya que es un parámetro ajustado por el usuario):

  • Norte: $ .8 * (-.1 + 0) + .1 * (-.1 + 0) + .1 * (1 + 0) = -.08 -.01 + .1 = .01 $
  • Sur: $ .8 * (-.1 + .5) + .1 * (-.1 + 0) + .1 * (1 + 0) = 0.32-.01 + .1 = .41 $
  • Este: $ .8 * (1 + 0) + .1 * (-.1 + 0) + .1 * (-.1 + .5) = .8-.01 + .04 = .83 $
  • West: $ .8 * (-.1 + 0) + .1 * (-.1 + 0) + .1 * (-.1 + .5) = -.08 -.01 + .04 = -.05 ps

Entonces actualizaría su política para ir Este desde el estado actual y actualizar el valor del estado actual para 0.83.

Licenciado bajo: CC-BY-SA con atribución
scroll top