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

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.

Deixe um comentário