Reinforcement Learning
El aprendizaje por refuerzo (RL) entrena a un agente mediante prueba y error para maximizar las recompensas a largo plazo. Incluye el ciclo de RL, Q-learning, familias de algoritmos y usos.
El aprendizaje por refuerzo (RL) es una rama del aprendizaje automático (ML) en la que un agente aprende a tomar una secuencia de decisiones probando acciones en un entorno y recibiendo recompensas o penalizaciones, con el objetivo de acumular la mayor recompensa posible a lo largo del tiempo. Nadie le dice al agente qué acción es correcta. Descubre qué acciones dan resultado, incluso aquellas cuya recompensa llega muchos pasos después, como una jugada de ajedrez que gana material diez movimientos más tarde. Por eso, el RL es el enfoque habitual para problemas de control secuencial: jugar a videojuegos, guiar robots y entrenar modelos de lenguaje grandes (LLMs) para que den respuestas que la gente prefiera o que un programa pueda verificar. Richard Sutton y Andrew Barto, cuyo manual definió el campo moderno, recibieron el Premio A. M. Turing de ACM de 2024 por su trabajo fundamental sobre el aprendizaje por refuerzo.
Cómo funciona el aprendizaje por refuerzo#
Los problemas de RL se formalizan como un proceso de decisión de Markov (MDP). En cada paso temporal, el agente observa el estado actual, elige una acción de su espacio de acciones y recibe una recompensa junto con el estado siguiente. Su objetivo es el retorno, la suma de las recompensas futuras en la que un factor de descuento entre 0 y 1 hace que las recompensas lejanas cuenten menos que las inmediatas. La recompensa es la única descripción de la tarea que recibe el agente, por lo que una recompensa mal planteada fomenta la manipulación de recompensas: el agente obtiene una puntuación alta sin hacer lo que pretendía el diseñador.
- Agente: El sistema que aprende y toma decisiones, como un controlador de robot o un programa que juega a un videojuego.
- Entorno: Todo aquello con lo que interactúa el agente, desde un simulador físico hasta el suelo de un almacén real.
- Estado: La información a partir de la que actúa el agente, como ángulos de articulaciones, una posición en el tablero o características extraídas de un fotograma de cámara.
- Acción: Una opción disponible para el agente, ya sea discreta (izquierda o derecha) o continua (un ángulo de dirección).
- Recompensa: Un número que el entorno devuelve después de cada acción; es positivo si hay avances y negativo si se cometen errores o se pierde tiempo.
- Política: La regla que sigue el agente para elegir una acción en cada estado y que el entrenamiento mejora.
- Función de valor: El retorno esperado desde un estado, o al realizar una acción determinada en un estado, que permite al agente evaluar las acciones según sus consecuencias a largo plazo.
Como el agente solo aprende sobre las acciones que prueba, debe equilibrar la exploración, probar acciones cuyo valor es incierto, con la explotación, elegir la acción que parece mejor en ese momento. Una regla habitual es epsilon-greedy: actuar al azar con una probabilidad pequeña y de forma codiciosa en los demás casos. Este ejemplo de NumPy usa Q-learning, un algoritmo clásico que aprende el valor de cada par estado-acción, para enseñar a un agente a recorrer un pasillo de seis celdas hasta llegar a una recompensa al final:
import numpy as np
rng = np.random.default_rng(0)
# Pasillo de 6 celdas: empieza en la celda 0; recompensa de +1 al llegar a la celda 5; acciones: 0 = izquierda, 1 = derecha
n_states, goal = 6, 5
Q = np.zeros((n_states, 2)) # retorno estimado para cada (estado, acción)
alpha, gamma, epsilon = 0.5, 0.9, 0.2 # tasa de aprendizaje, factor de descuento, tasa de exploración
for episode in range(200):
state = 0
while state != goal:
# Explora con una probabilidad epsilon; en caso contrario, explota la mejor acción conocida
action = rng.integers(2) if rng.random() < epsilon else Q[state].argmax()
next_state = max(0, state - 1) if action == 0 else state + 1
reward = 1.0 if next_state == goal else 0.0
# Actualización de Q-learning: avanza hacia la recompensa más el mejor valor descontado del siguiente estado
Q[state, action] += alpha * (reward + gamma * Q[next_state].max() - Q[state, action])
state = next_state
print("Greedy policy:", ["left" if a == 0 else "right" for a in Q[:goal].argmax(axis=1)])
print("Value of moving right:", Q[:goal, 1].round(2))Imprime una política de right en cada celda y valores de [0.66 0.73 0.81 0.9 1. ]. La recompensa solo se otorgó en la última celda, pero la actualización la propagó hacia atrás, y cada paso más lejos del objetivo vale 0.9 veces el siguiente, justo lo que dicta el factor de descuento.
Familias de algoritmos de RL#
Los métodos tabulares como el anterior almacenan un valor para cada estado, lo que deja de funcionar cuando los estados son imágenes de cámara o ángulos articulares continuos. El aprendizaje por refuerzo profundo sustituye la tabla por una red neuronal que generaliza entre estados similares, y las principales familias de algoritmos se diferencian por lo que aprende esa red:
Los agentes sin modelo aprenden exclusivamente de la experiencia real o simulada, mientras que los agentes basados en modelos aprenden un modelo del mundo que predice cómo responde el entorno y luego planifican con él, como en el control predictivo basado en modelos o la búsqueda de árbol de Monte Carlo. La optimización de política proximal (PPO), que limita cuánto puede cambiar la política en cada actualización, se convirtió en el método de gradiente de política predeterminado para la robótica y el entrenamiento de modelos de lenguaje, y la optimización de política relativa por grupos (GRPO) la adaptó al razonamiento de LLM al prescindir del crítico aprendido. Spinning Up de OpenAI explica estos algoritmos con implementaciones de referencia.
Aplicaciones en el mundo real#
- Juegos: AlphaGo, de DeepMind, combinó redes neuronales profundas con búsqueda en árbol y autojuego con RL para derrotar al campeón de Go Lee Sedol por 4 partidas a 1 en marzo de 2016.
- Robótica: Los controladores de locomoción de cuadrúpedos y humanoides se entrenan con RL en miles de robots simulados en paralelo, a menudo con fricción, masas y terrenos aleatorizados para que la política se transfiera al hardware real.
- Alineación de modelos de lenguaje: Los asistentes de chat se ajustan con RL frente a un modelo de recompensa entrenado con comparaciones de preferencias humanas, y los modelos de razonamiento se entrenan con RL frente a verificadores automáticos que validan respuestas matemáticas o ejecutan pruebas unitarias.
- Sistemas de recomendación: Tratar una secuencia de recomendaciones como un conjunto de decisiones permite que un sistema optimice la interacción a largo plazo en lugar del siguiente clic.
La mayoría de las políticas robóticas se entrenan en simulaciones, porque un agente puede necesitar millones de intentos y el hardware real se estropea; marcos como NVIDIA Isaac Lab ejecutan miles de entornos en una GPU, y la aleatorización del dominio reduce la brecha entre la física simulada y la real. Los sistemas de RL basados en cámaras suelen actuar sobre la salida de un modelo de percepción en vez de sobre píxeles sin procesar: Ultralytics YOLO26, ejecutado en un robot mediante la integración con ROS, publica las clases de objetos de cada fotograma de cámara y, con una cámara de profundidad, la distancia a cada objeto, como mensajes ligeros que una política puede usar como estado.
Aprendizaje por refuerzo y paradigmas relacionados#
- Aprendizaje supervisado: Cada ejemplo de entrenamiento incluye la respuesta correcta. Un agente de RL solo recibe una recompensa escalar, a menudo con retraso, y sus propias acciones determinan qué datos verá después.
- Aprendizaje no supervisado: El modelo encuentra estructuras, como grupos, en datos sin etiquetar, sin acciones que realizar ni recompensas que maximizar.
- Proceso de decisión de Markov: El MDP plantea el problema, y RL es la familia de métodos que lo resuelven a partir de la experiencia, sin que se proporcionen las probabilidades de transición.
- Aprendizaje por imitación: el agente copia las demostraciones de un experto, principalmente mediante la clonación del comportamiento, y no puede superar fácilmente a su mentor, mientras que el aprendizaje por refuerzo puede descubrir estrategias que ningún demostrador ha mostrado. A menudo se combinan ambos métodos: AlphaGo primero aprendió a partir de 30 millones de posiciones de partidas humanas y luego mejoró mediante el juego contra sí mismo; su sucesor, AlphaGo Zero, prescindió por completo de los datos humanos y derrotó a esa versión de AlphaGo por 100 partidas a 0.










