¿Qué es exactamente bootstrapping en el aprendizaje por refuerzo?

23

Aparentemente, en el aprendizaje por refuerzo, el método de diferencia temporal (TD) es un método de arranque. Por otro lado, los métodos de Monte Carlo no son métodos de arranque.

¿Qué es exactamente bootstrapping en RL? ¿Qué es un método de arranque en RL?

nbro
fuente

Respuestas:

22

Bootstrapping en RL se puede leer como "usando uno o más valores estimados en el paso de actualización para el mismo tipo de valor estimado".

En la mayoría de las reglas de actualización de TD, verá algo como esta actualización SARSA (0):

Q(s,a)Q(s,a)+α(Rt+1+γQ(s,a)Q(s,a))

El valor es una estimación del valor verdadero de , y también se denomina objetivo TD. Es un método de arranque porque en parte estamos usando un valor Q para actualizar otro valor Q. Hay una pequeña cantidad de datos reales observados en forma de , la recompensa inmediata por el paso, y también en la transición de estado .Rt+1+γQ(s,a)Q(s,a)Rt+1ss

Contraste con Monte Carlo, donde la regla de actualización equivalente podría ser:

Q(s,a)Q(s,a)+α(GtQ(s,a))

Donde Gt era la recompensa total con descuento en el momento t , suponiendo en esta actualización, que comenzó en el estado s , tomando la acción a , luego siguió la política actual hasta el final del episodio. Técnicamente, Gt=k=0Tt1γkRt+k+1 donde Tes el paso de tiempo para la recompensa terminal y el estado. En particular, este valor objetivo no usa ninguna estimación existente (de otros valores Q), solo usa un conjunto de observaciones (es decir, recompensas) del entorno. Como tal, se garantiza que es una estimación imparcial del valor verdadero de Q(s,a) , ya que técnicamente es una muestra de Q(s,a) .

La principal desventaja de bootstrapping es que está sesgado hacia cualesquiera que sean sus valores iniciales de Q(s,a) (o V(s) ). Es muy probable que estén equivocados, y el sistema de actualización puede ser inestable en su conjunto debido a demasiada autorreferencia y a la falta de datos reales; este es un problema con el aprendizaje fuera de la política (por ejemplo, Q-learning) que utiliza redes neuronales.

Sin bootstrapping, usando trayectorias más largas, a menudo hay una gran varianza , lo que, en la práctica, significa que necesita más muestras antes de que las estimaciones converjan. Entonces, a pesar de los problemas con bootstrapping, si se puede hacer que funcione, puede aprender significativamente más rápido, y a menudo se prefiere a los enfoques de Monte Carlo.

Puede comprometerse entre los métodos basados ​​en muestras de Monte Carlo y los métodos TD de un solo paso que arrancan utilizando una combinación de resultados de diferentes trayectorias de longitud. Esto se llama aprendizaje TD ( λ ) , y hay una variedad de métodos específicos como SARSA ( λ ) o Q ( λ ).

Neil Slater
fuente
1
Esto probablemente debería ser otra pregunta. Sin embargo, si desea responder, ¿por qué exactamente y la estimación de Q ( s , a ) ? Rt+1+γQ(s,a)Q(s,a)
nbro
1
@nbro: Porque en la convergencia, (estas ecuaciones y la mayoría de las RL son impulsadas por las ecuaciones de Bellman para MDP). Al observar un evento real que ocurrió a partir del estado sy la acción aQ(s,a)=E[Rt+1+γQ(St+1,At+1)|St=s,At=a]sa, entonces estás esencialmente tomando muestras de esa expectativa. Sin embargo, el problema es que el valor que tiene para probablemente aún no ha convergido, por lo que la muestra está sesgada. Q(St+1,At+1)
Neil Slater el
1
¿Qué le impide a uno usar métodos MC como una fase de grabación antes de cambiar a bootstrapping? ¿O podría considerarse esto un sub-caso de ? λTD
n1k31t4
1
@ n1k31t4: Nada impide hacer esto, y debería ser un enfoque RL válido. Sería diferente a TD ( ), pero motivado por la misma idea de tratar de obtener buenas características de ambos algoritmos. Debería probarlo y comparar la eficiencia del aprendizaje con TD ( λ ): todavía tiene un hiperparámetro para sintonizar, que es el número de episodios para ejecutar MC. Una versión más general sería permitir que cambie λ : comience con λ = 1 y disminuya a, por ejemplo, 0.4 o cualquier valor que parezca más óptimo. Sin embargo, eso tiene 2 hiperparámetros, tasa de descomposición y objetivo para λλλλλ=10.4λ
Neil Slater
@NeilSlater, cuando se usa bootstrapping, ¿puede converger? No puedo entender por qué debería, ya que Q (s ', a') es solo una suposición arbitraria que distorsiona la estimación de Q (s, a). Además, ¿por qué MC tiene una alta varianza en comparación con TD?
d56
4

En general, bootstrapping en RL significa que actualiza un valor basado en algunas estimaciones y no en algunos valores exactos . P.ej

Actualizaciones incrementales de evaluación de políticas de Monte Carlo:

V(St)=V(St)+α(GtV(St))

TD (0) Actualizaciones de evaluación de políticas:

V(St)=V(St)+α(Rt+1+γV(St+1)V(St))

En TD (0), el retorno a partir del estado se estima (arrancado) por R t + 1 + γ V ( S t + 1 ) mientras que en MC usamos el retorno exacto G t .sRt+1+γV(St+1) Gt

plopd
fuente