Una Introducción al Aprendizaje por refuerzo

Una Introducción al Aprendizaje por refuerzo

El aprendizaje de refuerzo o reinforcement Learning (RL) se refiere a aprender las mejores acciones sobre la base de recompensas y castigos. Pero cuando usamos nuestras gafas técnicas, el refuerzo de aprendizaje se define utilizando tres conceptos básicos: estados, acciones y recompensas.

Esto puede sonarte bastante complejo al principio, pero en el siguiente post te daremos ligeramente una introducción al aprendizaje por refuerzo. 

¿Qué es el aprendizaje por refuerzo?

El aprendizaje de refuerzo profundo combina redes neuronales artificiales con una arquitectura de aprendizaje de refuerzo que permite a los agentes definidos por software aprender las mejores acciones posibles en un entorno virtual para lograr sus objetivos.

Es decir, une la aproximación de funciones y la optimización de objetivos, asignando pares de estado-acción a las recompensas esperadas.

Explicaremos todo de manera más clara. Si bien las redes neuronales son responsables de los recientes avances de la IA en problemas como la visión por computadora, la traducción automática y la predicción de series de tiempo, también pueden combinarse con algoritmos de aprendizaje de refuerzo para crear algo más asombroso como AlphaGo de Deepmind, un algoritmo que venció a los campeones mundiales del juego de mesa Go.

El aprendizaje de refuerzo se refiere a algoritmos orientados a objetivos, que aprenden cómo lograr un objetivo complejo (objetivo) o cómo maximizar a lo largo de una dimensión particular en muchos pasos; por ejemplo, pueden maximizar los puntos ganados en un juego en muchos movimientos.

Los algoritmos RL pueden comenzar desde una pizarra en blanco y, en las condiciones adecuadas, logran un rendimiento sobrehumano. Al igual que una mascota incentivada por regaños y golosinas, estos algoritmos son penalizados cuando toman decisiones equivocadas y recompensados ​​cuando toman las decisiones correctas, esto se considera como” refuerzo”.

Los algoritmos de refuerzo que incorporan redes neuronales profundas pueden vencer a los humanos expertos que juegan numerosos videojuegos de Atari, Starcraft II y Dota-2, así como a los campeones mundiales de Go. Si bien eso puede sonar trivial para los no jugadores, es una gran mejora con respecto a los logros anteriores del aprendizaje por refuerzo, y el estado del arte está progresando rápidamente.

El aprendizaje por refuerzo resuelve el difícil problema de correlacionar las acciones inmediatas con los retornos demorados que producen. Al igual que los humanos, los algoritmos de aprendizaje de refuerzo a veces tienen que esperar un tiempo para ver el fruto de sus decisiones. Operan en un entorno de retorno retrasado, donde puede ser difícil entender qué acción lleva a qué resultado en muchos pasos de tiempo.

Es razonable suponer que los algoritmos de aprendizaje por refuerzo funcionarán lentamente mejor y mejor en entornos más ambiguos de la vida real, mientras que eligen entre un número arbitrario de acciones posibles, en lugar de las opciones limitadas de un videojuego repetible.

Es decir, con el tiempo esperamos que sean valiosos para lograr objetivos en el mundo real. Incluso pueden ser el camino más prometedor hacia una IA fuerte, dados los datos y el cálculo suficientes.

Definiciones (componentes)

El aprendizaje de refuerzo puede entenderse utilizando los conceptos de agentes, entornos, estados, acciones y recompensas, todo lo cual explicaremos a continuación.

Agente: un agente realiza acciones; por ejemplo, un dron haciendo una entrega, o Súper Mario navegando en el videojuego. El algoritmo es el agente. Puede ser útil considerar que en la vida, el agente eres tú.

Acción (A): A es el conjunto de todos los movimientos posibles que el agente puede hacer. Una acción es casi auto explicativa, pero debe tenerse en cuenta que los agentes generalmente eligen de una lista de acciones discretas y posibles. En los videojuegos, la lista puede incluir correr hacia la derecha o hacia la izquierda, saltar alto o bajo, agacharse o quedarse quieto. En los mercados bursátiles, la lista puede incluir comprar, vender o mantener cualquiera de una serie de valores y sus derivados. Al manejar drones aéreos, las alternativas incluirían muchas velocidades y aceleraciones diferentes en el espacio 3D.

Factor de descuento: el factor de descuento se multiplica por las recompensas futuras descubiertas por el agente para amortiguar el efecto de estas recompensas en la elección de acción del agente. ¿Por qué? Está diseñado para hacer que las recompensas futuras valgan menos que las recompensas inmediatas; es decir, impone una especie de hedonismo a corto plazo en el agente.

A menudo se expresa con la letra griega minúscula gamma: γ. Si γ es .8, y hay una recompensa de 10 puntos después de 3 pasos de tiempo, el valor actual de esa recompensa es 0.8³ x 10. Un factor de descuento de 1 haría que las recompensas futuras valieran tanto como las recompensas inmediatas. Estamos luchando contra la gratificación tardía aquí.

Medio ambiente: el mundo a través del cual se mueve el agente y que responde al agente. El entorno toma el estado y la acción actuales del agente como entrada, y devuelve como salida la recompensa del agente y su siguiente estado. Si tú eres el agente, el ambiente podría ser las leyes de la física y las reglas de la sociedad que procesan tus acciones y determinan las consecuencias de ellas.

Estado (S): Un estado es una situación concreta e inmediata en la que se encuentra el agente; es decir, un lugar y un momento específico, una configuración instantánea que pone al agente en relación con otras cosas importantes, como herramientas, obstáculos, enemigos o premios. ¿Alguna vez estuvo en el lugar equivocado en el momento equivocado? Eso es un estado.

Recompensa (R): una recompensa es la retroalimentación por la cual medimos el éxito o el fracaso de las acciones de un agente en un estado determinado. Por ejemplo, en un videojuego, cuando Mario toca una moneda, gana puntos.

Desde cualquier estado dado, un agente envía resultados en forma de acciones al entorno, y el entorno devuelve el nuevo estado del agente (que resultó de actuar sobre el estado anterior), así como recompensas, si las hay. Las recompensas pueden ser inmediatas o demoradas. Evalúan efectivamente la acción del agente.

Relación con aprendizaje automático

Se podría decir que un algoritmo es un método para agregar más rápidamente las lecciones del tiempo. Los algoritmos de aprendizaje por refuerzo tienen una relación con el tiempo diferente a la de los humanos.

Un algoritmo puede ejecutar los mismos estados una y otra vez mientras experimenta con diferentes acciones, hasta que pueda inferir qué acciones son mejores a partir de qué estados. Efectivamente, los algoritmos disfrutan de su propio Día de la Marmota, donde comienzan como idiotas tontos y lentamente se vuelven sabios.

Como los humanos nunca experimentan el Día de la Marmota fuera de la película, los algoritmos de aprendizaje por refuerzo tienen el potencial de aprender más y mejor que los humanos.

De hecho, la verdadera ventaja de estos algoritmos sobre los humanos se deriva no tanto de su naturaleza inherente, sino de su capacidad de vivir en paralelo en muchas fichas a la vez, de entrenar día y noche sin fatiga y, por lo tanto, de aprender más. Un algoritmo entrenado en el juego de Go, como AlphaGo, habrá jugado muchos más juegos de Go de los que cualquier humano podría esperar completar en 100 vidas.