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

bebê aprendendo a andar
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.

`

Aproximação de Funções

bebê aprendendo a andar
1.4.2 – Metodos Baseados em Valor
1.4.2.4 – Aproximacao de Funcoes
1.4.2.4.1 – Deep Q-Networks – DQN
1.4.2.4.2 – DQN com Experience Replay
1.4.2.4.3 – DQN com Fixed Q-Targets
1.4.2.4.4 – Dueling DQN
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

quando tabelas não são suficientes

Aproximação de funções generaliza valores para estados não visitados em problemas grandes. Diferente de tabelas, usa parâmetros para representar funções valor continuamente. Primeiramente, permite lidar com espaços de estados contínuos ou muito grandes. Além disso, generaliza conhecimento para situações semelhantes não vistas. Por exemplo, redes neurais aproximam Q(s,a) em jogos Atari com milhões de estados. É essencial para problemas reais com dimensionalidade alta.

métodos lineares e não lineares

Aproximadores lineares usam combinação linear de características para representar valores. Primeiramente, são simples e garantem convergência sob certas condições. Além disso, métodos não lineares como redes neurais capturam relações complexas. Por exemplo, redes profundas aprendem representações hierárquicas automaticamente. Escolha do aproximador impacta convergência e estabilidade.

desafios de convergência

Aproximação de funções introduz risco de não convergência em aprendizado por reforço. Primeiramente, o “deadly triad” (aproximação, bootstrapping, off-policy) pode causar divergência. Além disso, técnicas como target networks e replay buffer estabilizam treinamento. Por exemplo, DQN usa ambas para alcançar estabilidade. Requer cuidado na escolha de hiperparâmetros.

aplicações práticas

Aproximação de funções viabiliza aplicações em problemas reais de alta dimensão. Primeiramente, robótica usa aproximadores para aprendizado de controle contínuo. Além disso, sistemas de recomendação generalizam para novos usuários. Por exemplo, veículos autônomos aproximam funções valor em espaços contínuos. Para iniciantes, mostra como escalar aprendizado para problemas complexos. É a ponte entre teoria e aplicações práticas.