Skip to content

Este repositório contém uma série de notebooks que abordam conceitos e implementações práticas de Aprendizado por Reforço (Reinforcement Learning). Ele é destinado a quem deseja aprender de forma prática como implementar e entender algoritmos clássicos de RL.

License

Notifications You must be signed in to change notification settings

ahirtonlopes/Mastering-Reinforcement-Learning

Repository files navigation

Mastering Reinforcement Learning (MBA FIAP)

Bem-vindo ao repositório oficial das aulas de Reinforcement Learning (Aprendizado por Reforço) do MBA da FIAP.

Este repositório contém notebooks práticos com implementações dos principais algoritmos clássicos e introdução ao Deep Reinforcement Learning, usando ambientes do Gymnasium para simulação e treinamento de agentes.

🎓 Professor: Prof. Dr. Ahirton Lopes
Conteúdo voltado para alunos de MBA com abordagem prática e aplicável a problemas reais.


🎯 Objetivo do Curso

O objetivo deste material é ajudar o aluno a:

  • Entender o paradigma de tomada de decisão sequencial;
  • Modelar problemas como MDPs (Markov Decision Processes);
  • Aplicar algoritmos clássicos como Q-Learning;
  • Compreender e praticar conceitos fundamentais como Bellman Equation;
  • Evoluir para métodos com redes neurais como Deep Q-Networks (DQN);
  • Rodar experimentos, visualizar resultados e interpretar a performance do agente.

Estrutura do Repositório

Atualmente o curso está organizado nas seguintes aulas/notebooks:

Aula 1 — Q-Learning (Taxi)

📌 Notebook: Aula1_Q_Learning_Taxi.ipynb

  • Introdução ao algoritmo de Q-Learning
  • Exploração de estados, ações e recompensas
  • Treinamento em ambiente discreto (Taxi)

Aula 2 — Bellman + Gridworld + FrozenLake

📌 Notebooks:

  • Aula2_Bellman.ipynb
  • Aula2_Grid_movements_RL.ipynb
  • Aula2_Q_Learning_FrozenLakev1.ipynb

Conteúdos principais:

  • Equação de Bellman e seu papel em RL
  • Construção intuitiva do aprendizado por valor
  • Q-Learning aplicado ao ambiente FrozenLake
  • Discussão sobre exploração vs explotação e armadilhas do ambiente estocástico

Aula 3 — Deep Reinforcement Learning (DQN)

📌 Notebooks:

  • Aula3_DQN_Breakout.ipynb
  • Aula3_DQN_LunarLander.ipynb

Conteúdos principais:

  • Transição do Q-table para aproximação com redes neurais
  • Conceitos essenciais do DQN
  • Treinamento em ambientes mais complexos:
    • Breakout
    • LunarLander

Como Rodar os Notebooks

Você pode executar os notebooks de duas formas:

Opção 1) Local (Jupyter Notebook)

  1. Clone este repositório:
git clone https://github.com/ahirtonlopes/Mastering-Reinforcement-Learning.git
cd Mastering-Reinforcement-Learning
  1. (Recomendado) Crie e ative um ambiente virtual:
python -m venv .venv
source .venv/bin/activate      # Mac/Linux
# .venv\Scripts\activate       # Windows
  1. Instale as dependências:
pip install -r requirements.txt
  1. Rode o Jupyter:
jupyter notebook

Opção 2) Google Colab (recomendado para a turma)

Sugestão prática: abrir o notebook e rodar diretamente no Colab para evitar problemas de ambiente local.

(Se quiser, eu também posso te gerar os links prontos de “Open in Colab” para cada notebook ✨)


Dependências

Este repositório utiliza principalmente:

  • gymnasium
  • numpy
  • matplotlib

Para Deep RL, pode utilizar (dependendo do notebook):

  • tensorflow ou torch

Instalação rápida (manual):

pip install gymnasium numpy matplotlib tensorflow

Recomendação de Estudo (para alunos de MBA)

Para extrair o máximo das aulas, recomenda-se:

  • Rodar os notebooks na ordem
  • Alterar hiperparâmetros como:
    • alpha (learning rate)
    • gamma (discount factor)
    • epsilon (exploration)
  • Comparar resultados por curva de recompensa
  • Sempre refletir:
    • “O agente está aprendendo de fato?”
    • “O ambiente é determinístico ou estocástico?”
    • “Qual trade-off existe entre exploração e desempenho?”

Próximos Passos (Evolução do Curso)

Ideias de expansão (opcional, conforme turma e tempo):

  • SARSA vs Q-Learning
  • Policy Gradient (REINFORCE)
  • Actor-Critic
  • PPO
  • RL aplicado a negócios (finanças, logística, atendimento, pricing)

Contribuições

Contribuições são bem-vindas!
Caso você queira sugerir melhorias ou adicionar novos notebooks, basta abrir uma issue ou enviar um pull request.


Licença

Contribuições são bem-vindas! Se você deseja colaborar com melhorias no código ou sugestões de novos tópicos, por favor, abra uma issue ou envie um pull request.

Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para mais detalhes.

About

Este repositório contém uma série de notebooks que abordam conceitos e implementações práticas de Aprendizado por Reforço (Reinforcement Learning). Ele é destinado a quem deseja aprender de forma prática como implementar e entender algoritmos clássicos de RL.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published