Modelo do Ambiente – Transicao e Recompensa

cão no parque

Modelo do ambiente: transição e recompensa

O modelo do ambiente é o coração do aprendizado por reforço. Ele define como o mundo reage às ações do agente. Primeiramente, a função de transição prevê o próximo estado. Em segundo lugar, a função de recompensa avalia o resultado imediato. Sem esse modelo, o agente age no escuro. Por conseguinte, modelar o ambiente é essencial para planejamento eficiente.

Função de transição de estados

A transição descreve a dinâmica do ambiente. Ela é denotada por \( p(s’, r | s, a) \). Essa fórmula lê-se “probabilidade de ir para s’ com recompensa r”. Frequentemente, usamos a forma determinística \( s’ = T(s, a) \). Ambientes reais, contudo, são estocásticos. Por exemplo, um robô pode escorregar. A transição é aprendida ou fornecida antecipadamente. Esse conhecimento é usado para simular o futuro.

A função de transição é uma distribuição de probabilidade. Portanto, a soma sobre todos os s’ e r é igual a 1. Matematicamente: \( \sum_{s’} \sum_{r} p(s’, r | s, a) = 1 \). Essa propriedade é conservada em ambientes bem definidos. Modelos tabulares armazenam essas probabilidades. Modelos neurais, por outro lado, as aproximam continuamente.

Função de recompensa imediata

A recompensa é um escalar que guia o comportamento. Ela pode ser determinística ou estocástica. A recompensa esperada é calculada como \( r(s,a) = \mathbb{E}[R | s,a] = \sum_r r \sum_{s’} p(s’, r | s, a) \). Em problemas simples, a recompensa é dada diretamente. Por exemplo, +1 por vencer e 0 por perder. Projetar uma boa recompensa é uma arte. Recompensas mal definidas causam comportamentos indesejados.

Hiperparâmetros importantes incluem o fator de desconto γ. Ele pondera recompensas futuras. Um modelo também tem parâmetros de confiança. Ambientes simulados usam um horizonte de planejamento. Modelos aprendidos têm uma taxa de atualização α. A arquitetura comum é uma rede neural. Ela recebe estado e ação como entrada. Suas saídas são o próximo estado e a recompensa.

Exemplo clássico: o mundo da grade 4×4

Imagine uma grade 4×4 com um tesouro escondido. O agente começa no canto superior esquerdo. O tesouro está no canto inferior direito. Cada movimento custa -0.1 (recompensa negativa). Encontrar o tesouro dá +10. Paredes bloqueiam algumas células (transição inválida). O ambiente é determinístico: a ação sempre funciona. O objetivo é aprender o caminho ótimo. O código abaixo modela explicitamente transição e recompensa.

Politica – Policy

Banco Imobiliário

Aprendizado por reforço: política (policy)

A política é o cérebro do agente. Ela define qual ação tomar em cada estado. Podemos pensar nela como uma estratégia ou um mapa. Sem uma política, o agente age aleatoriamente. Portanto, aprender uma boa política é o objetivo principal. A política pode ser determinística ou estocástica.

Tipos de política e sua representação

Uma política determinística mapeia cada estado a uma única ação. Escrevemos isso como \( a = \pi(s) \). Por exemplo, em um labirinto, sempre vá para a direita. Uma política estocástica, por outro lado, dá probabilidades para cada ação. Representamos isso como \( \pi(a|s) = P(A_t = a | S_t = s) \). Essa abordagem é útil para explorar. Consequentemente, políticas estocásticas evitam ficar presas em mínimos locais.

A política pode ser armazenada como uma tabela. Em estados discretos, isso é simples. Porém, em espaços contínuos, usamos redes neurais. A rede recebe o estado e retorna ações. Essa arquitetura chama-se Policy Network. Os hiperparâmetros incluem o tamanho das camadas escondidas. Por exemplo, 64 ou 128 neurônios. A taxa de aprendizado α também é crucial. Além disso, usamos um parâmetro de entropia para incentivar exploração.

Como as políticas são aprendidas e avaliadas

O teorema do gradiente da política é fundamental. Ele permite atualizar a política diretamente. A cada passo, ajustamos π para aumentar o retorno esperado. A fórmula do gradiente é \( \nabla_\theta J(\theta) = \mathbb{E}_\pi \left[ \nabla_\theta \log \pi_\theta(a|s) \cdot G_t \right] \). Aqui θ são os parâmetros da política. Esse método é chamado de REINFORCE. Uma variante comum usa um baseline para reduzir variância. O baseline geralmente é a função valor V(s).

Outra abordagem é a comparação entre políticas. Dizemos que π é melhor que π’ se seu retorno esperado for maior. A equação de Bellman para políticas é \( V^\pi(s) = \sum_a \pi(a|s) \sum_{s’,r} p(s’,r|s,a) [r + \gamma V^\pi(s’)] \). Essa equação é resolvida por iteração de política. Primeiro, avaliamos a política atual. Depois, a melhoramos guloso. Esse processo se repete até a convergência.

Exemplo clássico: subindo a montanha (Mountain Car)

Um carro fraco tenta subir uma montanha íngreme. Ele não consegue ir direto ao topo. Primeiro, precisa ir para trás ganhar inércia. A cada passo, o agente acelera para esquerda, direita ou neutro. A recompensa é -1 por cada passo até o topo. O estado é a posição e velocidade. O objetivo é aprender uma política que minimize os passos. O código abaixo implementa esse problema com gradiente de política.

O código implementa REINFORCE para o Mountain Car. O agente aprende uma política estocástica linear. Inicialmente, ele age aleatoriamente e demora muitos passos. Com o tempo, a política melhora e o carro sobe mais rápido. O segundo gráfico mostra a preferência da política final. Regiões em azul indicam tendência a acelerar para a direita. Este exemplo demonstra como políticas são aprendidas na prática.