Temporal Difference

bebê aprendendo a andar

o melhor de dois mundos

Temporal Difference (TD) combina ideias de Monte Carlo e programação dinâmica. Diferente de Monte Carlo, não espera o fim do episódio para atualizar. Primeiramente, atualiza estimativas baseadas em outras estimativas (bootstrapping). Além disso, aprende a partir de experiência sem precisar de modelo do ambiente. Por exemplo, TD(0) atualiza após cada passo usando recompensa e valor do próximo estado. É um dos métodos mais fundamentais do aprendizado por reforço.

aprendendo passo a passo

O algoritmo TD atualiza V(s) após cada transição usando erro de predição. Primeiramente, observa (s, a, r, s’) e calcula erro δ = r + γ V(s’) – V(s). Além disso, atualiza V(s) = V(s) + αδ. Por exemplo, em um labirinto, ajusta valores gradualmente a cada movimento. O erro δ representa surpresa na predição da recompensa.

td(λ) e elegibilidade de traços

TD(λ) generaliza TD(0) e Monte Carlo através do parâmetro λ. Primeiramente, λ=0 corresponde a TD(0), λ=1 corresponde a Monte Carlo. Além disso, usa traços de elegibilidade para distribuir atualizações entre estados visitados. Por exemplo, estados anteriores recebem crédito proporcional à sua distância. Permite ajustar o trade-off entre viés e variância.

vantagens e convergência

TD é mais eficiente que Monte Carlo em termos de variância e atualização incremental. Primeiramente, converge em ambientes estocásticos com menos amostras que Monte Carlo. Além disso, não requer modelo do ambiente como programação dinâmica. Por exemplo, usado em Q-learning e algoritmos modernos. É a base para métodos de aprendizado por reforço online. Para iniciantes, mostra aprendizado contínuo sem esperar pelo fim. É um conceito central em algoritmos de reforço modernos.

Monte Carlo sem exploração de inícios

bebê aprendendo a andar

Nem todo ambiente permite exploração de inícios. Muitos problemas têm um estado inicial fixo. Por exemplo, um jogo sempre começa do mesmo ponto. Nesses casos, precisamos de outras estratégias de exploração. Primeiramente, usamos políticas estocásticas como ε-greedy. Em segundo lugar, garantimos que todas as ações sejam tentadas. Por conseguinte, o agente aprende mesmo com início fixo.

Características da arquitetura

A arquitetura mantém uma política suave (soft policy). Isso significa que toda ação tem probabilidade > 0. Frequentemente, usamos ε-greedy ou softmax. A função Q(s,a) é aprendida por Monte Carlo. Contudo, a política usada para gerar episódios é diferente da política alvo. Esse é o conceito de off-policy learning. A política de comportamento (behavior) explora mais. A política alvo (target) é a ótima que queremos aprender. A razão de importância (importance sampling) corrige a diferença.

A atualização off-policy usa pesos de importância. A fórmula é \( \rho_{t:T-1} = \prod_{k=t}^{T-1} \frac{\pi(a_k|s_k)}{b(a_k|s_k)} \). Esse peso ajusta o retorno amostrado. O estimador é \( V(s) = \frac{\sum_{t} \rho_{t:T-1} G_t}{\sum_{t} \rho_{t:T-1}} \). A variância pode ser alta com muitos termos. Por isso, usamos weighted importance sampling. Ele tem viés mas variância menor. Outra abordagem é on-policy com ε-greedy. Nela, a política de comportamento é a mesma alvo.

Hiperparâmetros e fórmulas matemáticas

Os hiperparâmetros principais são ε e γ. A taxa de exploração ε típica é 0.1. O fator de desconto γ é 0.95 ou 0.99. Para off-policy, usamos α (taxa aprendizado). A atualização incremental é \( Q(s,a) \leftarrow Q(s,a) + \alpha \rho (G_t – Q(s,a)) \). A política ε-greedy é definida como \( \pi(a|s) = 1 – \epsilon + \frac{\epsilon}{|A|} \) para a ação ótima. Para outras ações, \( \pi(a|s) = \frac{\epsilon}{|A|} \). Isso garante exploração contínua.

O erro de Monte Carlo on-policy é \( \delta = G_t – Q(s,a) \). No off-policy, o erro é ponderado por ρ. A convergência é garantida se exploração continuar. Contudo, a variância pode ser alta. Por isso, métodos de TD são preferidos na prática. Ainda assim, Monte Carlo sem exploring starts é importante. Ele é usado em jogos como Blackjack e Poker.

Exemplo clássico: Blackjack com início fixo

Considere o Blackjack com estado inicial sempre o mesmo. O jogador recebe duas cartas e vê uma do dealer. Ele não pode reiniciar em posições aleatórias. Portanto, exploring starts é impossível. Usamos ε-greedy para garantir exploração. O objetivo é aprender a função valor. O código abaixo implementa Monte Carlo on-policy com ε-greedy. Ele resolve o Blackjack sem exploring starts.