Al terminar sabrás…
- Identificar el agente, el entorno, el estado, la acción y la recompensa en AWS DeepRacer
- Explicar qué son un paso, un episodio, una iteración y una política
- Entender el equilibrio entre exploración y explotación
- Describir el flujo completo de un entrenamiento en DeepRacer on AWS
- Saber por qué un modelo entrenado es inmutable y qué hacer para seguir mejorándolo
Vídeo: Aprendizaje por refuerzo en 5 minutos
Guion del vídeo (texto)
Aprender probando. El aprendizaje por refuerzo es aprender probando. Nadie le dice al coche cuál es el giro correcto. El coche prueba, recibe una nota por cada cosa que hace y poco a poco descubre qué le conviene. La idea de fondo se llama hipótesis de la recompensa: cualquier objetivo se puede conseguir buscando la mayor recompensa acumulada a lo largo de una secuencia de acciones.
Agente y entorno. Hay dos protagonistas. El agente es quien decide, y en DeepRacer es el coche, virtual o físico. El entorno es el mundo con el que interactúa, es decir, la pista. El agente actúa, el entorno reacciona, y así una y otra vez. Es como un jugador y su videojuego: el jugador pulsa botones y el juego le responde con lo que pasa en pantalla.
Observación, acción y recompensa. En cada momento el coche recibe una observación, que es la imagen de su cámara frontal. Con ella elige una acción, que es una combinación de velocidad y ángulo de giro. Después el entorno le devuelve una recompensa, un número que dice lo deseable que ha sido esa acción. Ese número lo calcula una función que escribes tú, la función de recompensa.
Pasos y episodios. Cada acción es un paso, y el coche simulado da unos diez pasos por segundo. Un episodio es un intento completo: empieza con el coche en algún punto de la pista y termina cuando se sale o cuando completa la vuelta. Por eso cada episodio dura distinto. Además, la posición de salida cambia al azar en cada episodio, para que el coche aprenda todas las partes del circuito.
La política. La política es la estrategia del coche: recibe lo que ve y devuelve qué hacer. En DeepRacer es una red neuronal, la red de política, y eso es exactamente lo que la plataforma llama modelo. Entrenar significa mejorar esa política para que, de media, consiga la mayor recompensa total posible en cada episodio.
Explorar o explotar. Aquí viene el gran dilema. Si el coche solo repite lo que ya sabe que funciona, nunca descubre algo mejor. Es como pedir siempre la misma pizza: no está mal, pero nunca sabrás si había otra mejor. Si solo explora, nunca aprovecha lo aprendido. El entrenamiento necesita las dos cosas: explorar para descubrir y explotar para mejorar.
Cómo es un entrenamiento. Un entrenamiento es un bucle. Primero el coche conduce varios episodios con su política actual y se guardan sus experiencias: lo que vio, lo que hizo, la recompensa y lo que vio después. Luego, con esas experiencias, se ajustan los pesos de la red. Y vuelta a empezar. Cada vuelta de ese ciclo es una iteración, y el bucle se repite hasta que se acaba el tiempo que fijaste.
Un modelo no se puede editar. Una última idea importante. Cada entrenamiento crea un modelo nuevo, aunque lo detengas antes de tiempo, y ese modelo no se puede modificar ni sobrescribir. Si quieres seguir mejorándolo, lo clonas: haces una copia que parte de todo lo aprendido y la sigues entrenando, quizá con cambios. Así nunca pierdes un modelo que ya funcionaba bien.
La idea en una frase
El aprendizaje por refuerzo (en inglés, reinforcement learning o RL) es un método de machine learning en el que un agente aprende a tomar decisiones por sí mismo interactuando con un entorno. No hay ejemplos resueltos ni datos etiquetados: aprende por prueba y error.
Se apoya en la llamada hipótesis de la recompensa: cualquier objetivo se puede alcanzar maximizando la recompensa futura de una secuencia de acciones. Dicho en sencillo: si sabes puntuar bien lo que hace el coche, el coche acabará haciendo lo que quieres.
Piensa en cómo se adiestra a un perro. No le explicas qué es "sentarse". Esperas a que lo haga, le das una galleta y repites. Con el tiempo, el perro relaciona la orden, la acción y el premio. En DeepRacer, el perro es el coche, la galleta es un número y tú decides cuándo se la das.
Los protagonistas
Agente y entorno
- El agente es quien decide. En DeepRacer es el coche, virtual o físico.
- El entorno es el mundo en el que actúa. En DeepRacer es la pista, con su trazado y sus condiciones.
Estado u observación
El estado es lo que el agente sabe del entorno en un momento dado. En DeepRacer es la imagen de la cámara frontal. Como esa cámara no ve toda la pista (no ve lo que hay detrás ni más allá de la curva), se dice que el entorno es parcialmente observable, y por eso lo correcto es llamarlo observación. AWS usa las dos palabras como sinónimos.
Acción
Una acción es una combinación de velocidad y ángulo de dirección. Por ejemplo: "girar 15 grados a la izquierda a 1 metro por segundo". El conjunto de acciones posibles se llama espacio de acciones y lo configurarás en el módulo M4.
Recompensa
La recompensa es el valor inmediato que devuelve el entorno después de cada acción y mide lo deseable que fue. En DeepRacer ese número lo calcula una función de recompensa escrita en Python, que es la parte del entrenamiento en la que más vas a influir.
El tiempo en el aprendizaje: pasos, episodios e iteraciones
Para entender un entrenamiento hay que distinguir tres escalas de tiempo, de la más pequeña a la más grande.
- Paso (step): una sola acción tomada siguiendo la política actual. El agente simulado toma unas 10 acciones por segundo.
- Episodio: un intento completo, desde un estado inicial hasta uno terminal. En DeepRacer empieza con el coche en algún punto de la pista y termina cuando se sale o completa la vuelta. Cada episodio puede durar distinto.
- Iteración: el ciclo "recoger varios episodios y después actualizar la red". Es la unidad en la que verás las gráficas de entrenamiento.
Un ejemplo numérico: si un episodio dura 20 segundos, a unos 10 pasos por segundo, son unas 200 acciones. Y en cada una de esas 200 acciones tu función de recompensa se ejecuta y devuelve un número.
La política: el cerebro del coche
La política es la estrategia con la que el agente decide: recibe el estado y devuelve la acción. Se suele representar con una red neuronal profunda, la red de política, y eso es lo que DeepRacer llama "modelo".
El texto del propio asistente de DeepRacer on AWS lo resume así: un agente (el vehículo) aprende de un entorno (una pista) interactuando con él y recibiendo recompensas, con el objetivo de encontrar una política (una función que traduce el estado actual del agente en una decisión de conducción) que maximice la recompensa total media.
Exploración frente a explotación
Este es el dilema central del aprendizaje por refuerzo.
- Explotar es usar lo que ya sabes que funciona.
- Explorar es probar acciones que quizá no den recompensa, para descubrir algo mejor.
La guía oficial lo explica con la función "seguir la línea central". Al principio el coche actúa al azar. Cuando aprende algunas acciones buenas, empieza a usarlas. Pero si solo explota esas acciones, deja de descubrir y puede quedarse en una solución falsa: una forma de conducir aceptable, pero lejos de la mejor.
Analogía: si en tu hamburguesería favorita siempre pides la misma, explotas. Si un día pruebas otra, exploras. Si nunca exploras, nunca sabrás si había una mejor; si siempre exploras, a veces cenarás mal.
La función de valor
Mientras explora, el agente aprende también una función de valor: una estimación de lo bueno que es estar en una situación o tomar una acción, pensando en las recompensas que vendrán después. Le sirve para juzgar si una acción fue buena, y se apoya en la función de recompensa que escribes tú.
Cómo es un entrenamiento en DeepRacer on AWS
Este es el flujo oficial, paso a paso:
- Se inicializa la simulación: pista, agente y fondo.
- El agente actúa según la imagen de la cámara.
- El simulador actualiza la posición del coche y devuelve la recompensa y una nueva imagen.
- Las experiencias (estado, acción, recompensa y nuevo estado) se usan periódicamente para actualizar la red.
- El modelo se guarda periódicamente.
- El entrenamiento se detiene al alcanzar el límite de tiempo que configuraste.
Entrenar en simulación tiene muchas ventajas: el simulador calcula el progreso, detecta las salidas de pista, recoloca el coche automáticamente, acelera el entrenamiento y permite controlar pistas, fondos y condiciones. En la vida real, cada salida de pista sería ir a buscar el coche a mano.
El modelo es inmutable
Cada trabajo de entrenamiento genera un modelo, incluso si lo detienes antes de tiempo, y ese modelo no se puede modificar ni sobrescribir. Para seguir mejorándolo hay que clonarlo: crear una copia que parte de lo aprendido y seguir entrenando.
Vocabulario esencial
| Término | Qué significa | En DeepRacer |
|---|---|---|
| Agente | Quien decide y actúa | El coche |
| Entorno | El mundo con el que interactúa | La pista simulada |
| Estado / observación | Lo que el agente percibe | Imagen de la cámara (escala de grises, 160×120) |
| Acción | Lo que hace el agente | Velocidad + ángulo de dirección |
| Recompensa | Nota inmediata de cada acción | Valor que devuelve tu función de recompensa en cada paso |
| Paso | Una acción | Unas 10 por segundo |
| Episodio | Un intento completo | Desde la salida hasta salirse o terminar la vuelta |
| Política | La estrategia de decisión | Red neuronal que elige la acción (el modelo) |
| Iteración | Recoger episodios y actualizar | Ciclo "recoger episodios → actualizar la red" |
| Exploración | Probar acciones nuevas | Imprescindible para no estancarse |
| Función de valor | Estimación de lo bueno de una situación | Ayuda al agente a juzgar sus acciones |
Actividad práctica
Juego en papel por parejas: "el coche humano". Dura unos 15 minutos.
- Dibujad en un folio una pista sencilla con una curva, dividida en casillas.
- Una persona es el agente: solo puede elegir entre tres acciones, "recto", "izquierda" o "derecha", y no ve el dibujo completo, solo la casilla siguiente (su observación).
- La otra persona es el entorno: tras cada acción dice la recompensa con una regla fija y secreta, por ejemplo 1 punto si sigue en el centro, 0,5 si va por el borde y fin del episodio si se sale.
- Jugad cinco episodios. Al final de cada uno, el agente anota qué acciones le dieron más puntos.
- En los episodios 4 y 5, el agente debe probar al menos una acción nueva en algún punto (exploración). ¿Mejoró o empeoró?
- Cambiad la regla de recompensa (por ejemplo, premiad también ir recto) y comentad cómo cambia la forma de "conducir".
- Escribid en vuestro registro una conclusión: ¿qué pasa cuando la regla de recompensa no premia lo que de verdad queréis?
Resumen
- En el aprendizaje por refuerzo, un agente (el coche) aprende por prueba y error interactuando con un entorno (la pista).
- En cada paso el coche observa la imagen de la cámara, elige una acción (velocidad y giro) y recibe una recompensa.
- Un episodio va desde la salida hasta salirse o completar la vuelta; una iteración es recoger episodios y actualizar la red.
- La política es la red neuronal que decide, y es lo que DeepRacer llama modelo; hay que equilibrar exploración y explotación.
- Cada entrenamiento crea un modelo inmutable: para seguir mejorándolo, se clona.
Test final
Comprueba lo que has aprendido. Necesitas 4 aciertos de 5 para superar el módulo.
Para saber más
- Concepts and terminology Oficial
- Reinforcement learning overview Oficial
- User workflow (flujo del entrenamiento) Oficial
- Action space and reward function Oficial