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:
Ahora, cambiamos la tabla a una función, luego π πLa escritura de π también cambiará, así:
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:
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:
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:
.
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:
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:
Lo anterior es la primera forma de recompensa, y a menudo vemos otra forma de recompensa, como sigue:
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ˉpag与v ˉ π \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=( 1−c )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ˉpag,r ˉ π \bar r_πrˉpag,v ˉ π 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.
J ( θ ) J(\theta)J ( θ ) puede serv ˉ π \bar v_πvˉpag,r ˉ π \bar r_πrˉpag,v ˉ π 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ˉpag,r ˉ π \bar r_πrˉpag,v ˉ π 0 \bar v_π^0vˉPi0La fórmula del gradiente correspondiente es la siguiente:
Análisis
de la fórmula del gradiente:
podemos escribir la fórmula anterior de la siguiente manera:
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:
Nota complementaria:
porque es necesario calcular ln π ( a ∣ s , θ ) lnπ(a|s,\theta)l nπ ( 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:
Entonces, p pLa expresión de π
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:
.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.
La comprensión del algoritmo
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_tbt与qt ( 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)π ( unt∣ st,it) es inversamente proporcional, por lo tanto, cuandoβ t \beta_tbt较大时π ( en ∣ st , θ t ) π(a_t|s_t,\theta_t)π ( unt∣ st,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,θ)π ( unt∣ st,θ ) Algoritmo de gradiente ascendente, hay:
cuandoβ t < 0 \beta_t<0bt<0时,esto esπ (en ∣ st, θ) π(a_t|s_t,θ)π ( unt∣ st,θ ) Algoritmo de descenso de gradiente, existen:
.
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.
Algoritmo
de refuerzo, su pseudocódigo es el
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.