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

bebê aprendendo a andar
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.

Aprendizado semi-supervisionado após fine-tuning de CNNs

1 – Aprendizado de Maquina
1.3 – Semi Supervisionado
1.3.3 – Semi Supervisionado apos fine-tuning
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

Este texto explica um modelo híbrido de machine learning. Ele combina redes convolucionais (CNNs) com aprendizado semi-supervisionado. Primeiro, a CNN é ajustada (fine-tuning) com poucos dados rotulados. Depois, ela aprende com muitos dados não rotulados. Assim, o modelo ganha precisão sem esforço manual enorme.

Características principais do modelo

Primeiramente, a arquitetura usa uma CNN pré-treinada (como ResNet ou VGG). Suas camadas convolucionais extraem características visuais. Em seguida, camadas totalmente conectadas fazem a classificação. A parte semi-supervisionada emprega pseudo-rotulação ou consistência. Consequentemente, o modelo reduz o overfitting em dados escassos. Os hiperparâmetros incluem taxa de aprendizado (0.0001 a 0.001). O peso da perda não supervisionada (λ) é tipicamente 0.5. A temperatura para suavização de pseudo-rotulos fica em 0.5. Dropout de 0.3 evita dependências excessivas.

Arquitetura e fórmulas matemáticas

A CNN extrai mapas de características f(x) da imagem x. A perda supervisionada L_s é entropia cruzada: \( L_s = -\frac{1}{B} \sum_{i=1}^{B} y_i \log(\hat{y}_i) \). Aqui B é o lote rotulado. y_i é o rótulo verdadeiro. Já a perda não supervisionada L_u usa consistência entre aumentações. Para um dado não rotulado u, duas aumentações geram u1 e u2. A perda é MSE entre predições: \( L_u = \frac{1}{N} \sum_{j=1}^{N} \| p_{\theta}(u1_j) – p_{\theta}(u2_j) \|^2 \). A perda total é \( L = L_s + \lambda L_u \). O fine-tuning ajusta pesos da CNN via backpropagation.

Hiperparâmetros e ajustes práticos

A taxa de aprendizado deve ser reduzida após fine-tuning. Um scheduler cíclico funciona bem. O parâmetro λ cresce linearmente de 0 a 0.5. Aumentações fortes (crop, flip, color jitter) são cruciais. O lote mistura 20% rotulados com 80% não rotulados. Esses ajustes são típicos em CIFAR-10 com 4000 rótulos.

Um exemplo clássico usa o dataset MNIST. Imagine que só 100 imagens por dígito são rotuladas. As outras 59.000 são não rotuladas. O objetivo é classificar os 10 dígitos com alta acurácia. O código abaixo implementa esse cenário.

Este código primeiro treina a CNN com apenas 1000 rotulados. Em seguida, ele gera pseudo-rótulos para os não rotulados. Apenas exemplos com confiança acima de 0.9 são mantidos. Por fim, o modelo é reajustado com o conjunto ampliado. Observe que a acurácia final melhora significativamente. Esse é o poder do aprendizado semi-supervisionado após fine-tuning.