Aprendizaje por refuerzo: gradientes de políticas

La idea del método de gradiente de estrategia.

  Solíamos expresar políticas en forma de tablas antes, pero ahora también podemos expresar políticas en funciones. Todos los métodos aprendidos antes se denominan basados ​​en valores y el siguiente se denomina basado en políticas. A continuación, echemos un vistazo a la idea del método de gradiente de estrategia. Las estrategias aprendidas antes están todas expresadas en tablas, como sigue:
inserte la descripción de la imagen aquí
  Ahora, cambiamos la tabla a una función, luego π πLa escritura de π también cambiará, así:
inserte la descripción de la imagen aquí
Entre ellos,θ θθ es un vector que se puede usar para representarπ πLos parámetros en la función π .

  La diferencia entre tablas y funciones es la probabilidad de obtener una acción. El formulario de tabla busca directamente la tabla a través del índice, pero usar la función será un poco problemático, no puede ir directamente al índice, necesita calcular el π correspondiente ( a ∣ s , θ ) π(a | s,\theta)π ( un s ,yo )

  La diferencia entre las representaciones de tablas y funciones también está en la forma en que se actualiza la política. Puede modificar directamente los valores en la tabla en la tabla. Cuando se expresa como una función parametrizada, la política π ππ solo se puede modificar modificando el parámetroθ \thetaθ para actualizar la política.

.La
idea del método del gradiente de la estrategia:
  cuando se representa mediante una función, estableceremos alguna función objetivo escalar J ( θ ) J(\theta)J ( θ ) , optimizando la función objetivo para que la estrategiaπ ππ alcanza el óptimo, de la siguiente manera:
inserte la descripción de la imagen aquí

Selección de la función objetivo escalar

  Arriba sabemos que necesitamos establecer una función objetivo escalar, entonces, ¿qué es la función objetivo escalar? En general, comúnmente usamos dos tipos de funciones objetivo escalares.

  El primero es el valor promedio del valor de estado , o simplemente llamado valor promedio, que en realidad es un promedio ponderado del valor de estado, como sigue:
inserte la descripción de la imagen aquí
v ˉ \bar vvˉ es el promedio ponderado del valor estatal
d ( s ) d(s)d ( s ) representa el estadossLa probabilidad de que s sea seleccionado

La forma anterior también se puede escribir en una forma más concisa, que es el producto interno de dos vectores:
inserte la descripción de la imagen aquí
.

  Entonces, ¿cómo elegimos d ( s ) d(s)¿Qué pasa con d ( s ) ? Tenemos dos situaciones, una esdddπ pπ no importa, esdddπ pπ está relacionado.

  cuando _dπ pCuando π no tiene relación, usamos d 0 d_0respectivamented0π ˉ 0 \bar π_0Piˉ0significa que también podemos tomar la distribución uniforme d 0 ( s ) = 1 / ∣ S ∣ = 1 / n d_0(s)=1/|S|=1/nd0( s )=1/ S∣=1/ n , si un cierto estado es más importante, entonces podemos aumentar su peso.

  cuando _dπ pCuando π tiene una relación, el método comúnmente utilizado es elegir una distribución estable, de la siguiente manera:
inserte la descripción de la imagen aquí
El
  segundo es el valor promedio de las recompensas instantáneas, que es un promedio ponderado de las recompensas instantáneas, de la siguiente manera:
inserte la descripción de la imagen aquí

Lo anterior es la primera forma de recompensa, y a menudo vemos otra forma de recompensa, como sigue:
inserte la descripción de la imagen aquí
Entre ellos, asumimos que seguimos una estrategia dada y generamos una trayectoria, y obtenemos una serie de recompensas ( R t + 1 , R t + 2 , … … ) (R_{t+1},R_{t+2},……)( Rt + 1,Rt + 2,... ) ; después de ejecutar un número infinito de pasos,s 0 s_0s0Ya no importa, así que pon s 0 s_0 al finals0eliminado
_

  Anteriormente introdujimos los métodos de selección de las dos funciones objetivo escalares, y luego hacemos un resumen adicional de estos dos escalares:
  1. Todos son estrategias π πFunción de π
  2. Estrategiaπ ππ tiene la forma de una función cuyo parámetro esθ \thetaθ , diferenteθ \thetaθ obtendrá diferentes valores
  3, puedes encontrar elθ \thetaθ para maximizar el valor del escalar
   4,r ˉ π \bar r_πrˉpagv ˉ π \bar v_πvˉpagson equivalentes, y cuando uno de ellos está optimizado, el otro también está optimizado. En el factor de descuento γ < 1 γ < 1C<1是,有r ˉ π = ( 1 − γ ) v ˉ π \bar r_π=(1-γ)\bar v_πrˉpag=( 1c )vˉpag

Resolución de gradiente de políticas

   Después de obtener un escalar de política, calcule su gradiente. Luego, se aplican métodos basados ​​en gradientes para la optimización, donde el cálculo de gradientes es una de las partes más complejas. Eso es porque, antes que nada, necesitamos distinguir entre diferentes v ˉ π \bar v_πvˉpagr ˉ π \bar r_πrˉpagv ˉ π 0 \bar v_π^0vˉPi0; En segundo lugar, debemos distinguir entre con descuento y sin descuento. El cálculo del gradiente, aquí daremos una breve introducción.

inserte la descripción de la imagen aquí
J ( θ ) J(\theta)J ( θ ) puede serv ˉ π \bar v_πvˉpagr ˉ π \bar r_πrˉpagv ˉ π 0 \bar v_π^0vˉPi0;
el nη es la distribución de probabilidad o peso
"=" puede representar igualdad estricta, aproximación o proporcional a

v ˉ π \bar v_πvˉpagr ˉ π \bar r_πrˉpagv ˉ π 0 \bar v_π^0vˉPi0La fórmula del gradiente correspondiente es la siguiente:
inserte la descripción de la imagen aquí
Análisis
de la fórmula del gradiente:
   podemos escribir la fórmula anterior de la siguiente manera:
inserte la descripción de la imagen aquí

S obedece a la distribución η S obedece a la distribución ηS obedece a la distribución ηA obedece a la distribución π ( A ∣ S , θ ) A obedece a la distribución π(A|S,\theta)A obedece a π ( A S ,θ ) distribución

¿Por qué necesitamos tal fórmula? Esto se debe a que el gradiente real contiene el EE esperadoE , esperoEEE no se conoce, por lo que podemos aproximarlo mediante muestreo para optimización, de la siguiente manera:
inserte la descripción de la imagen aquí

Nota complementaria:
   porque es necesario calcular ln π ( a ∣ s , θ ) lnπ(a|s,\theta)l ( un s ,θ ) , entonces los requisitosπ( a ∣ s , θ ) > 0 π(a|s,\theta)>0π ( un s ,yo )>0 , cómo garantizar que todoslos π ππ para todoaaa es todo mayor que 0? Use la función softmax para la normalización, de la siguiente manera:
inserte la descripción de la imagen aquí

Entonces, p pLa expresión de π
inserte la descripción de la imagen aquí
es la siguiente: h ( s , a , θ ) h(s,a,\theta)h ( s ,un ,θ ) es otra función, generalmente obtenida por una red neuronal.

Ascenso de gradiente y REFORZAR

   La idea básica del algoritmo de ascenso de gradiente es que el gradiente real tiene el EE esperadoE , por lo que el gradiente real se reemplaza por un gradiente aleatorio, pero también hay unq π ( s , a ) q_π(s,a)qpag( s ,a ) Estrategia inmediataπ πSe desconoce el valor de acción real correspondiente a π De igual manera, usamos un método para aproximar oq π q_πqpagPara el muestreo, el método es combinar con MC——reforzar, de la siguiente manera:

inserte la descripción de la imagen aquí
.Usamos
gradientes aleatorios en lugar de gradientes reales, entonces, ¿cómo hacemos variables aleatorias ( S , A ) (S,A)( S ,A ) ¿Qué pasa con el muestreo? Primero aSSS se muestrea porqueS sigue la distribución η S sigue la distribución ηS obedece a la distribución η , que requiere una gran cantidad de datos, y es difícil lograr un estado estable en la realidad, por lo que generalmente no se considera en la práctica. ¿Qué hay deAA¿Qué pasa con una muestra? ComoA obedece a la distribución π ( A ∣ S , θ ) A obedece a la distribución π(A|S,\theta)A obedece a π ( A S ,θ ) distribución , por lo tanto, enst s_tstDebe estar de acuerdo con la estrategia π ( θ ) π(\theta)π ( θ )en a_tatTome una muestra. Todos los gradientes de política aquí pertenecen al algoritmo de política.
inserte la descripción de la imagen aquí

La comprensión del algoritmo
inserte la descripción de la imagen aquí
requiere α β t \alpha\beta_tun segundotes menor, se puede encontrar que β t \beta_tbtCapaz de equilibrar el descubrimiento de algoritmos y la utilización de datos. Porque β t \beta_tbtqt ( st , at ) q_t(s_t,a_t)qt( st,at) es proporcional, por tanto, cuandoqt ( st , at ) q_t(s_t,a_t)qt( st,at) es más grandeβ t \beta_tbttambién será relativamente grande, lo que significa π t ( st , at ) π_t(s_t,a_t)Pit( st,at) tiene una mayor probabilidad de ser seleccionado. βt \beta_tbtπ ( en ∣ st , θ t ) π(a_t|s_t,\theta_t)π ( untst,it) es inversamente proporcional, por lo tanto, cuandoβ t \beta_tbt较大时π ( en ∣ st , θ t ) π(a_t|s_t,\theta_t)π ( untst,it) será relativamente pequeño, lo que significa que si elijoπ t ( st , at ) π_t(s_t,a_t)Pit( st,at) es relativamente pequeño, dale una mayor probabilidad de elegirlo en el siguiente momento.

β t > 0 \beta_t>0bt>0时,esto esπ (en ∣ st, θ) π(a_t|s_t,θ)π ( untst,θ ) Algoritmo de gradiente ascendente, hay:
inserte la descripción de la imagen aquí
cuandoβ t < 0 \beta_t<0bt<0时,esto esπ (en ∣ st, θ) π(a_t|s_t,θ)π ( untst,θ ) Algoritmo de descenso de gradiente, existen:
inserte la descripción de la imagen aquí
.

algoritmo de refuerzo

   用qt ( st , at ) q_t(s_t,a_t)qt( st,at) para reemplazar aproximadamenteq π ( st , at ) q_π(s_t,a_t)qpag( st,at)qt ( st , at ) q_t(s_t,a_t)qt( st,at) se obtiene por el método de Monte Carlo, es decir, de( st , at ) (s_t,a_t)( st,at) comience a obtener un episodio y luego asigne el retorno de este episodio aqt q_tqt, este es el algoritmo de refuerzo.
inserte la descripción de la imagen aquí
Algoritmo
de refuerzo, su pseudocódigo es el
inserte la descripción de la imagen aquí
siguiente :Para k iteraciones, primero seleccione unestado de estados t a t e según la estrategia actualπ ( θ k ) π(\theta _k)pag ( yok) interactúa con el entorno para obtener un episodio, y tenemos que revisar cada elemento de este episodio. Luego opere en cada elemento, que se divide en dos pasos. El primer paso es actualizar el valor, que consiste en utilizar el método de Monte Carlo para estimarqt q_tqt,从( st , at ) (s_t,a_t)( st,at) para sumar todas las recompensas obtenidas posteriormente. El siguiente paso es la actualización de políticas, el qt q_tque se obtendráqtSustituir en la fórmula para actualizar θ t θ_tit, y finalmente tomar el θ T θ_T final obtenidoiTComo un nuevo θ k θ_kikRealizar actualizaciones iterativas.

Supongo que te gusta

Origin blog.csdn.net/qq_50086023/article/details/131397020
Recomendado
Clasificación