Monte Carlo com exploração de inícios

bebê aprendendo a andar

A exploração de inícios é uma técnica simples mas poderosa. Ela garante que todas as ações sejam experimentadas. Primeiramente, cada episódio começa em um par estado-ação aleatório. Em segundo lugar, a política é determinística durante o resto do episódio. Por conseguinte, a exploração é assegurada sem usar ε-greedy. Este método funciona apenas em ambientes que podem ser reiniciados.

Características da arquitetura

A arquitetura armazena Q(s,a) em uma tabela. Cada par estado-ação é inicializado com um valor. A política é gulosa em relação a Q. Contudo, o primeiro passo de cada episódio é forçado. Ele é escolhido aleatoriamente entre todas as ações possíveis. Depois disso, o agente segue a política gulosa. Esse método é chamado de Monte Carlo exploring starts. Ele é garantido de convergir para a política ótima. Uma desvantagem é a necessidade de reiniciar o ambiente. Muitos problemas reais não permitem isso.

A atualização first-visit é usada frequentemente. O retorno G_t é calculado ao final do episódio. A equação de atualização é \( Q(s,a) \leftarrow Q(s,a) + \alpha (G_t – Q(s,a)) \). Alternativamente, usamos a média simples: \( Q(s,a) = \frac{1}{N(s,a)} \sum_{i=1}^{N(s,a)} G_t^{(i)} \). A exploração de inícios substitui o ε-greedy. Portanto, não há hiperparâmetro epsilon. Isso simplifica o ajuste do modelo. Contudo, nem todo ambiente pode ser reiniciado arbitrariamente.

Hiperparâmetros e fórmulas

Os hiperparâmetros são poucos neste método. O fator de desconto γ é o mais importante. Valores típicos são 0.9, 0.95 ou 0.99. A taxa de aprendizado α pode ser usada (opcional). O número de episódios deve ser grande. Cada par estado-ação precisa ser visitado muitas vezes. A equação de Bellman para Q* é \( Q^*(s,a) = \sum_{s’,r} p(s’,r|s,a) [r + \gamma \max_{a’} Q^*(s’,a’)] \). Monte Carlo aproxima isso por amostragem. O erro é dado por \( \delta = G_t – Q(s,a) \). A convergência é garantida se cada par for visitado infinitas vezes.

A política gulosa é definida como \( \pi(s) = \arg\max_a Q(s,a) \). No exploring starts, o primeiro passo quebra essa gulodice. Isso é feito amostrando a ação inicial uniformemente. A probabilidade é \( P(A_0 = a | S_0 = s) = \frac{1}{|A(s)|} \). Depois disso, a política é determinística. Este método é elegante e teórico. Porém, sua aplicação prática é limitada.

Exemplo clássico: dado de 6 faces

Imagine um dado de 6 faces que você pode jogar. Cada face tem uma recompensa diferente. O estado é sempre o mesmo (único estado). As ações são escolher qual face apostar. Após a aposta, o dado é rolado. Você ganha a recompensa da face sorteada. O objetivo é maximizar a recompensa esperada. O ambiente é um bandido (k-armed bandit). A exploração de inícios força cada ação a ser testada. O código abaixo resolve este problema.

Métodos de Monte Carlo para problemas baseados em valor

bebê aprendendo a andar

Monte Carlo é uma família de métodos estatísticos. Eles usam amostragem aleatória para estimar quantidades. No aprendizado por reforço, Monte Carlo aprende com episódios completos. Primeiramente, o agente interage com o ambiente até o fim. Depois, ele calcula o retorno real de cada estado visitado. Por conseguinte, não é necessário conhecer o modelo do ambiente.

Características dos métodos de Monte Carlo

Monte Carlo só funciona para tarefas episódicas. Cada episódio deve ter um fim definido. A estimativa da função valor é feita pela média dos retornos observados. Frequentemente, usamos a média incremental: \( V(s) \leftarrow V(s) + \alpha (G_t – V(s)) \). Aqui G_t é o retorno real do episódio. Uma vantagem importante é a ausência de viés. Contudo, a variância pode ser alta. Muitos episódios são necessários para convergência.

A atualização pode ser first-visit ou every-visit. No first-visit, apenas a primeira ocorrência de cada estado conta. No every-visit, todas as ocorrências são usadas. A escolha entre eles é um hiperparâmetro. Outro hiperparâmetro é a taxa de aprendizado α. Valores típicos são 0.1 ou 0.01. A política pode ser fixa (avaliação) ou melhorada (controle). O método Monte Carlo sem modelo é muito poderoso. Ele é aplicado em jogos como Blackjack e Go.

Arquitetura e fórmulas matemáticas

A arquitetura armazena V(s) ou Q(s,a) em uma tabela. Para cada episódio, guardamos estados, ações e recompensas. O retorno é calculado somando recompensas futuras com desconto: \( G_t = \sum_{k=0}^{T-t-1} \gamma^k r_{t+k+1} \). A atualização first-visit é \( V(s) \leftarrow \frac{1}{N(s)} \sum_{i=1}^{N(s)} G_t^{(i)} \). Isso é equivalente à média amostral. Para controle, usamos a estratégia ε-greedy. A política é melhorada após cada episódio.

A equação de atualização incremental é \( V(s) \leftarrow V(s) + \alpha (G_t – V(s)) \). O erro de Monte Carlo é \( \delta = G_t – V(s) \). Diferente do TD learning, não há bootstrap. Isso significa que o valor estimado não depende de outras estimativas. Portanto, Monte Carlo não sofre com viés de inicialização. Contudo, a variância é maior e a convergência mais lenta. O método é ideal quando o ambiente é estocástico mas episódico.

Exemplo clássico: Blackjack simplificado

Imagine uma versão simples do jogo Blackjack. O jogador vê sua soma (12-21) e a carta do dealer (2-11). Ele pode pedir (hit) ou parar (stick). Pedir mais de 21 resulta em derrota. O objetivo é vencer o dealer sem estourar. Recompensas: +1 por vitória, -1 por derrota, 0 por empate. O ambiente é estocástico e episódico. O código abaixo usa Monte Carlo para aprender a função valor.