aprendizaje por refuerzo profundo

Cómo la IA se enseña a sí misma a través del aprendizaje por refuerzo profundo

En esta serie de cuatro partes, le mostraré cómo funciona el proceso de decisión de Markov y la teoría matemática que necesita saber para comprender el aprendizaje por refuerzo profundo.

Este es el primer artículo de la serie de varias partes sobre agentes de IA de autoaprendizaje o, para decirlo de manera más precisa, aprendizaje de refuerzo profundo. El objetivo de la serie no es solo brindarle una descripción general, sino brindarle una exploración más profunda de la teoría, las matemáticas y la implementación detrás de los métodos más populares y efectivos de aprendizaje por refuerzo profundo.

El aprendizaje de refuerzo profundo está en aumento . Ningún otro subcampo del aprendizaje profundo ha sido más discutido en los últimos años por los investigadores, pero también en los medios de comunicación en general.

¿Qué es el aprendizaje por refuerzo profundo?

Podemos resumir el aprendizaje por refuerzo profundo como la construcción de un algoritmo (o un agente de IA) que aprende directamente de su interacción con un entorno. El entorno puede ser el mundo real, un juego de computadora, una simulación o incluso un juego de mesa. Al igual que un ser humano, el agente de IA aprende de las consecuencias de sus acciones, en lugar de que un programador le enseñe explícitamente. En otras palabras, se podría decir que estos algoritmos aprenden de la manera difícil.

Los logros más destacados en el aprendizaje profundo se deben al aprendizaje de refuerzo profundo de Alpha Go de Google que venció al mejor ajedrecista humano del mundo en el juego de mesa Go (un logro que se suponía imposible un par de años antes). El jugador de ajedrez perdió ante los agentes de IA de DeepMind que aprenden a caminar, correr y superar obstáculos (ver más abajo).

Desde 2014, otros agentes de IA superan a los humanos en juegos de Atari de la vieja escuela como Breakout.

Lo más sorprendente de todos estos ejemplos es el hecho de que ningún ser humano programó o enseñó explícitamente a estos agentes de IA. Los propios agentes aprendieron por el poder del aprendizaje profundo y de refuerzo.

Entonces, ¿cómo funciona eso? Comenzaré demostrando la base matemática necesaria para abordar las áreas más prometedoras en este subcampo de la IA.

Relacionado: Inteligencia artificial frente a aprendizaje automático frente a aprendizaje profundo

Aprendizaje por refuerzo profundo en pocas palabras

Podemos resumir el aprendizaje por refuerzo profundo como la construcción de un algoritmo (o un agente de IA) que aprende directamente de su interacción con un entorno (figura 5). El entorno puede ser el mundo real, un juego de computadora, una simulación o incluso un juego de mesa, como Go o ajedrez. Al igual que un ser humano, el agente de IA aprende de las consecuencias de sus acciones, en lugar de que un programador le enseñe explícitamente. En otras palabras, se podría decir que estos algoritmos aprenden de la manera difícil.

aprendizaje de refuerzo profundo
Figura 5: Representación esquemática del aprendizaje por refuerzo profundo.

En el aprendizaje por refuerzo profundo, una red neuronal representa al agente de IA. La red neuronal interactúa directamente con su entorno. La red observa el estado actual del entorno y decide qué acción tomar (por ejemplo, moverse a la izquierda, a la derecha, etc.) según el estado actual y sus experiencias pasadas. Según la acción que realice el agente de IA, puede recibir una recompensa o una consecuencia. La recompensa o consecuencia es simplemente un escalar. La consecuencia negativa (por ejemplo, -5) ocurre si el agente se desempeña mal y la recompensa positiva (por ejemplo, +5) ocurre si el agente se desempeña bien. 

aprendizaje de refuerzo profundo

La calidad de la acción se correlaciona directamente con la cantidad de la recompensa y predice la probabilidad de que el agente resuelva el problema (por ejemplo, aprender a caminar). En otras palabras, el objetivo de un agente es aprender a tomar acciones en cualquier circunstancia que maximice la recompensa acumulada a lo largo del tiempo.

Relacionado: Solicitar funciones de aprendizaje automático integradas

Proceso de decisión de Markov

Un proceso de decisión de Markov (MDP), un proceso de control estocástico de tiempo discreto, es el mejor enfoque que tenemos hasta ahora para modelar el entorno complejo de un agente de IA. Todo problema que el agente pretende resolver puede considerarse como una secuencia de estados: S1, S2, S3… Sn (un estado puede ser, por ejemplo, un Go o una configuración de tablero de ajedrez). El agente realiza acciones y pasa de un estado a otro. A continuación, le mostraré las matemáticas que determinan qué acción debe tomar el agente en cualquier situación dada.

Procesos de Markov

Un proceso de Markov (o cadena de Markov) es un modelo estocástico que describe una secuencia de posibles estados en los que el estado actual depende únicamente del estado anterior. Esto también se llama la propiedad de Markov (ecuación 1). Para el aprendizaje por refuerzo, significa que el siguiente estado de un agente de IA solo depende del último estado y no de todos los estados anteriores.

aprendizaje de refuerzo profundo
Ecuación 1: propiedad de Markov.

Un proceso de Markov es estocástico, lo que significa que la transición del estado actual sal siguiente s’solo puede ocurrir con cierta probabilidad Pss’(ecuación 2). En un proceso de Markov, un agente al que se le dice que vaya a la izquierda lo haría solo con una cierta probabilidad de, digamos, 0,998. Con una probabilidad tan pequeña, el lugar donde terminará el agente depende del entorno, por ejemplo, el tablero de ajedrez y la disposición de las piezas en él.

aprendizaje de refuerzo profundo
Ecuación 2: Probabilidad de transición del estado s al estado s’.

Podemos considerar Pss’can una entrada en una matriz de transición de estado Pque define las probabilidades de transición de todos los estados sa todos los estados sucesores s’(ecuación 3).

aprendizaje de refuerzo profundo
Ecuación 3: matriz de probabilidad de transición.

Recuerde: un proceso de Markov es una tupla < S, P>. Ses un conjunto (finito) de estados. Pes una matriz de probabilidad de transición de estado.

Proceso de recompensa de Markov

Un proceso de recompensa de Markov también es una tupla <S, P, R>. Aquí Restá la recompensa que el agente espera recibir en el estado s (ecuación 4). El agente de IA está motivado por el hecho de que, para lograr un objetivo determinado (por ejemplo, ganar un juego de ajedrez), ciertos estados (configuraciones del juego) son más prometedores que otros en términos de estrategia y potencial para ganar el juego.

aprendizaje de refuerzo profundo
Ecuación 4: Recompensa esperada en un estado s.

El tema principal de interés es la recompensa total Gt(ecuación 5), que es la recompensa acumulada esperada que recibirá el agente a lo largo de la secuencia de todos los estados. El factor de descuento γ ∈ [0, 1]pesa cada recompensa. Encontramos que descontar las recompensas es matemáticamente conveniente ya que al hacerlo se evitan rendimientos infinitos en los procesos cíclicos de Markov. Además, el factor de descuento significa que, cuanto más consideramos el futuro, menos importantes se vuelven las recompensas que la gratificación inmediata, porque el futuro suele ser incierto. Por ejemplo, si la recompensa es financiera, las recompensas inmediatas pueden generar más intereses que las recompensas retrasadas.

aprendizaje de refuerzo profundo
Ecuación 5: Recompensa total en todos los estados.

Función de valor

Otro concepto importante es el de la función de valor v(s). La función de valor asigna un valor a cada estado s. El valor de un estado sse define como la recompensa total esperada que recibirá el agente de IA si inicia su progreso en el estado s(ecuación 6).

aprendizaje de refuerzo profundo
Ecuación 6: Función de valor, el retorno esperado a partir del estado s.

La función de valor se puede descomponer en dos partes:

  • La recompensa inmediata R(t+1)que recibe el agente estando en estado s.

  • El valor descontado v(s(t+1))del siguiente estado después del estado s.

aprendizaje de refuerzo profundo
Ecuación 7: Descomposición de la función de valor.

Relacionado: ¿Quieres una carrera en aprendizaje automático? Esto es lo que necesita saber.

Ecuación de Bellman

Ecuación de Bellman para procesos de recompensa de Markov

También conocemos la función de valor descompuesto (ecuación 8) como la ecuación de Bellman para los procesos de recompensa de Markov. Visualizamos esta función usando un gráfico de nodos (figura 6). Comenzar en estado sconduce al valor v(s). Estando en el estado stenemos una cierta probabilidad Pss’de terminar en el próximo estado s’. En este caso particular tenemos dos posibles estados siguientes. Para obtener el valor v(s), debemos sumar los valores v(s’)de los posibles próximos estados ponderados por las probabilidades Pss’y agregar la recompensa inmediata por estar en el estado s. Esto produce la ecuación nueve, que no es más que la ecuación ocho si tuviéramos que ejecutar el operador de expectativa Een la ecuación.

aprendizaje de refuerzo profundo
Ecuación 8: Función de valor descompuesto.
aprendizaje de refuerzo profundo
Figura 6: Transición estocástica de s a s’.
aprendizaje de refuerzo profundo
Ecuación 9: Ecuación de Bellman después de la ejecución del operador de expectativa E.

Proceso de decisión de Markov frente a proceso de recompensa de Markov

Un proceso de decisión de Markov es un proceso de recompensa de Markov con decisiones. Podemos describir un proceso de decisión de Markov con un conjunto de tuplas < S,A,P, R>. En este caso, Aes un conjunto finito de posibles acciones que el agente puede realizar en el estado s. Por lo tanto, la recompensa inmediata de estar en el estado sahora también depende de la acción aque el agente realice en este estado (ecuación 10).

aprendizaje de refuerzo profundo
Ecuación 10: Recompensa esperada en función de la acción en un estado s.

Políticas

Veamos cómo decide el agente qué acción debe tomar en un estado particular. La política π determina la acción (ecuación 11). Hablando matemáticamente, una política es una distribución sobre todas las acciones dado un estado s. La política determina la asignación de un estado sa la acción que debe realizar el agente.

aprendizaje de refuerzo profundo
Ecuación 11: Política como mapeo de s a a.

Dicho de otra manera, podemos describir la política πcomo la estrategia del agente para seleccionar determinadas acciones en función del estado actual s.

La política conduce a una nueva definición de la función de valor de estado v(s)(ecuación 12) que definimos ahora como el rendimiento esperado a partir del estado sy luego siguiendo una política π.

aprendizaje de refuerzo profundo
Ecuación 12: Función estado-valor.

Función de valor de acción

Otra función importante para aprender es la función acción-valor q(s,a)(ecuación 13), o el rendimiento esperado que obtenemos al comenzar en state s, tomar acción ay luego seguir una política π. Tenga en cuenta que un estado s, q(s,a)puede tomar varios valores ya que hay varias acciones que el agente puede realizar en un estado s.

Una red neuronal calcula Q(s,a). Dado un estado s como entrada, la red calcula la calidad de cada acción posible en este estado como un escalar (figura 7). Mayor calidad significa una mejor acción con respecto al objetivo dado.

aprendizaje de refuerzo profundo
Figura 7: Ilustración de la función acción-valor.

Recuerde: la función de valor de acción nos dice qué tan bueno es tomar una acción particular en un estado particular.

aprendizaje de refuerzo profundo
Ecuación 13: Función acción-valor.

Anteriormente, la función de valor de estado se v(s)podía descomponer en la siguiente forma:

aprendizaje de refuerzo profundo
Ecuación 14: Función estado-valor descompuesta.

Ahora podemos aplicar la misma descomposición a la función acción-valor:

aprendizaje de refuerzo profundo
Ecuación 15: Función acción-valor descompuesta.

En este punto, analicemos cómo v(s)y q(s,a)relacionarnos entre sí. Nuevamente, podemos visualizar la relación entre estas funciones como:

aprendizaje de refuerzo profundo
Figura 8: Visualización de la relación entre v(s) y q(s,a).

En este ejemplo, estar en el estado snos permite realizar dos acciones posibles a. Por definición, tomar una acción particular en un estado particular nos da el valor de la acción q(s,a). La función de valor v(s)es la suma de posibles q(s,a)ponderada por la probabilidad (que no es otra que la política π) de realizar una acción en el estado s(ecuación 16).

aprendizaje de refuerzo profundo
Ecuación 16: Función de valor de estado como suma ponderada de valores de acción.

Ahora consideremos el caso opuesto en la figura nueve, a continuación. La raíz del árbol binario es ahora un estado en el que elegimos realizar una acción particular a. Recuerde que los procesos de Markov son estocásticos. Tomar una acción no significa que terminará donde quiere estar con un 100 por ciento de certeza. Estrictamente hablando, debe considerar las probabilidades de terminar en otros estados después de realizar la acción.

En este caso particular, después de realizar la acción a, puede terminar en dos estados siguientes diferentes s’:

aprendizaje de refuerzo profundo
Figura 9: Visualización de la relación entre v(s) y q(s,a).

Para obtener el valor de acción, debe tomar los valores de estado descontados ponderados por las probabilidades Pss’de terminar en todos los estados posibles (en este caso solo dos) y agregar la recompensa inmediata:

aprendizaje de refuerzo profundo
Ecuación 17: Relación entre q(s,a) yv(s).

Ahora que conocemos la relación entre esas funciones, podemos insertar la v(s)ecuación 16 en q(s,a)la ecuación 17. Obtenemos la ecuación 18 y notamos que hay una relación recursiva entre el q(s,a)valor de acción actual y el siguiente q(s’,a’).

aprendizaje de refuerzo profundo
Ecuación 18: Naturaleza recursiva de la función acción-valor.

Podemos visualizar esta relación recursiva en otro árbol binario (figura 10). Comenzamos con q(s,a), terminamos en el siguiente estado s’con cierta probabilidad Pss’. A partir de ahí podemos tomar una acción a’con la probabilidad πy terminamos con el valor de la acción q(s’,a’). Para obtener q(s,a)debemos subir en el árbol e integrar sobre todas las probabilidades como se puede ver en la ecuación 18.

aprendizaje de refuerzo profundo
Figura 10: Visualización del comportamiento recursivo de q(s,a).

Relacionado: 5 funciones de activación de aprendizaje profundo que necesita saber

Política óptima

El tema de interés más importante en el aprendizaje por refuerzo profundo es encontrar la función acción-valor óptima q*. Encontrar q*significa que el agente sabe exactamente la calidad de una acción en cualquier estado dado. Además, el agente puede decidir qué acción debe tomar en función de la calidad.

Definamos qué q*significa. La mejor función de valor de acción posible es la que sigue la política que maximiza los valores de acción:

aprendizaje de refuerzo profundo
Ecuación 19: Definición de la mejor función acción-valor.

Para encontrar la mejor política posible, debemos maximizar sobre q(s, a). La maximización significa que seleccionamos solo la acción a de todas las acciones posibles para las que q(s,a)tiene el valor más alto. Esto produce la siguiente definición para la política óptima π:

aprendizaje de refuerzo profundo
Ecuación 20: Política óptima — tomar acciones que maximicen q(s,a).

Ecuación de Optimalidad de Bellman

Podemos insertar la condición para la política óptima en la ecuación 18, lo que nos proporciona la ecuación de optimización de Bellman:

aprendizaje de refuerzo profundo
Ecuación 21: Ecuación de optimalidad de Bellman.

Si el agente de IA puede resolver esta ecuación, básicamente significa que ha resuelto el problema en el entorno dado. El agente conoce en cualquier estado o situación dada la calidad de cualquier acción posible con respecto al objetivo y puede comportarse en consecuencia.

Resolver la ecuación de optimización de Bellman será el tema de los próximos artículos de esta serie. En la segunda parte, demostraré la primera técnica para resolver la ecuación llamada Deep Q-learning.

Relacionado: Una inmersión profunda en Q-Learning profundo