Aprendizaje por refuerzo: aproximación de la función de valor

Importación de ejemplo

Vale la pena señalar que los valores de estado y los valores de acción    aprendidos anteriormente en realidad se expresan en forma de tablas. Su ventaja es que es fácil de entender y analizar intuitivamente, pero la desventaja es que es difícil de manejar. una gran cantidad de datos o estado continuo o espacio de acción. , manifestado en dos aspectos de capacidad de almacenamiento y generalización. como sigue:

inserte la descripción de la imagen aquí

   Para resolver los dos problemas anteriores, introducimos la aproximación de función de valor. Usamos un ejemplo para introducir la idea básica de la miopía de función de valor. Supongamos que existe un espacio de estado unidimensional S = s 1 , s 2 , . . . , sn S={s_1, s_2, ..., s_n}S=s1,s2,... ,sn, donde n es un número muy grande. Para cada estado si s_isyo, en la política π πHay un valor de estado correspondientev π ( si ) v_π(s_i) bajo πvpag( syo) , debido al gran número, podemos considerar expresar estos puntos uniformemente en forma de función, porque la función involucra menos parámetros.
inserte la descripción de la imagen aquí

   Primero, usamos la línea recta más simple para ajustar estos puntos, asumiendo que la ecuación de la línea recta es v ^ ( s , w ) = as + b \hat v(s,w)=as+bv^ (s,w )=un s+b , también se puede escribir en forma matricial,www es un vector de parámetros,ϕ ( s ) \phi(s)ϕ ( s ) es el estadossEl vector propio de s es el siguiente:
inserte la descripción de la imagen aquí

Sabemos que si necesita almacenar nn en un formularion valores de estado. Ahora, solo necesitamos almacenar dos parámetrosaaa ybbsegundo _ Cada vez que usamos statessEl valor de estado de s puede pasar porϕ T ( s ) w \phi^T(s)wϕT (s)wcalculav ^ \hat vv^ . Pero esto trae el problema de que puede no representar con precisión el valor de estado, por lo que se llama aproximación de valor.
.La
   precisión del ajuste de línea recta no es suficiente, entonces podemos usar una función de curva de orden superior, la ventaja es que puede ajustarse mejor. La desventaja es que se requieren más parámetros. Tomemos el segundo orden como ejemplo, de la siguiente manera:
inserte la descripción de la imagen aquí

En este caso, www yϕ ( s ) \phi(s)La dimensión de ϕ ( s ) aumenta y la precisión del ajuste mejora, pero vale la pena señalar que,v ^ ( s , w ) \hat v(s, w)v^ (s,w ) parasss no es lineal, pero parawww es lineal porque la parte no lineal está contenida enϕ ( s ) \phi(s)ϕ ( s )中。

Principio de aproximación de función de valor y función objetivo

   A continuación, presentamos formalmente el principio de aproximación de la función de valor: Sea v π ( s ) v_π(s)vpag( s ) representa el valor del estado real,v ^ ( s , w ) \hat v(s, w)v^ (s,w ) es la función utilizada para la aproximación. Nuestro objetivo es encontrar un parámetro óptimowww , tal quev ^ ( s , w ) \hat v(s, w)v^ (s,w ) capaz de ssen todos los estadosMejor aproximaciónv π ( s ) v_π(s) en svpag( s ) . Este problema puede verse como una evaluación de políticas, donde nuestro objetivo es evaluar el valor de un estado dada una política. Posteriormente, nos extenderemos a la mejora de políticas. Para encontrar elwww , necesitamos hacer dos pasos:
   definir la función objetivo: necesitamos construir una medidav ^ ( s , w ) \hat v(s, w)v^ (s,w )v π ( s ) v_π(s)vpagUna medida de qué tan buena es una aproximación a ( s ) , cuantificando el error entre la aproximación y el valor verdadero.
   Derivación de un algoritmo para optimizar la función objetivo: Una vez que hemos definido la función objetivo, podemos desarrollar algoritmos para actualizar iterativamente los parámetroswww para mejorar env π ( s ) v_π(s)vpag( s ) , minimizando el error.

.Definimos
   la función objetivo de la siguiente manera:
inserte la descripción de la imagen aquí
Nuestro objetivo es encontrar la mejor www puede minimizarJ ( w ) J(w)J ( w ) . donde la expectativa es para una variable aleatorias ∈ S s ∈ SsS realizado. Entonces, ¿cuál es la distribución de probabilidad de S? Hay varias formas de definir una distribución de probabilidad sobre estados.

   La primera es muy intuitiva y la más fácil de pensar, la distribución promedio. Al establecer la probabilidad de que cada estado sea 1/n 1/n1/ norte∣ S ∣ = norte |S|=nS =n , en este caso la función objetivo es:

inserte la descripción de la imagen aquí
La desventaja de esto también es obvia, porque cada estado puede no ser igualmente importante. Por ejemplo, la política rara vez puede acceder a algún estado. Por lo tanto, este enfoque no tiene en cuenta la dinámica real del proceso de Markov dada la política. La importancia de un estado se puede medir por su frecuencia de visitas en el proceso de Markov. Si rara vez se accede a un estado, puede contribuir menos al valor esperado. Por lo tanto, debemos considerar la probabilidad de acceso del estado al calcular la expectativa. Esto significa que necesitamos definir la distribución de probabilidad de los estados en términos de las probabilidades de transición de la cadena de Markov bajo una política dada. De esta manera, podemos ponderar la expectativa de acuerdo con la probabilidad de acceso del estado para reflejar con mayor precisión la dinámica real. En otras palabras, necesitamos considerar las probabilidades de transición de estado bajo una política dada para determinar la distribución real de estados y así calcular el valor esperado con mayor precisión.

Por
   lo tanto, el segundo método es una distribución estable (Distribución estacionaria). La distribución estable se refiere a la distribución en la que la distribución de probabilidad del estado permanece sin cambios después de un tiempo suficientemente largo en la cadena de Markov. Sea { re π ( s ) } s ∈ S {\{d_π(s)}\}_{s∈S}{ repag( s ) }s SExpresado en póliza π πDistribuciones estables para procesos de Markov bajo π . Por definición,d π ( s ) ≥ 0 d_π(s) ≥ 0dpag( s )0 , y∑ s ∈ S re π ( s ) = 1 \sum _{s∈S}d_π(s) = 1s Sdpag( s )=1 , en este caso la función objetivo es:

inserte la descripción de la imagen aquí

Esta función es una función de error cuadrático ponderado. Dado que los estados visitados con frecuencia tienen mayor d π ( s ) d_π(s)dpag( s ) , por lo que también tienen un peso más alto en la función objetivo que los estados poco visitados. Este diseño ponderado puede hacer que la función preste más atención a aquellos estados que ocurren con frecuencia, porque tienen un mayor impacto en el rendimiento general del sistema. Mientras que para los estados poco visitados contribuyen menos a la función objetivo debido a sus pesos más bajos. Mediante el error cuadrático ponderado se tiene en cuenta la frecuencia de visita de los diferentes estados, de manera que los estados visitados con mayor frecuencia tienen un mayor peso en la función objetivo, reflejando así con mayor precisión el desempeño del sistema.

Entendamos
a través de un ejemplo. Damos una estrategia y luego establecemos un episodio muy largo para visitar cada estado, calculado de acuerdo con la siguiente fórmula:

inserte la descripción de la imagen aquí

El resultado final es el siguiente:
inserte la descripción de la imagen aquí
De hecho, todavía podemos obtener un valor similar al valor teórico sin correr muchas veces. La derivación es la siguiente:

inserte la descripción de la imagen aquí
P π P_πPAGpages la probabilidad de transición de estado, P π = P ( s ′ ∣ s ) P_π=P(s'|s)PAGpag=P ( ss), en el ejemplo anterior,P π P_πPAGpagcomo sigue:

inserte la descripción de la imagen aquí

Por lo tanto, el vector propio de un valor propio se puede calcular:
inserte la descripción de la imagen aquí
.

Optimizar el algoritmo de la función objetivo

   Cuando se trata de optimización, nuestra primera reacción debe ser el método de gradiente, por lo que podemos obtener fácilmente la siguiente fórmula:

inserte la descripción de la imagen aquí
Encontramos que es necesario calcular una expectativa en la fórmula del gradiente. ¿Cómo podemos evitarlo? En la práctica, usamos el gradiente estocástico en lugar de la expectativa. La fórmula obtenida es la siguiente:

inserte la descripción de la imagen aquí
Pero el algoritmo anterior no es factible porque requiere un valor de estado real desconocido v π v_πvpagse estima, y ​​v π v_πvpagExactamente lo que necesitamos calcular, por lo tanto, podemos sustituir v π ( st ) v_π(s_t) por una aproximaciónvpag( st) . Tenemos dos métodos:

   Primero, use el algoritmo MC. vamos gt g_tgramotPara comenzar desde el estado st s_t en el episodiostIniciar devoluciones con descuento. Entonces, podemos usar gt g_tgramotpara aproximar v π ( st ) v_π(s_t)vpag( st) . El algoritmo es como sigue:
inserte la descripción de la imagen aquí

   En segundo lugar, utilice el algoritmo de aprendizaje TD. Will rt + 1 + γ v ^ ( st + 1 , wt ) r_{t+1} + γ \hat v(s_{t+1}, w_t)rt + 1+Cv^ (st + 1,wt) comov π ( st ) v_π(s_t)vpag( st) , el algoritmo es el siguiente:

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

v ^ \ que vv^ selección

   Anteriormente, usamos una función v ^ \hat vv^ para aproximarv π v_πvpag, entonces v ^ \hat vv^ ¿ Cómo elegir el correcto? Básicamente, existen dos métodos:
   el primer método es usar el método lineal, que se usa ampliamente en el pasado:
inserte la descripción de la imagen aquí

  El segundo enfoque es la red neuronal ahora ampliamente utilizada como una función no lineal
.

análisis de ejemplo

  Tomemos como ejemplo un mundo de cuadrícula de 5x5, rprohibido = rlímite = − 1 r_{prohibido} = r_{límite} = -1rf or bi dd e n=rlímite _ _ _ _ _ _=1robjetivo = 1 r_{objetivo} = 1robjetivo _ _ _ _ _=1 yγ = 0,9 γ = 0,9C=0.9
  Primero, damos una estrategia: para cualquier( s , a ) (s,a)( s ,a ) , tenemosπ( a ∣ s ) = 0.2 π(a|s)= 0.2π ( un s )=0.2
  Nuestro objetivo es evaluar los valores de estado de esta política (problema de evaluación de políticas), luego hay 25 valores de estado en total, y a continuación mostraremos que estos valores de estado se pueden aproximar usando menos de 25 parámetros .
inserte la descripción de la imagen aquí

   De acuerdo con la estrategia dada, se obtienen 500 episodios, cada uno con 500 pasos, y se selecciona aleatoriamente un estado-acción para comenzar, sujeto a una distribución uniforme.

   Primero, calculamos el algoritmo TD basado en la forma de la tabla, y los resultados son los siguientes:
inserte la descripción de la imagen aquí
   Veamos si TD-Linear también puede estimar bien el valor del estado Primero, seleccionamos el vector propio y obtenemos la expresión, como sigue: Los
inserte la descripción de la imagen aquí
resultados son los siguientes:
inserte la descripción de la imagen aquí
Se puede comprobar que la tendencia obtenida es correcta, por lo que podemos utilizar una superficie de orden superior para ajustar. Primero, seleccionamos el vector propio y obtenemos la expresión, de la siguiente manera:
inserte la descripción de la imagen aquí
El resultado es el siguiente:
inserte la descripción de la imagen aquí
.

Sarsa + aproximación de función de valor

   poner v ^ \ sombrero vv^ reemplazado porq ^ \hat qq^, obtenga el algoritmo de Sarsa con aproximación de función numérica, de la siguiente manera:
inserte la descripción de la imagen aquí

De hecho, el algoritmo anterior está haciendo una evaluación de la estrategia. Para obtener la estrategia óptima, podemos combinar la evaluación de la estrategia y la estrategia de optimización. El pseudocódigo es el siguiente:
inserte la descripción de la imagen aquí

Q-learning + aproximación de función de valor

   Comparado con Sarsa, el q ^ ( st + 1 , at + 1 , wt ) \hat q(s_{t+1},a_{t+1},w_t)q^( st + 1,at + 1,wt)换成maxa ∈ A ( st + 1 ) q ^ ( st + 1 , at + 1 , wt ) max_{a∈A(s_{t+1})}\hat q(s_{t+1},a_ {t+1},w_t)máx .un un ( st + 1)q^( st + 1,at + 1,wt) , obtenga el algoritmo Q-learning con aproximación de función numérica, de la siguiente manera:
inserte la descripción de la imagen aquí
on-policy El pseudocódigo es el siguiente:
inserte la descripción de la imagen aquí

Q-aprendizaje profundo

   Deep Q-learning o deep Q-network (DQN) es el algoritmo más exitoso para introducir redes neuronales profundas en el aprendizaje por refuerzo. Entre ellos, el papel de la red neuronal es similar a una función no lineal. Su función objetivo es la siguiente:

inserte la descripción de la imagen aquí
   Este es en realidad el error de la ecuación óptima de Bellman, porque R + γ maxa ∈ A ( s ′ ) q ˉ ( s ′ , a , w ) − q ˉ ( S , A , w ) R+γmax_{a∈A( s')}\bar q(s',a,w)-\bar q(S,A,w)R+γma xun un ( s )qˉ( s ,un ,w )qˉ( S ,un ,w ) debe tener un valor de cero.
inserte la descripción de la imagen aquí

   Con la función objetivo, el siguiente paso es optimizar la función: ¡descenso de gradiente! ¿Cómo calcular el gradiente de la función objetivo? Pero hay un problema Ambas partes de la función objetivo contienen parámetros www , de la siguiente manera:
inserte la descripción de la imagen aquí
   La solución profunda de Q-learning es paraR + γ maxa ∈ A ( s ′ ) q ˉ ( s ′ , a , w ) R+γmax_{a∈A(s')}\bar q(s ' ,a,w)R+γma xun un ( s )qˉ( s ,un ,w ) se asigna ayyy y y y contienewww , luego supongayywwen yw es una constante. De la siguiente manera:
inserte la descripción de la imagen aquí
   Entonces, la función objetivoJ ( w ) J(w)J ( w ) es solo unwww , será relativamente simple resolver su gradiente A continuación, echemos un vistazo al método específico. Para realizar esta técnica, se introducen dos redes en DeepQ-learning.La primera red se denomina red principal y corresponde aq ^ ( s , a , w ) \hat q(s,a,w)q^( s ,un ,w ) su argumento eswww ; La segunda red es la red objetivo, correspondiente aq ^ ( s , a , w T ) \hat q(s,a,w_T)q^( s ,un ,wT) , el parámetro esw T w_TwTEl subíndice T significa objetivo. Esta red principal es en realidad su www se está actualizando todo el tiempo, es decir, cuando entran nuevas muestras enwww se actualizará, pero la red de destino no se actualiza todo el tiempo, actualizaráel www se asigna para asignar para asignar. La fórmula obtenida es la siguiente:
inserte la descripción de la imagen aquí
primero supongamosw T w_TwTes fijo, y luego para calcular el wwEl gradiente de w y luego optimizaréJJJ. _ Supongamos quew T w_TwTEs fijo, y usted puede sentir que esto es incomprensible. Pero la lógica aquí es asumir que hay un w T w_TwTes quedarse quieto, luego puedo ir a actualizar www , actualizado por un tiempo, y luego continúa actualizando estew T w_TwT, así que finalmente w T w_TwTsuma www puede converger al valor óptimo. Entonces, es fácil obtener su fórmula de gradiente:


Lo anterior es la idea básica de Deep Q-learning: utilizar el algoritmo de descenso de gradiente para minimizar la función objetivo. El proceso de optimización de Deep Q-learning no solo introduce dos redes, sino que también experimenta la reproducción.

   Entonces, ¿qué es la repetición de experiencia? Después de recolectar muestras empíricas, no las usamos en el orden en que fueron recolectadas, porque las almacenamos en un conjunto llamado búfer de reproducción búfer de reproducción B = { ( s , a , r , s ′ ) } B = {\{ (s, a, r, s')}\}B={( s ,un ,r ,s )}Cada vez que entrenamos una red neuronal, extraemos aleatoriamente un pequeño lote de muestras del área de retrolavado para el entrenamiento. El proceso de extracción de muestras se denomina repetición de experiencia y la extracción debe seguir una distribución uniforme. Las razones para seguir una distribución uniforme son las siguientes:

inserte la descripción de la imagen aquí
R : pags ( R ∣ S , A ) R:p(R|S,A)R:pags ( R S ,A )S ′ : p ( S ′ l S , A ) S' : p(S'lS,A)S:pag ( S lS,A ) ,RRR yS'S'Sestá determinado por el modelo del sistema. Aquí ponemos( S , A ) (S, A)( S ,A ) como un índice, porque puede indicar qué comportamiento toma qué estado, entonces( S , A ) (S,A)( S ,A ) se considera como una única variable aleatoria, suponiendo que la distribución que se cumple es( S , A ) : d (S,A) :d( S ,un ):d ,dd¿ Cuál es la distribución de d ? Discutámoslo:
   Hay un problema que matemáticamente requiere( S , A ) (S,A)( S ,A ) es una distribución uniforme, pero debe haber una secuencia al recolectar datos, y se recolecta de acuerdo con otras distribuciones de probabilidad. Nuestro método es mezclar todas las muestras, romper la correlación entre muestras sucesivas y luego muestrear uniformemente sin discriminación.
.Ahora
damos el pseudocódigo de la versión fuera de política de Deep Q-learning:

inserte la descripción de la imagen aquí
Debido a que está fuera de la política, asumimos que ya existe una política de comportamiento π b π_bPisegundo, según esta estrategia, muestreamos una gran cantidad de muestras y colocamos estas muestras en un conjunto como un búfer de reproducción. El primer paso es muestrear aleatoria y uniformemente del búfer de reproducción; el segundo paso es (s, a) (s, a) en función de estas muestras( s ,a ) Introduzca la red neuronal para calculary T y_TyT; El tercer paso es poner ( s , a , y T ) (s, a,y_T)( s ,un ,yT) Este lote de datos se ingresa en la red neuronal para entrenamiento, para actualizar el parámetrowww ; Cuarto, no repita los pasos anteriores, cicleCCDespués de C veces ponerwwEl valor de w se asigna a w T w_TwTSolo actualiza w T w_TwT

Análisis profundo de casos de Q-learning

   Nuestro objetivo es encontrar todos los ( s , a ) (s,a)( s ,a ) El correspondiente valor óptimo de acción. Después de obtener el valor estimado del valor de acción óptimo, la política óptima | codiciosa se puede obtener de inmediato.

Datos del caso:

1、只用一个 episode 来训练Deep Q-learning
2、这个episode是由一个探索性的 behavior policy所得到的,每个 action 的概率都是相同,都是 0.2。
3、这个 episode 只有 1000 步,相对来说数据量是比较少的
4、用到的的神经网络是一个浅层的神经网络 ,隐藏层只有100 个神经元

Los resultados obtenidos son los siguientes:
inserte la descripción de la imagen aquí

Supongo que te gusta

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