las estrategias de aprendizaje de refuerzo gradiente

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

\ [\ pi _ {\ theta} (s, a) = P (a | s, \ theta) \ aprox \ pi (a | s) \]

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,

\ [\ Underbrace {p _ {\ theta} \ left (\ mathbf {s} _ {1}, \ mathbf {A} _ {1}, \ ldots, \ mathbf {s} _ {T}, \ mathbf {a } _ {T} \ right)} _ {p _ {\ theta} (\ tau)} = p \ left (\ mathbf {s} _ {1} \ right) \ prod_ {t = 1} ^ {T} \ pi _ {\ theta} \ left (\ vec {a} _ {t} | \ vec {s} _ {t} \ right) p \ left (\ vec {s} _ {t + 1} | \ mathbf {s } _ {t}, \ vec {a} _ {t} \ right) \]

Por lo que nuestro objetivo es optimizar la \ (\ theta \) por lo que el máximo rendimiento total esperado,

\ [\ Theta ^ * = arg \ max_ \ theta E _ {\ tau \ sim p_ \ theta (\ tau)} \ left [\ sum_t \ gamma (S_T, a_t) \ right] \]

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

\ [J (\ theta) = E _ {\ tau \ sim p_ \ theta (\ tau)} \ left [\ sum_t \ gamma (S_T, a_t) \ right] \ aprox \ frac {1} {N} \ sum_ { i = 1} ^ N \ sum_t \ gamma (s_ {i, t}, a_ {i, t}) \]

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

\ [\ Nabla_ \ theta J (\ theta) = E _ {\ año \ sim \ pi _ {\ theta} (\ año)} \ left [\ nabla _ {\ theta} \ log \ pi _ {\ theta} (\ años) r (\ año) \ right] \]

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:

1584633176232

\ [\ Nabla _ {\ theta} J (\ theta) = E _ {\ tau \ sim \ tau _ {*} (\ tau)} \ left [\ left (\ sum_ {t = 1} ^ {T} \ nabla_ { \ theta} \ log \ pi _ {\ theta} \ left (\ vec {a} _ {t} | \ vec {s} _ {t} \ right) \ right) \ left (\ sum_ {t = 1} ^ {T} r \ left (\ mathbf {s} _ {t}, \ mathbf {a} _ {t} \ right) \ right) \ right] \]

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

\ [\ pi (a | S; \ theta) = \ frac {e ^ {H (s, a; \ theta)}} {\ sum_ {a ^ {\ prime}} e ^ {h \ left (s, a ^ {\ prime}; \ theta \ right)}} \]

El valor de la derivada correspondiente puede ser determinado Función

\ [\ Nabla _ {\ theta} \ log \ pi _ {\ theta} (s, a) = \ phi (s, a) - \ mathbb {E} _ {\ pi \ theta} [\ phi (s, a) ] \]

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

\ [\ Nabla _ {\ theta} \ log \ pi _ {\ theta} (s, a) = \ frac {\ left (a- \ phi (s) ^ {T_ \ theta} \ right) \ phi (s)} {\ sigma ^ {2}} \]


anteriormente se mencionó

\ [J (\ theta) = E _ {\ tau \ sim p_ \ theta (\ tau)} \ left [\ sum_t \ gamma (S_T, a_t) \ right] \ aprox \ frac {1} {N} \ sum_ { i = 1} ^ N \ sum_t \ gamma (s_ {i, t}, a_ {i, t}) \]

Sampled N veces pueden estimarse gradiente de la función objetivo

\ [\ Nabla _ {\ theta} J (\ theta) \ aprox \ frac {1} {N} \ sum_ {i = 1} ^ {N} \ left (\ sum_ {t = 1} ^ {T} \ nabla_ {\ theta} \ log \ pi _ {\ theta} \ left (\ vec {a} _ {i, t} | \ vec {s} _ {i, t} \ right) \ right) \ left (\ sum_ { t = 1} ^ {T} r \ left (\ mathbf {s} _ {i, t}, \ mathbf {a} _ {i, t} \ right) \ right) \]

A partir de ahora, podemos dar nuestro algoritmo de aprendizaje por refuerzo:

  1. muestra \ (\ {\ tau ^ i \} \) de \ (\ Pi_ \ theta (a_t | S_T) \) (ejecutar la política)
  2. Cálculo de un gradiente de la pendiente con la fórmula anterior
  3. \ (\ 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)

1584799716446

\ (\ Hat {Q} _ {i, t} \) representa la sección \ (I \) sub-muestreada de \ (T \) obtenido finalmente y el tiempo para recompensa

\ [\ Nabla _ {\ theta} J (\ theta) \ aprox \ frac {1} {N} \ sum_ {i = 1} ^ {N} \ sum_ {t = 1} ^ {T} \ nabla _ {\ theta } \ log \ pi _ {\ theta} \ left (\ vec {a} _ {i, t} | \ vec {s} _ {i, t} \ right) \ hat {Q} _ {i, t} \ ]

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

\ [\ Nabla_ \ theta J (\ theta) \ aprox \ frac {1} {N} \ sum_ {i = 1} ^ N \ nabla_ \ theta \ log \ Pi_ \ theta (\ tau) \ left [\ gamma ( \ tau) -b \ right] \]

\ [B = \ {1} {N libremente} \ sum_ {i = 1} ^ N \ gamma (\ tau) \]

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

Supongo que te gusta

Origin www.cnblogs.com/lepeCoder/p/RL_PolicyGradients.html
Recomendado
Clasificación