Double Q-Learning: corrigindo a superestimação

bebê aprendendo a andar
1.4.2 – Metodos Baseados em Valor
1.4.2.3 – Temporal Difference – TD
1.4.2.3.3 – Double Q-Learning
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O Double Q-Learning resolve um problema clássico do Q-Learning. Primeiramente, o Q-Learning padrão tende a superestimar valores. Isso ocorre porque ele usa o máximo sobre ações estimadas. Em segundo lugar, a superestimação pode levar a políticas subótimas. Por conseguinte, o Double Q-Learning usa duas tabelas Q independentes. Uma tabela escolhe a melhor ação. A outra tabela avalia o valor dessa ação.

Características da arquitetura Double Q-Learning

A arquitetura mantém duas funções Q separadas: Q_A e Q_B. Cada atualização usa uma tabela para seleção e outra para avaliação. A fórmula é \( Q_A(s,a) \leftarrow Q_A(s,a) + \alpha [r + \gamma Q_B(s’, \arg\max_{a’} Q_A(s’,a’)) – Q_A(s,a)] \). Similarmente, Q_B é atualizada de forma simétrica. Esse desacoplamento reduz o viés de maximização. Portanto, as estimativas são mais precisas.

A política de comportamento pode ser baseada na soma das duas tabelas. Ou usamos a média para escolher ações. A exploração ainda é feita com ε-greedy. Contudo, a atualização é mais conservadora. O Double Q-Learning é especialmente útil em ambientes estocásticos. Ele também melhora a estabilidade do aprendizado. Consequentemente, é amplamente usado em implementações modernas do DQN.

Hiperparâmetros e fórmulas matemáticas

Os hiperparâmetros são similares ao Q-Learning padrão. A taxa de aprendizado α tipicamente é 0.1. O fator de desconto γ é 0.95 ou 0.99. A taxa de exploração ε decai ao longo do tempo. A única diferença é a manutenção de duas tabelas. O custo computacional dobra, mas a convergência melhora. A atualização completa é \( Q_A(s,a) \leftarrow Q_A(s,a) + \alpha (r + \gamma Q_B(s’, a^*) – Q_A(s,a)) \), onde \( a^* = \arg\max_{a’} Q_A(s’, a’) \).

O erro TD no Double Q-Learning é \( \delta = r + \gamma Q_B(s’, a^*) – Q_A(s,a) \). Esse erro é usado para atualizar apenas uma tabela por vez. As duas tabelas são atualizadas alternadamente. Ou podemos escolher aleatoriamente qual atualizar. No final, a política é extraída da soma \( Q_A + Q_B \). Estudos mostram que Double Q-Learning converge mais rápido. Ele também é mais robusto a ruídos nas recompensas.

Exemplo clássico: ambiente com ruído

Considere um ambiente com dois estados e duas ações. As recompensas têm alto ruído estocástico. O Q-Learning padrão superestima os valores das ações. Isso leva a escolhas erradas. O Double Q-Learning corrige esse problema. O código abaixo compara ambos os algoritmos. Ele mostra como o Double Q-Learning é mais estável e preciso.

Q-Learning: aprendizado off-policy por diferença temporal

bebê aprendendo a andar
1.4.2 – Metodos Baseados em Valor
1.4.2.3 – Temporal Difference – TD
1.4.2.3.2 – Q-Learning – Off-policy
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

Q-Learning é um dos algoritmos mais importantes do aprendizado por reforço. Primeiramente, ele é um método off-policy. Isso significa que ele aprende com uma política diferente da que age. Em segundo lugar, ele usa diferença temporal (TD) para atualizações. Por conseguinte, o Q-Learning pode aprender a política ótima enquanto explora. Esta é sua grande vantagem sobre métodos on-policy como o SARSA.

Características da arquitetura Q-Learning

O Q-Learning atualiza a função Q(s,a) usando o máximo sobre ações futuras. A fórmula é \( Q(s,a) \leftarrow Q(s,a) + \alpha [r + \gamma \max_{a’} Q(s’,a’) – Q(s,a)] \). Diferente do SARSA, ele não usa a ação real do próximo passo. Ele assume que a melhor ação será tomada. Portanto, o Q-Learning é mais otimista. Ele busca a política ótima mesmo durante a exploração.

A arquitetura armazena Q(s,a) em uma tabela ou rede neural. A política de comportamento (behavior) é tipicamente ε-greedy. A política alvo (target) é gulosa (maximização). Essa separação é a essência do off-policy learning. O agente pode aprender com experiências passadas. Ele também pode aprender com demonstrações humanas. Consequentemente, o Q-Learning é muito flexível e poderoso.

Hiperparâmetros e fórmulas matemáticas

Os hiperparâmetros incluem α (taxa aprendizado), γ (desconto) e ε (exploração). Valores típicos são α=0.1, γ=0.95, ε=0.1. O algoritmo converge se todos os pares forem visitados. A condição é \( \sum \alpha_t = \infty \) e \(\) \sum \alpha_t^2 < \infty [/latex]. O erro TD do Q-Learning é [latex] \delta = r + \gamma \max_{a'} Q(s',a') - Q(s,a) [/latex]. Este erro é usado para atualizar a Q-table.

Uma variante importante é o Double Q-Learning. Ele resolve o problema de superestimação. Dois estimadores Q são mantidos independentemente. A atualização usa o mínimo entre eles. Outra variante é o Q-Learning com decaying epsilon. A exploração diminui ao longo do tempo. Isso melhora a convergência para a política gulosa. O Q-Learning é a base do DQN (Deep Q-Network), que usa redes neurais profundas.

Exemplo clássico: labirinto com recompensas

Imagine um labirinto 4×4 com um tesouro escondido. O agente começa no canto superior esquerdo. Ele recebe recompensa -1 por passo. O tesouro dá +10 ao ser encontrado. Paredes bloqueiam certas células. O objetivo é maximizar a recompensa total. O Q-Learning encontra o caminho ótimo mesmo com exploração. O código abaixo implementa e visualiza o aprendizado.