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.
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.
Atualmente o curso está organizado nas seguintes aulas/notebooks:
📌 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)
📌 Notebooks:
Aula2_Bellman.ipynbAula2_Grid_movements_RL.ipynbAula2_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
📌 Notebooks:
Aula3_DQN_Breakout.ipynbAula3_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
Você pode executar os notebooks de duas formas:
- Clone este repositório:
git clone https://github.com/ahirtonlopes/Mastering-Reinforcement-Learning.git
cd Mastering-Reinforcement-Learning- (Recomendado) Crie e ative um ambiente virtual:
python -m venv .venv
source .venv/bin/activate # Mac/Linux
# .venv\Scripts\activate # Windows- Instale as dependências:
pip install -r requirements.txt- Rode o Jupyter:
jupyter notebookSugestã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 ✨)
Este repositório utiliza principalmente:
gymnasiumnumpymatplotlib
Para Deep RL, pode utilizar (dependendo do notebook):
tensorflowoutorch
Instalação rápida (manual):
pip install gymnasium numpy matplotlib tensorflowPara 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?”
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 são bem-vindas!
Caso você queira sugerir melhorias ou adicionar novos notebooks, basta abrir uma issue ou enviar um pull request.
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.