Aprendizado Q profundo
Uso de redes neurais para aprendizado por reforço.
Aprendizado Q profundo é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 4 de 5. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 5 aulas no total.
O que é o aprendizado Q profundo?
Aprendizado Q profundo
O aprendizado Q profundo é uma extensão do aprendizado Q que usa uma rede neural para aproximar a tabela Q. Isso permite que o aprendizado por reforço seja escalado para ambientes com espaços de estados e ações grandes ou contínuos.

Por que usar o aprendizado Q profundo?
Por que usar o aprendizado Q profundo?
O aprendizado Q profundo resolve as limitações do aprendizado Q tradicional:
- Lida com espaços de estados de alta dimensionalidade, como imagens.
- Evita a necessidade de armazenar tabelas Q grandes na memória.
- Generaliza entre estados usando redes neurais.
O algoritmo DQN
O algoritmo DQN
O aprendizado Q profundo usa uma rede neural chamada rede Q para aproximar os valores Q. As principais etapas são:
- Inicialize a rede Q com pesos aleatórios.
- Interaja com o ambiente para coletar tuplas de experiência
(state, action, reward, next_state). - Atualize a rede Q usando a equação de Bellman:
Q(s, a) ≈ r + γ max(Q(s', a'))
Construindo a rede Q
Construindo a rede Q
A rede Q é uma rede neural simples de alimentação direta que recebe o estado atual como entrada e produz valores Q para todas as ações possíveis:
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')Repetição de experiências
Repetição de experiências
O aprendizado Q profundo usa uma técnica chamada repetição de experiências para melhorar o aprendizado:
- Armazene experiências
(state, action, reward, next_state)em um armazenamento de memória. - Amostre aleatoriamente lotes de experiências para treinar a rede Q.
from collections import deque
# Initialize replay memory
memory = deque(maxlen=2000)
# Add experience to memory
memory.append((state, action, reward, next_state, done))Treinando a rede Q
Treinando a rede Q
Treinamos a rede Q usando as experiências do armazenamento de memória:
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-alvo
Redes-alvo
Para estabilizar o treinamento, DQN usa uma rede-alvo:
- Mantenha uma rede separada para calcular os valores Q-alvo.
- Copie periodicamente os pesos da rede Q para a rede-alvo.
Vantagens do aprendizado Q profundo
Vantagens do aprendizado Q profundo
O aprendizado Q profundo oferece vários benefícios:
- Lida com espaços de estados de alta dimensionalidade, como imagens.
- Generaliza entre estados usando redes neurais.
- Pode resolver tarefas complexas, como jogos de Atari e controle robótico.
Resumo e próximos passos
Resumo e próximos passos
Nesta lição, nós:
- Exploramos os fundamentos do aprendizado Q profundo.
- Construímos uma rede Q para aproximar os valores Q.
- Discutimos a repetição de experiências e as redes-alvo para obter um treinamento estável.
Em seguida, exploraremos o OpenAI Gym e aplicaremos o aprendizado por reforço em ambientes simulados.

Perguntas Frequentes
A aula “Aprendizado Q profundo” é grátis?
Sim — o texto completo de “Aprendizado Q profundo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 5 aulas no total.
O que vou aprender em “Aprendizado Q profundo”?
Uso de redes neurais para aprendizado por reforço. Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Python Academy?
Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 5.
Quanto tempo leva a aula “Aprendizado Q profundo”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Python Academy?
Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Conceitos básicos de aprendizado por reforço
- Conceito de tabela Q
- Implementação da tabela Q em Python
- Aprendizado Q profundo
- Explorando o OpenAI Gym