Q-Learning profundo
Uso de redes neuronales para el aprendizaje por refuerzo.
Q-Learning profundo es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 4 de 5. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 5 lecciones en total.
¿Qué es Deep Q-Learning?
Deep Q-Learning
Deep Q-Learning es una extensión de Q-Learning que utiliza una red neuronal para aproximar la Q-Table. Esto permite que el aprendizaje por refuerzo escale a entornos con espacios de estados-acciones grandes o continuos.

¿Por qué Deep Q-Learning?
¿Por qué Deep Q-Learning?
Deep Q-Learning aborda las limitaciones del Q-Learning tradicional:
- Gestiona espacios de estados de alta dimensionalidad, como las imágenes.
- Evita la necesidad de almacenar Q-Tables grandes en la memoria.
- Generaliza entre estados mediante redes neuronales.
El algoritmo DQN
El algoritmo DQN
Deep Q-Learning utiliza una red neuronal denominada Q-Network para aproximar los valores Q. Los pasos principales son:
- Inicializar la Q-Network con pesos aleatorios.
- Interactuar con el entorno para recopilar tuplas de experiencia
(state, action, reward, next_state). - Actualizar la Q-Network mediante la ecuación de Bellman:
Q(s, a) ≈ r + γ max(Q(s', a'))
Construcción de la Q-Network
Construcción de la Q-Network
La Q-Network es una red neuronal de propagación hacia delante sencilla que recibe el estado actual como entrada y produce los valores Q de todas las acciones posibles:
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# Define the Q-Network
q_network = Sequential([
Dense(24, activation='relu', input_shape=(state_space_size,)),
Dense(24, activation='relu'),
Dense(action_space_size, activation='linear')
])
q_network.compile(optimizer='adam', loss='mse')Repetición de experiencias
Repetición de experiencias
Deep Q-Learning utiliza una técnica denominada repetición de experiencias para mejorar el aprendizaje:
- Almacenar las experiencias
(state, action, reward, next_state)en un búfer de memoria. - Extraer aleatoriamente lotes de experiencias para entrenar la Q-Network.
from collections import deque
# Initialize replay memory
memory = deque(maxlen=2000)
# Add experience to memory
memory.append((state, action, reward, next_state, done))Entrenamiento de la Q-Network
Entrenamiento de la Q-Network
Entrenamos la Q-Network utilizando las experiencias del búfer de memoria:
import numpy as np
# Sample a batch of experiences
batch_size = 32
batch = random.sample(memory, batch_size)
# Train the Q-Network
for state, action, reward, next_state, done in batch:
target = reward
if not done:
target += gamma * np.max(q_network.predict(next_state[np.newaxis, ...]))
q_values = q_network.predict(state[np.newaxis, ...])
q_values[0][action] = target
q_network.fit(state[np.newaxis, ...], q_values, epochs=1, verbose=0)Redes objetivo
Redes objetivo
Para estabilizar el entrenamiento, DQN utiliza una red objetivo:
- Mantener una red independiente para calcular los valores Q objetivo.
- Copiar periódicamente los pesos de la Q-Network a la red objetivo.
Ventajas de Deep Q-Learning
Ventajas de Deep Q-Learning
Deep Q-Learning ofrece varias ventajas:
- Gestiona espacios de estados de alta dimensionalidad, como las imágenes.
- Generaliza entre estados mediante redes neuronales.
- Puede resolver tareas complejas, como juegos de Atari y tareas de control robótico.
Resumen y próximos pasos
Resumen y próximos pasos
En esta lección:
- Exploramos los conceptos básicos de Deep Q-Learning.
- Construimos una Q-Network para aproximar los valores Q.
- Analizamos la repetición de experiencias y las redes objetivo para lograr un entrenamiento estable.
A continuación, exploraremos OpenAI Gym y aplicaremos el aprendizaje por refuerzo en entornos simulados.

Preguntas frecuentes
¿La lección «Q-Learning profundo» es gratis?
Sí — el texto completo de «Q-Learning profundo» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 5 lecciones en total.
¿Qué aprenderé en «Q-Learning profundo»?
Uso de redes neuronales para el aprendizaje por refuerzo. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 5.
¿Cuánto tiempo toma la lección «Q-Learning profundo»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Conceptos básicos del aprendizaje por refuerzo
- Concepto de tabla Q
- Implementación de una Q-Table en Python
- Q-Learning profundo
- Exploración de OpenAI Gym