Reinforcement learning con Mario Bros

En este artículo, vamos a desglosar el reinforcement learning y analizaremos algunos de los componentes que se unen para crear un sistema de reinforcement learning.

¿Qué es el aprendizaje de refuerzo (Reinforcement learning)?

Si nunca antes has oído hablar del aprendizaje de refuerzo o reinforcement learning, ¡no te preocupes! El concepto es muy sencillo. A un nivel muy alto, el reinforcement learning es simplemente un agente que aprende a interactuar con un entorno basado en las señales de retroalimentación que recibe del entorno.

Esto lo hace diferente de otros enfoques de aprendizaje automático en los que un agente de aprendizaje puede ver una respuesta correcta durante la capacitación.

En el reinforcement learning podemos pensar que nuestro agente de aprendizaje obtiene una calificación o un puntaje para informarle sobre su desempeño.

Vamos a enmarcar esta idea en términos de un videojuego. Digamos que tenemos un programa de computadora que juega al juego de Mario.

Aprende a controlar al personaje, recibiendo retroalimentación del entorno en forma de una pantalla cambiante. Sobre la base de los éxitos (o fallos) de nuestro algoritmo, puede aprender a interactuar con el entorno y mejorar utilizando los comentarios que recibe.

 

reinforcement learning: ¡Para aprender sobre el medio ambiente, necesitamos explorar!
¡Para aprender sobre el medio ambiente, necesitamos explorar!
La única forma en que podemos descubrir que los Goombas son malos y los power-ups son buenos es a través del seguimiento y el error y la retroalimentación.

El reinforcement learning intenta imitar la forma en que un ser humano u otro ser inteligente pueden interactuar con un nuevo entorno: prueba y error.

Nace de la culminación de la investigación de muchos campos, como la informática, la psicología, la neurociencia, las matemáticas y más. Aunque es poco común ver reinforcement learning en la industria actual, su impacto es enorme.

Reinforcement learning: Es realmente la culminación de muchos campos y tiene una rica historia en optimización y psicología conductual.
El reinforcement learning es realmente la culminación de muchos campos y tiene una rica historia en optimización y psicología conductual.

Este potencial es lo que pretendo desempacar para usted.  

Refuerzo del vocabulario de aprendizaje como juego de Mario Bros

Ya hemos tocado el ejemplo clásico de un reinforcement learning para jugar un videojuego. Ahora continuemos usando nuestro ejemplo de Mario mientras profundizamos un poco más en esa idea y el vocabulario del concepto.

1. El Agente: Mario

Para comenzar, tenemos a nuestro agente. Nuestro agente es nuestro algoritmo y nuestro programa. Es el cerebro de la operación. Es lo que va a interactuar con nuestro entorno. En este contexto, nuestro agente es Mario y él tomará todas las decisiones.

Nuestro agente: Mario

2. El entorno: Nivel de juego

El agente existe dentro del alcance de un entorno. El entorno es el nivel de Mario que estamos jugando. Son los enemigos en la pantalla y los bloques que conforman el mundo.

Es el reloj el que marca el tiempo y el puntaje que sube (¡o eso esperamos!). El objetivo de nuestro agente es interactuar con el entorno de tal manera que obtenga una recompensa.


Nuestro entorno: un nivel simple

3. La Acción: saltar, agacharse, avanzar

¿Qué es una recompensa y cómo funciona? Nuestro agente lo recibe? Bueno, nuestro agente tiene que interactuar con el medio ambiente.

Puede hacerlo seleccionando una acción de una lista de acciones posibles que puede llevar a cabo. Tal vez nuestro agente, Mario, decide saltar hacia arriba.

O muévete hacia la derecha o hacia la izquierda. Tal vez tengan un encendido de bola de fuego y por eso nuestro agente decide disparar uno.

El punto es que cada una de estas acciones alterará el entorno y dará lugar a un cambio. Nuestro agente puede observar este cambio, usarlo como una señal de retroalimentación y aprender de él.

La interfaz que un humano puede usar para ejecutar acciones que afectan el medio ambiente

4. El Estado: Mario + Acción + Ambiente = Estado

Estos cambios que nuestro agente observa son cambios en el estado del medio ambiente. El nuevo estado que observa nuestro agente puede generar una señal de “recompensa”.

Combinando la acción que tomó el agente, el cambio de estado y la recompensa potencial recibida del cambio de estado, el agente comienza a construir un modelo de trabajo para el entorno que está explorando.

El estado contiene toda la información sobre lo que está sucediendo en el medio ambiente de lo que podemos observar. Cosas como dónde está nuestro personaje, nuestro puntaje actual y los enemigos en la pantalla juegan en el estado actual de nuestro entorno.

5. La Recompensa: puntos + mantenerse vivo

Si el agente aprende eso cuando salta y aterriza en un enemigo, recibe un aumento de un punto y ya no puede ser asesinado por dicho enemigo, ¡eso es algo bueno que aprender!.

También podría aprender que si Mario cae en un hoyo, el juego termina y no hay oportunidad futura de ganar más puntos o de ganar el nivel. Estas son cosas que el agente puede aprender con el tiempo, cuanto más interactúa con el entorno, más aprende.

¡En Mario, una buena forma de medir la recompensa podría ser el puntaje!

Eso incluye una introducción De todos los componentes principales que juegan en un problema de reinforcement learning. Las cosas importantes que se deben retener de esta sección son el agente, el entorno, las acciones, el estado y las recompensas, y tratar de tener una definición funcional de lo que implican.

Esta imagen los agrupa muy bien si somos más de un aprendiz visual.

Reinforcement learning: ¡Todos los componentes se unen para compensar cómo un agente aprende de su entorno!
¡Todos los componentes se unen para compensar cómo un agente aprende de su entorno!

¿Cómo funciona?

Ahora que entendemos algo del vocabulario básico, Puede aplicarlo para saber cómo funciona un agente. ¿Cómo decide un agente tomar decisiones sobre las acciones que debe tomar para maximizar la recompensa que obtendrá?

Hay dos corrientes principales que debemos analizar para comprender: el agente de reinforcement learning necesita y sus subelementos.

Necesidades de Reinforcement learning

Los agentes de reinforcement learning deben aprender a decidir qué es una buena acción en un entorno lleno de incertidumbre. La retroalimentación se recibe como una señal de recompensa demorada en el tiempo como el cambio observado en el estado y la recompensa que se puede calcular a partir de él.

El agente debe poder explorar esta incertidumbre y razonar sobre por qué se otorgó una recompensa. Para hacer esto, el agente debe tener tres cosas simples: Acciones, objetivos y sentidos.

1. Acciones

Las acciones son la lista de manipulaciones al entorno que un agente puede realizar en un momento dado. Al ejercer una acción, un agente impacta su entorno y cambia su estado.

Sin poder hacer esto, un agente nunca puede influir activamente en el estado, recibir una recompensa interpretable de cómo sus acciones influyeron positiva o negativamente en el entorno, o incluso aprender a tomar mejores acciones en el futuro.

Una lista de acciones de alguien podría llevarse con un controlador Atari.

Los objetivos son cómo definimos la señal de recompensa. ¿Premiamos en base a puntos en un videojuego? ¿Completar un nivel? ¿Qué son las acciones buenas y malas? Estas son las preguntas en las que debemos pensar cuando definimos una meta en un contexto RL. Así es como motivamos a un agente para completar una tarea.

Una configuración simple de un objetivo. ¿Cómo se puede obtener de principio a fin?
Una configuración simple de un objetivo. ¿Cómo se puede obtener de principio a fin?

2. Sentidos

Los sentidos son lo que un agente usa para observar un entorno. En una configuración de videojuegos, podría ser útil utilizar técnicas de una configuración de visión artificial para observar los objetos en la pantalla y cómo cambian cuando nuestro agente toma medidas.

Tal vez usamos el reconocimiento óptico de caracteres para observar un valor de punto. El punto es que, si un agente no puede sentir un entorno, no puede razonar sobre cómo sus acciones lo afectan. Por lo tanto, necesitamos sentidos para monitorear el entorno con el que estamos interactuando.

Subelementos de un sistema de reinforcement learning

Ahora, podemos hacer la transición a los subelementos de un sistema de reinforcement learning: la política, la recompensa señal, la función de valor y el modelo óptimo del entorno.

1. La política

Una política es el corazón de nuestro agente de RL. Es la forma en que nuestro agente se comporta dado el estado actual del medio ambiente.

Son las acciones que nuestro agente tomará dado el estado. En biología, podríamos ver una política como la forma en que un organismo reacciona en función de los estímulos que recibe.

Nuestro agente observa el estado del medio ambiente y la política es lo que ha aprendido a hacer. Una buena política resultaría en un resultado positivo.

Nuestra política dictará lo que hará un agente dado un estado del medio ambiente. Podemos ver aquí que una política podría ser que, dada una determinada ficha, nuestro agente se mueve en cierta dirección.

2. La señal de recompensa

La ​​señal de recompensa es la forma en que medimos el éxito de nuestro agente. Es nuestra medida numérica de qué tan bien estamos logrando nuestra meta.

Una señal de recompensa puede ser positiva o negativa, lo que permite a nuestro agente medir si una acción fue buena, mala o neutral.

Estos pueden ser valores de puntos en un videojuego o si nuestro agente todavía está vivo. El punto es que nuestro agente toma estas señales de recompensa, mide cómo es el desempeño en la meta actual.

Y configura su política en base a esta retroalimentación para que pueda alterar aún más el entorno para maximizar la recompensa futura que pueda recibir. .

Una visualización de una función de valor que está configurando un agente. Podemos pensar en esto como el mapeo de recompensas oculto de la imagen de la meta anterior.
Podemos pensar en esto como el mapeo de recompensas oculto de la imagen de la meta anterior. ¡Solo explorando el entorno, el agente puede aprender que al pisar el azulejo de la meta se obtiene una recompensa de 1!

3. La función de valor

Podemos pensar en la señal de recompensa como un indicador inmediato de si una acción fue buena o mala. Sin embargo, el reinforcement learning es algo más que resultados positivos o negativos inmediatos. Se trata de una planificación a largo plazo para maximizar el éxito en una tarea.

Para modelar este desempeño a largo plazo, introducimos un concepto llamado la función de valor. Una función de valor es una estimación de la probabilidad de que nuestro agente tenga éxito a largo plazo.

Esto es mucho más difícil de estimar y medir, ¡pero es uno de los componentes más críticos de nuestro problema de RL! En un entorno incierto, nuestro agente modificará constantemente sus estimaciones de valor a lo largo de muchas iteraciones, aprendiendo a configurar políticas y acciones para asumir largas secuencias de acciones y estados.

Reinforcement learning: Una visualización de una función de valor que está configurando un agente.
Una visualización de una función de valor que está configurando un agente. A medida que se vuelve más y más seguro acerca de su recompensa potencial a largo plazo dado su estado, puede encontrar soluciones para este desafío.

Reinforcement learning: El modelo óptimo para el medio ambiente

Finalmente, nuestro sistema reinforcement learning  puede modelar el entorno. Digo que puede porque no todos los agentes de reinforcement learning modelarán un entorno. Algunos agentes simplemente aprenden mediante prueba y error, construyendo un modelo de entorno un tanto implícito mediante una función de buen valor y una combinación de políticas.

Otros agentes pueden crear explícitamente un modelo interno de un entorno, permitiendo a un agente predecir los estados resultantes y las recompensas en función de las acciones que desee tomar directamente.

Parece que sería un muy buen enfoque, pero en entornos altamente complejos es extremadamente difícil construir un modelo interno de este tipo y muchas veces los agentes no optan por esta estrategia.

A medida que un agente explora un entorno, puede construir una interpretación 3D del mundo que lo rodea para ayudarlo a razonar sobre las acciones que podría tomar en el futuro.
 

Conclusión

Con estos conceptos básicos, podemos comenzar a ver este futuro, donde los sistemas informáticos aprenden según nuestros conocimientos. Acciones y reacciones, afinadas específicamente a nuestras personalidades.

En el agente de Mario de nuestro ejemplo anterior, podemos visualizar sistemas informáticos futuristas que leen nuestras acciones y reacciones como un personaje de Mario lee un entorno.

Se vuelve más señal de recompensa cuanto más feliz nos hace y más rápido alcanzamos nuestros objetivos. Es muy fácil ver cómo este resultado futuro podría estar a nuestro alcance.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *