Aprendizado por Reforço (Reinforcement Learning)
Definição
Aprendizado por Reforço (Reinforcement Learning, ou RL) é uma técnica de aprendizado de máquina onde um agente aprende a tomar decisões interagindo com um ambiente, recebendo recompensas ou punições com base nas ações que executa.
Diferente do aprendizado supervisionado, não há rótulos explícitos dizendo qual é a ação correta. O agente precisa experimentar, errar e aprender com o feedback recebido para maximizar uma recompensa ao longo do tempo.
Esse modelo é inspirado no comportamento de aprendizado de seres humanos e animais: agir, observar consequências, ajustar comportamento.
Termos essenciais:
- Agente: quem toma as decisões.
- Ambiente: onde as decisões ocorrem.
- Ação: escolha feita pelo agente.
- Estado: situação atual do ambiente.
- Recompensa: retorno numérico que indica o quão boa foi a ação.
Objetivos do Aprendizado por Reforço
- Maximizar a recompensa acumulada ao longo do tempo.
- Aprender uma política ótima de ações em diferentes estados.
- Adaptar o comportamento com base na experiência.
- Tomar decisões sequenciais que afetam o futuro do sistema.
Exemplo prático (Python) — Agente simples que aprende por tentativa e erro
Vamos simular um agente que aprende a caminhar para a direita até encontrar uma moeda, recebendo +1 ponto se acertar e 0 se errar.
Código comentado
import random
# 1. Configurar o ambiente
posicoes = 5 # de 0 a 4
moeda = 3 # posição da moeda
# 2. Criar tabela Q (ações em cada posição)
Q = [0] * posicoes
# 3. Treinar o agente por 100 episódios
for episodio in range(100):
pos = random.randint(0, posicoes - 1) # posição inicial aleatória
# O agente "chuta" a posição da moeda
if pos == moeda:
recompensa = 1
else:
recompensa = 0
# Atualiza a "crença" (Q) do agente
Q[pos] = Q[pos] + 0.1 * (recompensa - Q[pos])
# 4. Ver resultados
for i, valor in enumerate(Q):
print(f"Posição {i}: Valor estimado = {valor:.2f}")
Saída esperada (exemplo)
Posição 0: Valor estimado = 0.03
Posição 1: Valor estimado = 0.01
Posição 2: Valor estimado = 0.06
Posição 3: Valor estimado = 0.85
Posição 4: Valor estimado = 0.02
O modelo aprendeu que a posição 3 é a melhor escolha, mesmo sem saber disso no início.
O ciclo do Aprendizado por Reforço
[Estado Atual]
↓
[Escolher uma Ação]
↓
[Executar Ação no Ambiente]
↓
[Observar Nova Situação e Recompensa]
↓
[Atualizar Estratégia]
↓
[Repetir o Processo]
Esse processo contínuo permite que o agente melhore seu comportamento ao longo do tempo.