AWS DeepRacer: la unión de la IA con adrenalina 🏁

Hace unos años, cuando la Inteligencia Artificial (IA) no era “trending”, trabajé en un proyecto con Machine Learning para detectar ataques en una red, los recursos eran muy limitados para realizar los laboratorios y se hizo bastante complejo que el PoC (prueba de concepto) alcanzara un nivel aceptable. Recordé mucha teoría de la época de la Universidad donde realizamos modelos con programación funcional en Prolog. Desde esa época me interesó mucho la Inteligencia Artificial.
Más adelante, en octubre del 2022, en el AWS Summit en Bogota, conocí por primera vez AWS DeepRacer, una divertida manera de aprender Reinforce Learning (aprendizaje por refuerzo), el cual es un enfoque del Machine Learning. Más adelante comencé a participar en algunas carreras con un amigo lo que inició un nuevo Hobby.
Sobre Reinforce Learning y Machine Learning
En RL, el enfoque es que un agente aprende a través de la interacción con un entorno para tomar decisiones y realizar acciones con el objetivo de maximizar una recompensa acumulativa. Es un tipo de aprendizaje en el que el agente, basado en su experiencia, “aprende” a realizar acciones que le permitan obtener la mayor cantidad de recompensas posibles en un entorno determinado.
Por otro lado, el Machine Learning, es una rama del campo de la IA que se centra en el desarrollo de algoritmos y modelos informáticos que permiten a las máquinas aprender y mejorar su rendimiento en tareas específicas a través de la experiencia y los datos, en lugar de ser programadas explícitamente para realizar esas tareas.

Aprendizaje con AWS DeepRacer
En DeepRacer, se aplica RL de una manera divertida, donde el agente es el auto y el entorno la pista. Se le “enseña” por medio de hiper parámetros y por una función de recompensa en Python cómo conducir, evitar obstáculos y ser eficiente. El proceso es guiado por un Wizard muy amigable.
Algunos pasos son:
Creación del Modelo

Ajuste de Hiper Parámetros

Función de Recompensa

Esta es la función de recompensa de ejemplo que sirve como base para comenzar. Se debe tener conocimientos básicos de Python.
def reward_function(params):
'''
Example of rewarding the agent to follow center line
'''
# Read input parameters
track_width = params['track_width']
distance_from_center = params['distance_from_center']
# Calculate 3 markers that are at varying distances away from the center line
marker_1 = 0.1 * track_width
marker_2 = 0.25 * track_width
marker_3 = 0.5 * track_width
# Give higher reward if the car is closer to center line and vice versa
if distance_from_center <= marker_1:
reward = 1.0
elif distance_from_center <= marker_2:
reward = 0.5
elif distance_from_center <= marker_3:
reward = 0.1
else:
reward = 1e-3 # likely crashed/ close to off track
return float(reward)
Entrenamiento y Evaluación

Luego de entender los parámetros de la función de recompensa y probar con varios modelos, diferentes modos y muchas horas de entrenamiento llegamos a uno que nos ha permitido competir y aprender más. En el curso gratuito oficial se explica de manera formidable todo el proceso, incluso sin ninguna experiencia previa, se puede comenzar el curso por SkillBuilder aquí.

Hemos participado con mi compañero en varias competencias, una física con un vehículo a escala 1/8 en un evento local y varias virtuales, incluyendo la Liga regional llegamos al Top 20 a nivel regional y el Top 10 nacional.
Aún hay mucho más por aprender, pero por ahora concluyo esperando podamos seguir disfrutando de este nuevo Hobbie. Así que, si estás buscando una forma emocionante y divertida de explorar el mundo del aprendizaje automático, no busques más allá de AWS DeepRacer. Es una experiencia única que te brinda la oportunidad de aprender, competir y disfrutar al máximo.
¡Y así llegamos a la línea de meta con AWS DeepRacer! ¿Quién dijo que el aprendizaje automático no podía ser divertido?
Referencias y créditos:
Conceptos - OpenAI GPT
Getting Started - https://aws.amazon.com/deepracer/getting-started/
AWS Docs - https://docs.aws.amazon.com/deepracer/latest/developerguide/what-is-deepracer.html
Skill Builder - https://explore.skillbuilder.aws/learn/course/external/view/elearning/87/aws-deepracer-driven-by-reinforcement-learning
AWS Bogota Summit League - https://aws.amazon.com/es/events/summits/bogota/deepracer-league/
Last updated
Was this helpful?