Navegando no framework de RL

Reinforcement Learning com Gymnasium em Python

Fouad Trad

Machine Learning Engineer

Framework de RL

Imagem mostrando um componente de agente.

Reinforcement Learning com Gymnasium em Python

Framework de RL

Imagem mostrando componentes de agente e ambiente.

Reinforcement Learning com Gymnasium em Python

Framework de RL

  • Agente: quem aprende e decide
  • Ambiente: desafios a resolver

Imagem mostrando todos os componentes de RL: agente, ambiente, estados, ações e recompensas.

Reinforcement Learning com Gymnasium em Python

Framework de RL

  • Agente: quem aprende e decide
  • Ambiente: desafios a resolver
  • Estado: retrato do ambiente no tempo

Imagem mostrando que o ambiente fornece estados para o agente.

Reinforcement Learning com Gymnasium em Python

Framework de RL

  • Agente: quem aprende e decide
  • Ambiente: desafios a resolver
  • Estado: retrato do ambiente no tempo
  • Ação: escolha do agente para o estado

Imagem mostrando que o agente responde ao estado do ambiente executando uma ação.

Reinforcement Learning com Gymnasium em Python

Framework de RL

  • Agente: quem aprende e decide
  • Ambiente: desafios a resolver
  • Estado: retrato do ambiente no tempo
  • Ação: escolha do agente para o estado
  • Recompensa: feedback da ação do agente

Imagem mostrando que o agente responde ao estado do ambiente executando uma ação e recebe uma recompensa do ambiente baseada na ação executada.

Reinforcement Learning com Gymnasium em Python

Loop de interação em RL

env = create_environment()
state = env.get_initial_state()

for i in range(n_iterations): action = choose_action(state)
state, reward = env.execute(action)
update_knowledge(state, action, reward)

Imagem mostrando que o agente responde ao estado do ambiente executando uma ação e recebe uma recompensa do ambiente baseada na ação executada.

Reinforcement Learning com Gymnasium em Python

Tarefas episódicas vs. contínuas

Tarefas episódicas
  • Divididas em episódios
  • Episódio tem início e fim
  • Exemplo: agente jogando xadrez

Imagem mostrando um gato jogando xadrez.

Tarefas contínuas
  • Interação contínua
  • Sem episódios distintos
  • Exemplo: ajustar semáforos

Imagem mostrando um sapo andando de bicicleta e esperando o semáforo ficar verde.

Reinforcement Learning com Gymnasium em Python

Retorno

  • Ações têm efeitos de longo prazo
  • Agente busca maximizar a recompensa total no tempo
  • Retorno: soma das recompensas esperadas

Imagem mostrando que o retorno é a soma das recompensas individuais r_1 até r_n.

Reinforcement Learning com Gymnasium em Python

Retorno descontado

  • Recompensas imediatas valem mais que futuras
  • Retorno descontado: dá mais peso ao que está perto
  • Fator de desconto ($\gamma$): reduz recompensas futuras

Imagem mostrando a fórmula do retorno descontado como a soma das recompensas, cada uma multiplicada pelo fator de desconto elevado ao passo de tempo correspondente.

Reinforcement Learning com Gymnasium em Python

Fator de desconto

  • Entre zero e um
  • Equilibra recompensas imediatas vs. de longo prazo
    • Valor menor → ganhos imediatos
    • Valor maior → benefícios no longo prazo

Imagem mostrando a influência dos valores extremos do fator de desconto, onde zero favorece só ganhos imediatos e um favorece ganhos futuros sem desconto.

Reinforcement Learning com Gymnasium em Python

Exemplo numérico

import numpy as np
expected_rewards = np.array([1, 6, 3])

discount_factor = 0.9
discounts = np.array([discount_factor ** i for i in range(len(expected_rewards))])
print(f"Discounts: {discounts}")
Discounts: [1.   0.9  0.81]
discounted_return = np.sum(expected_rewards * discounts)
print(f"The discounted return is {discounted_return}")
The discounted return is 8.83
Reinforcement Learning com Gymnasium em Python

Vamos praticar!

Reinforcement Learning com Gymnasium em Python

Preparing Video For Download...