Aprendizaje Q profundo
Uso de redes neuronales para el aprendizaje por refuerzo
Aprendizaje Q profundo es una lección gratuita de Python Academy 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 Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy 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 tabla Q. Esto permite que el aprendizaje por refuerzo se adapte a entornos con espacios de estados y 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 tablas Q grandes en memoria.
- Generaliza entre estados mediante redes neuronales.
El algoritmo DQN
El algoritmo DQN
Deep Q-Learning utiliza una red neuronal llamada 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 sencilla de propagación hacia delante que recibe el estado actual como entrada y produce valores Q para 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 llamada repetición de experiencias para mejorar el aprendizaje:
- Almacenar experiencias
(state, action, reward, next_state)en un búfer de memoria. - Seleccionar 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 mediante 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 el 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 «Aprendizaje Q profundo» es gratis?
Sí — el texto completo de «Aprendizaje Q 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 Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 5 lecciones en total.
¿Qué aprenderé en «Aprendizaje Q profundo»?
Uso de redes neuronales para el aprendizaje por refuerzo Practicas Python Academy 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 Python Academy?
No se requiere experiencia previa. Python Academy 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 «Aprendizaje Q 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 Python Academy?
Sí. Cada lección de Python Academy 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 la tabla Q en Python
- Aprendizaje Q profundo
- Exploración de OpenAI Gym