Aprendizado por reforço: função de valor e ação-valor

1.4 – Por Reforco
1.4.1 – Fundamentos Por Reforco
1.4.1.4 – Funcao de Valor e Acao-Valor
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

A função de valor estima o quão bom é um estado. Ela prevê o retorno futuro esperado a partir dali. Por outro lado, a função ação-valor Q(s,a) avalia um par estado-ação. Assim, o agente pode comparar diferentes escolhas. Essas funções são fundamentais para planejamento e aprendizado.

Definição formal de V(s) e Q(s,a)

A função valor V(s) é definida como \( V^\pi(s) = \mathbb{E}_\pi \left[ G_t \mid S_t = s \right] \). Ela depende da política π seguida pelo agente. Já a função ação-valor é \( Q^\pi(s,a) = \mathbb{E}_\pi \left[ G_t \mid S_t = s, A_t = a \right] \). A diferença entre elas é o momento da ação. Primeiro, V(s) assume que a política já foi definida. Segundo, Q(s,a) permite testar ações específicas. Consequentemente, Q é mais flexível para aprendizado.

Ambas as funções obedecem à equação de Bellman. Para V(s), temos \( V^\pi(s) = \sum_a \pi(a|s) \sum_{s’,r} p(s’,r|s,a) [r + \gamma V^\pi(s’)] \). Para Q(s,a), a equação é \( Q^\pi(s,a) = \sum_{s’,r} p(s’,r|s,a) [r + \gamma \sum_{a’} \pi(a’|s’) Q^\pi(s’,a’)] \). Essas equações relacionam valor presente e futuro. Portanto, elas permitem calcular V e Q recursivamente.

Arquiteturas e hiperparâmetros comuns

Uma tabela armazena V(s) ou Q(s,a) para espaços discretos pequenos. Porém, em problemas grandes, usamos aproximadores. Redes neurais profundas são a escolha mais comum. A arquitetura típica inclui camadas convolucionais (para imagens) ou densas (para vetores). A saída da rede pode ser um único valor V(s). Alternativamente, a rede pode ter múltiplos neurônios de saída, um para cada Q(s,a).

Os hiperparâmetros críticos são a taxa de aprendizado α, o fator de desconto γ, e a taxa de exploração ε. Além disso, o tamanho do replay buffer é importante (ex: 10000 transições). O batch size (ex: 32) afeta a estabilidade. A frequência de atualização da rede alvo (ex: a cada 100 passos) também é usada. Esses parâmetros são ajustados empiricamente.

Exemplo clássico: FrozenLake com Q-learning

Imagine um lago congelado dividido em uma grade 4×4. O objetivo do aventureiro é chegar ao bloco de gelo seguro (posição (3,3) – canto inferior direito). Porém, existem 4 buracos (gelo fino) espalhados pelo lago. Se o aventureiro cair em um buraco, ele morre e o episódio termina com recompensa 0.

Regras do ambiente:

Gelo seguro (caminho normal): 12 posições onde o aventureiro pode andar. Cada passo dá recompensa 0.

Buracos (perigo): 4 posições onde o gelo quebra. Cair neles dá recompensa 0 e encerra o jogo.

Objetivo (gelo seguro especial): 1 posição (canto inferior direito). Chegar lá dá recompensa +1 e encerra o jogo com vitória.

Estocasticidade: O gelo é escorregadio. Quando o aventureiro tenta mover-se em uma direção, ele pode escorregar para os lados (probabilidade 1/3 para cada direção adjacente). Isso torna o aprendizado desafiador. Mapa Visual:

 

O código treina uma tabela Q no FrozenLake. O agente aprende por tentativa e erro. A função valor V(s) é derivada de Q(s,a). O primeiro gráfico mostra a melhora das recompensas. O segundo gráfico exibe o valor de cada estado. Regiões mais claras são mais valiosas. O agente aprende a evitar buracos (valor baixo) e ir para o objetivo (valor alto). Este exemplo ilustra perfeitamente funções de valor e ação-valor.

Deixe um comentário