SARSA: Aprendizado on-policy por diferença temporal

1.4.2 – Metodos Baseados em Valor
1.4.2.3 – Temporal Difference – TD
1.4.2.3.1 – SARSA – On-policy
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

SARSA é um algoritmo de aprendizado por reforço. Seu nome vem da sequência (Estado, Ação, Recompensa, Próximo Estado, Próxima Ação). Primeiramente, ele é um método on-policy. Isso significa que ele aprende e age com a mesma política. Em segundo lugar, ele usa diferença temporal (TD) para atualizações. Por conseguinte, SARSA é mais seguro que Q-learning em alguns problemas. Ele considera a ação que realmente será tomada no próximo estado.

Características da arquitetura SARSA

SARSA atualiza a função Q(s,a) a cada passo. A fórmula de atualização é \( Q(s,a) \leftarrow Q(s,a) + \alpha [r + \gamma Q(s’,a’) – Q(s,a)] \). Aqui a’ é a ação escolhida pela política atual. Diferente do Q-learning, não usamos o máximo sobre ações. Usamos a ação real que será executada. Portanto, SARSA é mais conservador. Ele evita riscos que o Q-learning poderia tomar. A arquitetura armazena Q(s,a) em uma tabela ou rede neural.

A política usada é tipicamente ε-greedy. Durante o aprendizado, a mesma política gera os episódios. Não há separação entre comportamento e alvo (on-policy). Isso é uma vantagem para problemas com risco. A penalidade por ações ruins é aprendida diretamente. O agente não assume que tomará a melhor ação. Ele assume que pode explorar com probabilidade ε. Consequentemente, SARSA tende a encontrar políticas mais seguras.

Hiperparâmetros e fórmulas matemáticas

Os hiperparâmetros do SARSA são similares ao Q-learning. A taxa de aprendizado α controla a velocidade de atualização. O fator de desconto γ valoriza recompensas futuras. A taxa de exploração ε define a suavidade da política. Valores típicos são α=0.1, γ=0.95, ε=0.1. O algoritmo converge se todos os pares forem visitados. A condição de convergência é \( \sum \alpha_t = \infty \) e \( \sum \alpha_t^2 < \infty [/latex].

A diferença entre SARSA e Q-learning é sutil mas importante. O erro TD do SARSA é [latex] \delta = r + \gamma Q(s’,a’) – Q(s,a) \). No Q-learning, o erro usa \( \max_a Q(s’,a) \). SARSA é on-policy; Q-learning é off-policy. Por causa disso, SARSA é mais estável em ambientes estocásticos. Ele é preferido quando segurança é crucial. O exemplo clássico é o problema do penhasco (Cliff Walking).

Exemplo clássico: caminhando no penhasco

Imagine um grid 4×12 onde o agente deve chegar ao objetivo. Há um penhasco na borda inferior. Cair no penhasco dá recompensa -100 e termina o episódio. Cada passo normal custa -1. O objetivo dá recompensa 0 e termina. O agente aprende a evitar o penhasco. SARSA aprende um caminho mais seguro que Q-learning. O código abaixo compara ambos os algoritmos neste ambiente.

Deixe um comentário