La aproximación de funciones es básicamente un problema de regresión (en el sentido general, es decir, opuesto a la clasificación donde la clase es discreta), es decir, uno intenta aprender un mapeo de funciones desde la entrada (en su caso F( s , a ) ) a un valor real salida Q ( s , a ) . Dado que no tenemos una tabla completa de todos los valores de entrada / salida, sino que aprendemos y estimamos Q ( s , a ) al mismo tiempo, los parámetros (aquí: los pesos w ) no pueden calcularse directamente a partir de los datos. Un enfoque común aquí es usar el descenso de gradiente .
Aquí está el algoritmo general para aprender Q ( s , a ) con aproximación de función de valor
dónde ...
- α ∈ [ 0 , 1 ] es la tasa de aprendizaje
- γ∈ [ 0 , 1 ] es la tasa de descuento
- m a xuna′Q ( s′, una′) es la acciónuna′ en estados′ maximizandoQ ( s′, Un )
- ∇⃗ wQ ( s , a )es el gradiente deQ ( s , a )enw. En su caso lineal, el gradiente es simplemente un vector( f1( S , una ) , . . . , fnorte( s , a ) )
Los parámetros / actualización de pesos (4to paso) se pueden leer de esta manera:
- ( r + γ∗ m a x′unaQ ( s′, una′) ) - ( Q ( s , a ) ) es el error entre la predicciónQ ( s , a ) y el valor "real" paraQ ( s , a ) , que es la recompensar obtenidoahora PLUSde lo esperado, recompensa descontado siguiendo la política codiciososdespués γ∗ m a x′unaQ ( s′, una′)
- Por lo tanto, el parámetro / vector de peso se desplaza en la dirección más pronunciada (dada por el gradiente ∇⃗ wQ ( s , a ) ) por la cantidad del error medido, ajustado por α .
Fuente principal:
Capítulo 8 Aproximación de valor del libro (recomendado en general) Aprendizaje de refuerzo: una introducción de Sutton y Barto (primera edición). El algoritmo general se ha modificado, ya que comúnmente se hace para calcular Q ( s , a ) lugar de V( s ) . También eliminé los rastros de elegibilidad mi para centrarme en el descenso del gradiente, por lo tanto, utilizo solo copias de seguridad de un paso
Más referencias