¿Por qué el Q-learning no converge cuando se usa la aproximación de funciones?

12

El algoritmo de aprendizaje Q tabular está garantizado para encontrar la función Q óptima , Q , siempre que las siguientes condiciones (lascondiciones Robbins-Monro) con respecto a la tasa de aprendizaje se satisfacen

  1. tαt(s,a)=
  2. tαt2(s,a)<

donde αt(s,a) significa la tasa de aprendizaje utilizada al actualizar el valor Q asociado con el estado s y la acción a en el paso de tiempo t , donde se supone que 0αt(s,a)<1 es verdadero, para todos los Estadoss y accionesa .

Aparentemente, dado que 0αt(s,a)<1 , para que las dos condiciones sean verdaderas, todos los pares de estado-acción deben visitarse infinitamente a menudo: esto también se afirma en el libro Aprendizaje de refuerzo: una introducción , aparte del hecho de que esto debería ser ampliamente conocida y es la razón de ser del uso de la ϵ política -greedy (o políticas similares) durante el entrenamiento.

Una prueba completa que muestra que Q -learning encuentra la función Q óptima se puede encontrar en el artículo Convergence of Q-learning: A Simple Proof (por Francisco S. Melo). Utiliza conceptos como el mapeo de contracción para definir la Q óptimaQ función (ver también ¿Cuál es el operador de Bellman en el aprendizaje por refuerzo? ), Que es un punto fijo de este operador de contracción. También usa un teorema (n. 2) con respecto al proceso aleatorio que converge a 0 , dados algunos supuestos. (La prueba puede no ser fácil de seguir si no eres un matemático).

Si se usa una red neuronal para representar la función Q , haga las garantías de convergencia de Q -learning siguen vigentes? ¿Por qué (o no) converge Q-learning cuando se utiliza la aproximación de funciones? ¿Existe una prueba formal de tal no convergencia de Q -learning usando aproximación de funciones?

Estoy buscando diferentes tipos de respuestas, de aquellas que dan solo la intuición detrás de la no convergencia de Q -learning cuando se usa la aproximación de funciones a las que proporcionan una prueba formal (o un enlace a un documento con una prueba formal).

nbro
fuente
2
Gran pregunta!
John Doucette
El libro al que hizo referencia habla sobre este problema en el capítulo 11 para que pueda leerlo. Además, no creo que haya una prueba formal de por qué sucede esto, pero hay algunos ejemplos que muestran divergencia incluso en entornos simples (por ejemplo, Tsitsiklis y van Roy).
Brale_

Respuestas:

8

Aquí hay una respuesta de descripción intuitiva:

La aproximación de funciones se puede hacer con cualquier función parametrizable. Considere el problema de un espacio Q(s,a) donde s son los reales positivos, a es 0 o 1 , y la verdadera función Q(s,0)=s2 es Q ( s , 0 ) = s 2 y Q(s,1)=2s2 , para todos los estados. Si su aproximador de función es Q(s,a)=ms+na+b , no existen parámetros que puedan representar con precisión la verdaderafunciónQ (estamos tratando de ajustar una línea a una función cuadrática). En consecuencia, incluso si elige una buena tasa de aprendizaje y visita todos los estados infinitamente, su función de aproximación nunca convergerá a la verdaderafunciónQ

Y aquí hay un poco más de detalle:

  1. Redes neuronales funciones aproximadas . Una función puede aproximarse en mayor o menor grado utilizando polinomios más o menos complejos para aproximarla. Si está familiarizado con la aproximación de la serie Taylor, esta idea debería parecer bastante natural. Si no, piense en una función como una onda sinusoidal durante el intervalo [0- π/2 ). Puede aproximarlo (mal) con una línea recta. Puede aproximarlo mejor con una curva cuadrática. Al aumentar el grado del polinomio que usamos para aproximar la curva, podemos obtener algo que se ajuste más y más a la curva.
  2. Las redes neuronales son aproximadores de funciones universales . Esto significa que, si tiene una función, también puede crear una red neuronal que sea lo suficientemente profunda o amplia como para aproximar la función que ha creado a un grado arbitrariamente preciso. Sin embargo, cualquier topología de red específica que elija no podrá aprender todas las funciones, a menos que sea infinitamente amplia o infinitamente profunda. Esto es análogo a cómo, si elige los parámetros correctos, una línea puede ajustarse a dos puntos, pero no a 3 puntos. Si eliges una red que tiene un cierto ancho o profundidad finita, siempre puedo construir una función que necesite algunas neuronas más para ajustarse correctamente.

  3. Los límites de Q-learning se mantienen solo cuando la representación de la función Q es exacta . Para ver por qué, suponga que elige aproximar su función Q con una interpolación lineal. Si la verdadera función puede tomar alguna forma, entonces claramente el error en nuestra interpolación puede hacerse ilimitadamente grande simplemente construyendo una función de función Q similar a XOR, y ninguna cantidad de tiempo extra o datos nos permitirán reducir este error . Si usa un aproximador de funciones, y la verdadera función que intenta ajustar no esalgo que la función puede aproximarse arbitrariamente bien, entonces su modelo no convergerá correctamente, incluso con una tasa de aprendizaje y una tasa de exploración bien elegidas. Usando la terminología de la teoría del aprendizaje computacional, podríamos decir que las pruebas de convergencia para el aprendizaje Q han asumido implícitamente que la verdadera función Q es un miembro del espacio de hipótesis del cual seleccionará su modelo.

John Doucette
fuente
¿Dónde podemos ver en la prueba que mencioné que "los límites de Q-learning se mantienen solo cuando la representación de la función Q es exacta" es verdadera?
nbro
Entonces, podemos aproximar cualquier función (razonable) usando alguna red neuronal (arquitectura), pero, dada una arquitectura de red neuronal fija (que debemos elegir al comienzo de la fase de entrenamiento del Q -learning), Q -learning podría no converger usando esa arquitectura específica Z , porque Z podría no ser lo suficientemente expresivo para representar Q . ZQQZZQ
nbro
@nbro La prueba no dice eso explícitamente, pero supone una representación exacta de la función Q (es decir, que los valores exactos se calculan y almacenan para cada par de estado / acción). Para espacios de estado infinito, está claro que esta representación exacta puede ser infinitamente grande en el peor de los casos (ejemplo simple: let Q (s, a) = sth digit of pi). Su segundo comentario lo resume bien. Más formalmente, si la hipótesis verdadera Q * no es un elemento del espacio de hipótesis H del que está seleccionando un modelo, no puede converger a Q *, incluso con tiempo o datos infinitos.
John Doucette
4

Hasta donde sé, todavía es un problema abierto obtener una comprensión realmente clara y formal de por qué / cuándo tenemos una falta de convergencia, o, peor aún, a veces un peligro de divergencia. Normalmente se atribuye a la "tríada mortal" (ver 11.3 de la segunda edición del libro de Sutton y Barto), la combinación de:

  1. Aproximación de funciones, Y
  2. Bootstrapping (utilizando nuestras propias estimaciones de valor en el cálculo de nuestros objetivos de entrenamiento, como lo hizo Q -learning), Y
  3. Entrenamiento fuera de política ( Q -learning es, de hecho, fuera de política).

Eso solo nos da una descripción (posiblemente no exhaustiva) de casos en los que tenemos una falta de convergencia y / o un peligro de divergencia, pero aún no nos dice por qué sucede en esos casos.


La respuesta de John ya proporciona la intuición de que parte del problema es simplemente que el uso de la aproximación de funciones puede conducir fácilmente a situaciones en las que su aproximador de funciones no sea lo suficientemente poderoso como para representar la verdaderaQ

Personalmente, creo que esta intuición ayuda a entender por qué el algoritmo no puede garantizar la convergencia a la solución óptima, pero aún intuitivamente espero que sea capaz de "converger" a alguna solución "estable" que sea la mejor aproximación posible dada Las restricciones inherentes a la representación de la función elegida. De hecho, esto es lo que observamos en la práctica cuando cambiamos a la capacitación sobre políticas (por ejemplo, Sarsa), al menos en el caso de los aproximadores de función lineal.


Q(s,a)(s,a)Q, generalmente se actualizan hacia la "dirección" correcta. Intuitivamente, esto significa que, en la configuración tabular, en espera , arreglaremos lentamente, gradualmente cualquier error en cualquier entrada de forma aislada, sin dañar posiblemente otras entradas.

Q(s,a)(s,a)Q


maxmax

Q(s,a) :

Q(s,a)Q(s,a)+α[maxaQ(s,a)Q(s,a)].

maxaQ(s,a)QQ(s,a)maxaQ(s,a)


Finalmente, otro artículo (aún más reciente) que sospecho que es relevante para esta pregunta es Diagnóstico de cuellos de botella en algoritmos de aprendizaje profundo Q , pero desafortunadamente aún no he tenido tiempo de leerlo con suficiente detalle y resumirlo adecuadamente.

Dennis Soemers
fuente
1
¿Pero el uso de una red neuronal no se debe también al supuesto de que ciertos estados son muy similares a cada uno? Los estados muy similares (por ejemplo, cuadros sucesivos en un juego) a menudo tienen acciones óptimas muy similares (o iguales), por lo que no estoy seguro de que la explicación en el primer documento sea válida (debería leerla para comprender completamente sus puntos principales).
nbro
1
@nbro Sí, a menudo la generalización se considera una ventaja más que un problema precisamente por esa razón. Si funciona como "previsto", puede ser muy poderoso y acelerar el aprendizaje porque transferimos lo que aprendemos a estados / acciones similares, en lugar de aprender para cada estado / acción ligeramente diferente de forma aislada. Pero también puede conducir a problemas, especialmente en teoría pero también en la práctica. Es como una "espada de doble filo", supongo.
Dennis Soemers
1
@DennisSoemers Respuesta súper interesante. El punto de aprendizaje Q no delirante tiene mucho sentido. Encontrar la función Q correcta significa encontrar un punto fijo para su regla de actualización, pero parece que la aproximación de la función podría conducir a actualizaciones cíclicas en Q-learning si lo piensa de esta manera.
John Doucette