El cartpole y el aprendizaje por refuerzo de una IA

Autor: | Última modificación: 16 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

El aprendizaje por refuerzo de una IA es un tipo de aprendizaje en el que no hay datos. Los algoritmos de aprendizaje por refuerzo de una IA lo que necesitan es un entorno, en el que hay un actor que efectúa una serie de acciones y, en función de esas acciones, existen recompensas y penalizaciones. Al final lo que se consigue es que la toma de decisiones del agente esté encaminada a que la máquina aprenda. Se busca que el agente realice un trabajo óptimo para maximizar la recompensa; en eso consiste el reinforcement learning.

aprendizaje por refuerzo de una IA

El cartpole y el aprendizaje por refuerzo de una IA

Con el aprendizaje por refuerzo de una IA se han conseguido cosas bastante interesantes. Una de ellas es el ejemplo canónico: equilibrar un palo dentro de un carro.

Este ejercicio, llamado cartpole, consiste en poner un palo entre un objeto que solo puede moverse de derecha a izquierda (el carro). Lo que se hace en este entorno ultrasimplificado es penalizar al carro cuando el palo falla.

El agente es el carro, controlado por dos posibles acciones (+1 y -1), lo que apunta a moverse hacia la izquierda o hacia la derecha.

La recompensa 1+ se otorga en cada paso del tiempo si el palo permanece en posición vertical. El objetivo es evitar que el palo se caiga. Después de 100 pasos de tiempo consecutivos y una recompensa promedio de 195, el problema se considera resuelto.

Este entorno corresponde a la versión del problema del poste del carro descrita por Barto, Sutton y Anderson en Neuronlike adaptive elements that can solve difficult learning control problems.

Esto es lo que se conoce en el área de las humanidades como psicología conductista, un tipo de conducta según la que se premia o se castiga a una persona para que cumpla con un objetivo trazado.

En el caso del cartpole y el aprendizaje por refuerzo de una IA, no se trata de aplicar psicología conductista a una persona, sino utilizar el mismo principio que utiliza esta psicología para conseguir, por medio del ejercicio de prueba y error, que el objeto aprenda.

https://www.youtube.com/watch?v=5Q14EjnOJZc

¿Cómo funciona el aprendizaje por refuerzo de una IA?

El entorno del cartpole consta de cuatro estados posibles: posición del carro, velocidad del carro, ángulo del palo y velocidad angular del palo. Asimismo, hay dos acciones posibles: izquierda y derecha.

Podemos calcular la calidad de la acción en un estado usando la siguiente ecuación:

aprendizaje por refuerzo de una IA

Lo que se usa es el ángulo que tiene el palo respecto al suelo, en función del movimiento del carro. Esto significa que, si el carro se mueve siempre hacia la izquierda, el palo va a caer, y lo mismo si el carro se mueve siempre hacia la derecha. Al final lo que se consigue es que, por pura fuerza bruta (el número de iteraciones es muy alto) y utilizando el principio de las ciencias sociales y humanas de la psicología conductista, el sistema aprende a balancear el palo sin que se caiga.

Se mantiene un número de iteraciones determinado y, de esta forma, se puede maximizar la recompensa, que en este caso será el número de iteraciones que consigue tener el palo sin caerse.

Este ejercicio de aprendizaje por refuerzo de una IA es bastante versátil, ya que, en caso de conseguir el objetivo, que es mantener el palo en pie, se puede avanzar más y personalizar el código de tal manera que pueda cambiar los objetivos del entrenamiento.

Métodos a usar para el cartpole

Existen muchísimos métodos para realizar el ejercicio de aprendizaje por refuerzo de una IA del cartpole. Entre estos métodos están:

  • Ecuaciones de la dinámica mediante la formulación Euler-Lagrange.
  • Con un grado de libertad:
    • Ecuación masa horizontal, con fuerzas externas sobre el carro.
    • Ecuación masa bola (movimiento angular).
  • Con dos grados de libertad simultáneamente.
  • Dinámica con Newton (balance de fuerzas).

El tema del aprendizaje reforzado es muy interesante y, si quieres descubrir más al respecto, te invitamos a inscribirte en el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. Se trata de una formación intensiva en la que no solo aprenderás muchísimo y podrás conseguir un mejor empleo, sino que además dominarás una gran variedad de aspectos sobre el Big Data, la inteligencia artificial y el machine learning. ¡Solicita más información y triunfa en el mercado laboral IT!

Posts Relacionados

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado