0Pricing
Learn AI with Python · Aula

Aprendizado Q profundo

Uso de redes neurais para aprendizado por reforço.

Aprendizado Q profundo é uma aula grátis de Learn AI with Python 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 Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python 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 escalável para ambientes com espaços de estados e ações grandes ou contínuos.

Aprendizado Q profundo — ilustração 1

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:

  1. Inicialize a rede Q com pesos aleatórios.
  2. Interaja com o ambiente para coletar tuplas de experiência (state, action, reward, next_state).
  3. 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 propagaçã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 buffer 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 buffer 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 diversos 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 conceitos básicos 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.

Aprendizado Q profundo — ilustração 10

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 Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 5 aulas no total.

O que vou aprender em “Aprendizado Q profundo”?

Uso de redes neurais para aprendizado por reforço. Você pratica Learn AI with Python 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 Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python 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 Learn AI with Python?

Sim. Cada aula de Learn AI with Python 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

  1. Conceitos básicos de aprendizado por reforço
  2. Conceito de Q-Table
  3. Implementação de uma tabela Q em Python
  4. Aprendizado Q profundo
  5. Explorando o OpenAI Gym
← Voltar para Learn AI with Python