Double Q-Learning: corrigindo a superestimação

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.

Deixe um comentário