En inteligencia artificial , más precisamente en aprendizaje automático , Q-learning es una técnica de aprendizaje por refuerzo . Esta técnica no requiere ningún modelo inicial del entorno . La letra 'Q' denota la función que mide la calidad de una acción realizada en un estado dado del sistema.
Este método de aprendizaje le permite aprender una política, que indica qué acción realizar en cada estado del sistema. Funciona aprendiendo una función de valor de acción de estado notada que le permite determinar la ganancia potencial, es decir, la recompensa a largo plazo , proporcionada al realizar una determinada acción en un estado determinado siguiendo una política óptima. Cuando el agente conoce / aprende esta función de valor de acción-estado, la política óptima se puede construir seleccionando la acción de valor máximo para cada estado, es decir, seleccionando la acción que maximiza el valor cuando el agente está en el estado .
Uno de los puntos fuertes del -aprendizaje es que permite comparar las probables recompensas de realizar las acciones accesibles sin tener ningún conocimiento inicial del entorno. En otras palabras, aunque el sistema se modela como un proceso de decisión de Markov (terminado), el agente aprende no sabe y el algoritmo - el aprendizaje no lo usa.
Esta noción de aprendizaje por recompensa se introdujo originalmente en la tesis de Watkins en 1989. Es una variante del aprendizaje por diferencias temporales. Posteriormente, se comprobó que - el aprendizaje converge hacia una política óptima, es decir que conduce a maximizar la recompensa total de las sucesivas etapas.
La situación consta de un agente, un conjunto de estados y acciones . Al realizar una acción , el agente pasa de un estado a otro y recibe una recompensa (es un valor numérico). El objetivo del agente es maximizar su recompensa total. Esto se logra aprendiendo la acción óptima para cada estado. La acción óptima para cada estado es la que tiene la mayor recompensa a largo plazo. Esta recompensa es la suma ponderada de la expectativa matemática de las recompensas de cada paso futuro desde el estado actual. El peso de cada paso puede ser dónde está el retraso entre el paso actual y el futuro y un número entre 0 y 1 (es decir ) llamado factor de descuento .
El algoritmo calcula una función de valor de estado de acción:
Antes de que comience el aprendizaje, la función se inicializa arbitrariamente. Luego, con cada elección de acción, el agente observa la recompensa y el nuevo estado (que depende del estado anterior y de la acción actual). El corazón del algoritmo es una actualización de la función de valor . La definición de la función de valor se actualiza en cada paso de la siguiente manera:
donde es el nuevo estado, es el estado anterior, es la acción elegida, es la recompensa recibida por el agente, es un número entre 0 y 1, llamado factor de aprendizaje , y es el factor de actualización .
Un episodio del algoritmo termina cuando es un estado final. Sin embargo, - el aprendizaje también puede aplicarse a tareas que no son episódicos. Si el factor de descuento es menor que 1, el valor del estado de acción es finito incluso para el infinito.
NB: Para cada estado final , el valor de nunca se actualiza y mantiene su valor inicial. Por lo general, se inicializa a cero.
Aquí está el pseudocódigo de Q-learning.
initialiser Q[s, a] pour tout état s, toute action a de façon arbitraire, mais Q(état terminal, a) = 0 pour toute action a répéter //début d'un épisode initialiser l'état s répéter //étape d'un épisode choisir une action a depuis s en utilisant la politique spécifiée par Q (par exemple ε-greedy) exécuter l'action a observer la récompense r et l'état s' Q[s, a] := Q[s, a] + α[r + γ maxa' Q(s', a') - Q(s, a)] s := s' a := a' jusqu'à ce que s soit l'état terminalEl factor de aprendizaje determina cuánto superará la nueva información calculada a la anterior. Si = 0, el agente no aprende nada. Por el contrario, si = 1, el agente siempre ignora todo lo que ha aprendido y solo considerará la última información.
En un entorno determinista, la velocidad de aprendizaje es óptima. Cuando el problema es estocástico, el algoritmo converge en determinadas condiciones en función de la velocidad de aprendizaje. En la práctica, a menudo esta velocidad corresponde a toda la duración del proceso.
El factor de descuento γ determina el tamaño de las recompensas futuras. Un factor de 0 haría que el agente se volviera miope al considerar solo las recompensas actuales, mientras que un factor cercano a 1 también traería las recompensas más distantes. Si el factor de descuento es cercano o igual a 1, el valor de puede divergir.
Como Q- learning utiliza el estimador máximo, Q- learning sobreestima el valor de las acciones y, por lo tanto, en entornos ruidosos, el aprendizaje es lento. Este problema se resuelve en la variante denominada doble Q- aprendizaje que utiliza dos funciones de evaluación y se aprende en dos conjuntos diferentes de experiencias. La actualización se realiza transversalmente:
, yDado que el valor estimado se evalúa utilizando otra política, se resuelve el problema de la sobreestimación. El aprendizaje del algoritmo establecido se puede realizar mediante técnicas de aprendizaje profundo, lo que da como resultado DQN ( redes Q profundas ). Entonces podemos tener Double DQN, para obtener un mejor rendimiento que con el algoritmo DQN original.