Deep Q-Networks (DQN): aproximando funções com redes neurais

html
1.4.2 – Metodos Baseados em Valor
1.4.2.4 – Aproximacao de Funcoes
1.4.2.4.1 – Deep Q-Networks – DQN
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O DQN combina Q-Learning com redes neurais profundas. Primeiramente, ele resolve o problema de espaços de estados contínuos. Tabelas Q não funcionam quando há milhões de estados. Em segundo lugar, a rede neural aproxima a função Q(s,a). Por conseguinte, o DQN aprende a jogar jogos vendo apenas pixels. Esta foi uma revolução no aprendizado por reforço.

Características da arquitetura DQN

A arquitetura usa duas redes neurais principais. A rede online é atualizada a cada passo. A rede alvo (target) é atualizada lentamente. Isso estabiliza o treinamento. Além disso, o DQN usa replay de experiência (experience replay). Transições são armazenadas em um buffer. Amostras aleatórias quebram correlações entre experiências. Consequentemente, o aprendizado é mais estável e eficiente.

A rede online tem parâmetros θ. A rede alvo tem parâmetros θ⁻. A perda é calculada como \( L(θ) = \mathbb{E}[(r + \gamma \max_{a’} Q(s’,a’;θ^-) – Q(s,a;θ))^2] \). O gradiente descendente é aplicado apenas à rede online. A rede alvo é atualizada por cópia suave (soft update): \( θ^- \leftarrow τθ + (1-τ)θ^- \). Ou usamos hard update a cada C passos.

Hiperparâmetros e fórmulas matemáticas

Os hiperparâmetros do DQN são críticos para convergência. A taxa de aprendizado α tipicamente é 0.00025. O fator de desconto γ é 0.99. O buffer de replay armazena 1 milhão de transições. O tamanho do batch é 32 ou 64. A frequência de atualização da rede alvo é 10000 passos. A exploração usa ε-greedy com decaimento de 1.0 para 0.1. O erro TD é \( \delta = r + \gamma \max_{a’} Q(s’,a’;θ^-) – Q(s,a;θ) \). A perda é o erro quadrático médio.

O DQN original foi aplicado a jogos da Atari. Ele aprendeu a jogar Breakout, Pong e Space Invaders. A entrada era imagens de 84×84 pixels em escala de cinza. A rede tinha três camadas convolucionais e duas densas. O desempenho superou humanos em vários jogos. DQN é considerado um marco histórico em IA.

Exemplo clássico: ambiente CartPole

Considere o ambiente CartPole do OpenAI Gym. Um carrinho deve equilibrar uma haste na vertical. O estado é contínuo (posição, velocidade, ângulo). As ações são discretas (esquerda ou direita). O DQN aproxima Q(s,a) com uma rede neural. O código abaixo implementa DQN para resolver CartPole. Ele mostra gráficos de recompensa e perda durante o treinamento.

`

Deixe um comentário