gradiente de estrategia
método basado valor de aprendizaje por refuerzo la función de valor se aproxima, la política basada en el uso de ideas similares, estrategias \ (\ pi \) se puede describir como un parámetro que contiene \ (\ theta \) función
Podemos suponer que existe una estrategia \ (\ Pi_ \ Theta (A | S) \) , entonces en realidad tenemos una probabilidad \ (p- (S '| S, A) \) , representa las probabilidades de transición de estado, que está sujeta a parámetros \ ( \ Theta \) efecto, todo el camino puede ser \ (\ tau de \) representa,
Por lo que nuestro objetivo es optimizar la \ (\ theta \) por lo que el máximo rendimiento total esperado,
Puesto que no tenemos manera de calcular directamente el rendimiento total era de esperar, sólo a través de la interacción con el medio ambiente, para obtener el valor deseado por muestreo múltiple.
De esto se puede conseguir una máquina similar aprendizaje en la función objetivo, y se aproxima a utilizar el muestreo múltiple
deslice algo inconsistente, \ (P_ \ Theta (\ tau de) \) y \ (\ Pi_ \ theta (\ tau) \) equivalente, están representados una estrategia, a través de una cadena de razonamiento se puede obtener derivada de la función objetivo
Podemos deducir y eliminado a través de una serie de fórmulas para el elemento derivado 0 con el fin de obtener una fórmula más precisa:
Con la ecuación de gradiente anterior, podemos dada inicial \ (\ theta \) y interactúan ambiente para obtener el gradiente de la función objetivo de aumentar el rendimiento esperado. Es decir, actualizada mediante muestreo \ (\ Theta \) .
Entonces la política \ (\ pi \) ¿Cuál es la forma concreta que?
función Softmax se utiliza en una política espacial de funcionamiento discreto, ya que la política a la necesidad de satisfacer cualquier estado \ (s \ in S \) tener \ (\ sum_a \ PI (A |. S) = 1 \) , para este fin, la operación de la función de preferencia introduciendo por valor softmax de la acción como una preferencia política
El valor de la derivada correspondiente puede ser determinado Función
política común de Gauss espacio comportamiento continua, su comportamiento a partir de una distribución de Gauss \ (\ mathbb {N} \ left (\ phi (\ vec {s}) ^ {\ mathrm {T} _ \ theta}, \ sigma ^ {2 } \ right) \) se genera, que corresponde a la derivada de la función log
anteriormente se mencionó
Sampled N veces pueden estimarse gradiente de la función objetivo
A partir de ahora, podemos dar nuestro algoritmo de aprendizaje por refuerzo:
- muestra \ (\ {\ tau ^ i \} \) de \ (\ Pi_ \ theta (a_t | S_T) \) (ejecutar la política)
- Cálculo de un gradiente de la pendiente con la fórmula anterior
- \ (\ Theta \ leftarrow \ theta + \ alpha \ nabla_ \ theta J (\ theta) \)
Es posible que haya visto tiene preguntas - Política \ (\ Pi_ \ theta (a_t | S_T) \) Específicamente, ¿qué? Podemos dar un ejemplo de piloto automático, la estrategia del estado s es las condiciones actuales de la carretera, la acción es un giro a la izquierda, giro a la derecha, la implementación, el parámetro \ (\ theta \) se los pesos pesados de la red neuronal, el sesgo.
Debido a la incertidumbre en el muestreo, habrá una gran cantidad de variación en la parte delantera del algoritmo.
Entonces, ¿cómo reducir la varianza algoritmo de ella? ?
Un principio básico es que la política en el tiempo t 'no puede afectar a la recompensa en el tiempo t cuando t <t' (antes de la última política no afecta a la recompensa)
\ (\ Hat {Q} _ {i, t} \) representa la sección \ (I \) sub-muestreada de \ (T \) obtenido finalmente y el tiempo para recompensa
Hay una mejora de línea de base
El objetivo es aumentar la probabilidad de aprendizaje por refuerzo buena opción para reducir la probabilidad de una mala elección, a continuación, si la recompensa es una acción buena 10001, mala elección de la recompensa es 10000, entonces el efecto será el aprendizaje obvia. Una evidente mejora se obtiene restando la media de las recompensas
gradiente de la política está en la política
Esto significa que cada vez que cambie el entorno de políticas y la necesidad de re-muestra de interacción para obtener una nueva muestra.
pytorch código de implementación de https://github.com/pytorch/examples/blob/master/reinforcement_learning/reinforce.py REFORZAR