Resumen
En este episodio (E97) se presenta una introducción conceptual y práctica al Reinforcement Learning (aprendizaje reforzado). Un agente aprende a tomar decisiones interactuando con un entorno, recibiendo recompensas por sus acciones, y lo que va actualizando es su política (qué acción tomar dado lo que observa). Se explica el ciclo observación–acción–recompensa, la diferencia entre timestep y episodio, y las familias de algoritmos (model-free vs model-based; Q-learning vs policy optimization). Se discuten los desafíos: el costo de la prueba y error, la necesidad de un ambiente bien especificado o simulado, y el diseño de la recompensa. Se muestran demos con Gymnasium y Stable-Baselines3 (LunarLander y un ejemplo de juguete de asignación de ancho de banda a clientes) y el seguimiento de métricas con TensorBoard. La conclusión es que RL es una herramienta potente pero costosa y compleja, más fácil de aplicar en juegos y sistemas físicos simulables, y requiere experiencia para llevarla a un caso real.
Capítulos
- 00:00IntroBienvenida al episodio 97. El presentador aprendió el tema durante la semana para un taller en el trabajo; el enfoque es introductorio, para construir un mapa conceptual de términos, algoritmos y herramientas.
- 01:37Qué es Reinforcement Learning (RL)?Define RL como un método donde un agente aprende decisiones óptimas interactuando con un entorno, con recompensas y castigos. Lo contrasta con el aprendizaje supervisado (hay atributos X y variable Y, ej. predecir si alguien pagará un crédito) y el no supervisado (sin etiqueta, ej. clustering): en RL la "Y" se obtiene interactuando con el mundo. Se mencionan juegos, el carro con el palo y sistemas físicos como ejemplos.
- 07:26Ejemplo básico de RL: Nave que aterrizaUn agente controla una nave con tres acciones (propulsores) bajo gravedad, con el objetivo de aterrizar en una plataforma. Parte sin saber conducir y aprende por iteraciones.
- 09:15Flujo de alto nivelEl ambiente entrega una observación (posición, velocidad, ángulo, patas), el agente toma una acción y recibe una recompensa (proximidad, estabilidad, combustible, choque), y con eso se actualiza la política. Parte con una política aleatoria y mejora tras miles de iteraciones, como un niño aprendiendo a caminar; se compara con el backpropagation de una red neuronal.
- 16:33Algunos problemasLa prueba y error es costosa (ejemplos: banco que presta dinero, página web que cambia de diseño), por lo que conviene un ambiente simulable (juegos, física, química, minería, petroleras, control óptimo). Un ambiente simulado puede diferir de la realidad (caso del auto autónomo que no detectó una ambulancia). Definir la recompensa es difícil y condiciona cómo aprende el agente; RL es una herramienta que no hay que forzar si basta con aprendizaje supervisado.
- 25:18Familias de algoritmosSe divide en model-free y model-based. En model-based el agente tiene además un modelo del ambiente para simular consecuencias antes de actuar (necesita menos iteraciones pero es más costoso); se menciona la idea de world models con modelos multimodales como Sora. Se comenta AlphaGo, AlphaStar y la anécdota de un novato que le ganó una partida a AlphaStar con una estrategia atípica.
- 38:30Model-Free RL: Q-Learning y Policy OptimizationQ-learning construye una tabla estado–acción con el valor esperado y sirve para acciones discretas; policy optimization ajusta parámetros por gradiente y sirve para datos continuos. Se aclaran los conceptos de timestep (un ciclo observación–acción–recompensa) y episodio (conjunto de timesteps hasta que termina, como "una vida").
- 42:35MemesMemes sobre el carrito con el palo, entrenamientos de millones de pasos, uso de git, y una comparación entre un loro y un algoritmo de machine learning que repiten sin entender. El presentador cuenta que quiere aplicar RL en un juego que desarrolla como hobby.
- 47:06Dudas de la semana en DiscordSe discute cómo escribir historias de usuario en un equipo de datos: se opina que las de usuario final son demasiado amplias para proyectos de datos y que son más útiles para usuarios internos (ej. un data scientist que necesita acceso a una librería). Se compara con los issues de GitHub.
- 52:55Métricas relevantes a medirAlgoritmos mencionados: Actor-Critic, PPO y DQN (Deep Q-Network). Métricas: recompensa acumulada, tasa de convergencia, estabilidad de la política, tasa de éxito, robustez, eficiencia computacional y exploración versus explotación; PPO es conservador y tiende más a explotación.
- 55:39Framework: Gymnasium, Stable Baseline3Gymnasium (fork comunitario de Gym, de OpenAI) estandariza la interfaz de ambientes, y Stable-Baselines3 implementa los algoritmos principales (PPO, A2C, DQN) con integración con Gymnasium y MLflow.
- 57:40Demo en código de LunarLander usando gymnasiumSe carga el ambiente, se hace reset y se ejecuta un bucle de timesteps con acciones aleatorias, donde terminated/truncated inician un nuevo episodio. Se explica la semilla para reproducibilidad y la pseudoaleatoriedad. Luego se entrena un modelo con 100.000 timesteps, pero no aprende a aterrizar (recompensa de unos −300) y la ejecución queda sin término de salida.
- 01:10:49Ejemplo de juguete simulando clientesSe construye un ambiente propio heredando de gym.Env (init, step, reset, render, close) para asignar ancho de banda a tres clientes, con action space (0–31 por cliente) y observation space (uso, demanda, condición de red). Se destaca que la lógica de step y el cálculo de la recompensa (penalización por diferencia con la demanda, latencia, equidad) son la parte difícil, y que es un caso de juguete difícil de llevar a la realidad.
- 01:25:34TensorboardSe muestra TensorBoard para registrar métricas por timestep, como la tasa de éxito, que sube a ~0,5 y luego se estabiliza sin alcanzar valores cercanos a 1, que era lo esperado.
- 01:29:13CierreSe comenta que es difícil encontrar casos de uso laborales de RL fuera de juegos y sistemas simulables, que cada componente (política, recompensa, modelo, ambiente) es un mundo en sí, y se recomienda material de un invitado sobre RL. Recordatorio de YouTube y Discord.