Capstone Project
Informação nova e importante: agenda das apresentações.
O principal objetivo desta atividade é exercitar os conceitos vistos ao longo do semestre. Este exercício pode ser feito de diversas maneiras:
- o grupo de alunos pode escolher um problema, de algum setor qualquer, e aplicar as técnicas de reinforcement learning vistas ao longo deste curso para resolver este problema;
- o grupo de alunos pode aprofundar os seus conhecimentos sobre uma técnica específica de reinforcement learning através da implementação de um algoritmo específico e compará-lo com outros já conhecidos;
- o grupo de alunos pode criar novos environments que respeitam os padrões da https://farama.org/projects.
Para alcançar este objetivo, o grupo deverá:
- Definição da área/problema a ser tratado: 24/03/2026
- Definição do escopo do projeto 10/04/2026
- Definição do MDP 10/04/2026
- Definição do ambiente 10/04/2026
- Início da implementação do agente e ambiente 23/04/2026
- Término Implementação do agente e ambiente 12/05/2026 (check point)
- Coleta e Análise dos resultados 12/05/2026 (check point)
- Entrega do relatório final e vídeo 17/05/2026
- Apresentação final do projeto 19/05/2026 ou 21/05/2026
Formato das equipes
O projeto deve ser desenvolvido em equipes de até 3 alunos.
Template para o relatório final do projeto
O relatório final do projeto deve ter a seguinte estrutura:
- contexto e objetivo do trabalho;
- descrição do ambiente utilizado;
- descrição do método;
- resultados obtidos, e;
- considerações finais.
Neste link você consegue visualizar um arquivo PDF gerado a partir de um template em \(\LaTeX\) para o relatório. Você pode baixar o template em \(\LaTeX\) para o relatório aqui. O relatório final do projeto não deve ultrapassar 4 páginas.
Submissão dos artefatos produzidos
Todos os artefatos produzidos ao longo do projeto deverão ser submitidos via Github Classroom. O link para submissão é https://classroom.github.com/a/UmMHJ_-K.
Cada grupo deverá adicionar ao repositório do projeto:
- todo código fonte necessário para a execução do mesmo;
- um arquivo README.md que descreve a organização do repositório e como executar cada um dos principais scripts. Não esqueça de colocar no README.md o nome dos integrantes do grupo!;
- o relatório final do projeto.
Rubrica do projeto
Cada projeto será avaliado considerando os itens listados na tabela abaixo.
| Item | Peso na composição da nota |
|---|---|
| Implementação | 25% |
| Relatório | 25% |
| Vídeo com a apresentação do projeto | 25% |
| Apresentação final do projeto | 25% |
Para conseguir a nota máxima é necessário:
- implementação: precisa estar funcionando, bem organizada e código legível.
- relatório: precisa ter todos os itens descritos acima. O texto precisa ser auto-contido, ter início, meio e fim.
- vídeo: o vídeo também precisa ser auto-contido, ter início, meio e fim. Não deve ultrapassar 10 minutos.
- apresentação final: a apresentação deve ser clara, objetiva e conter os principais pontos do projeto. Não deve ultrapassar 10 minutos. Na etapa de arguição, os alunos devem ser capazes de responder perguntas relacionadas ao projeto e defender as escolhas feitas ao longo do desenvolvimento do projeto.
Vídeo
Cada equipe deverá gravar um vídeo de até 10 minutos apresentando os resultados do projeto. O vídeo deve ser colocado em alguma plataforma de vídeo (YouTube, Vimeo, etc.) e o link deve ser enviado junto com o relatório no repositório do projeto. De preferência, colocar o link para o vídeo no README do repositório. O vídeo deve conter os seguintes tópicos:
- Contexto e objetivo do projeto;
- Descrição do método utilizado;
- Resultados obtidos;
- Demonstração do funcionamento do agente.
Sugestão de temas
-
Uso de Reinforcement Learning no dilema do prisioneiro iterado. Referências: https://www.youtube.com/watch?v=mScpHTIi-kM e https://www.youtube.com/watch?v=7vTK1-8NKrY.
-
Algo usando o ambiente Minigrid. Sugestão: procurar por artigos que citam o artigo https://arxiv.org/abs/2306.13831.
-
Algo relacionado com o artigo https://arxiv.org/abs/1703.04908 e o ambiente https://pettingzoo.farama.org/environments/mpe/.
-
Reinforcement Learning aplicado a problemas na área da saúde. Sugestão de referências: https://www.nature.com/articles/s41746-024-01316-0, https://www.nature.com/articles/s41598-021-88619-4, https://www.nature.com/articles/s41591-021-01599-w e https://www.nature.com/articles/s41591-023-02475-5.
-
Reinforcement Learning aplicado em logística. Sugestão de referência: https://dl.acm.org/doi/10.1145/3708325.
-
Curriculum learning. Sugestão de referências: https://dl.acm.org/doi/10.5555/3455716.3455897 e https://github.com/insper-classroom/projeto-final-o-tal-do-david-silver.
-
Transfer Learning. Sugestão de referência: https://www.jmlr.org/papers/volume10/taylor09a/taylor09a.pdf.
-
Loss plasticity. Sugestões de referência: https://www.nature.com/articles/s41586-024-07711-7 e https://sol.sbc.org.br/index.php/eniac/article/view/38868.
-
Uso de Reinforcement Learning em problemas de Coverage Path Planning. Sugestão de referências: https://link.springer.com/chapter/10.1007/978-3-031-87778-0_9, https://sol.sbc.org.br/index.php/eniac/article/view/33805 e https://www.youtube.com/watch?v=5kV2OyL5BCE.
-
Reinforcement Learning in Finance. Sugestão de referência: https://dl.acm.org/doi/epdf/10.1145/3733714.
-
Controle de drones com reinforcement learning. Sugestões de referência: https://ieeexplore.ieee.org/document/10637701 e https://www.youtube.com/watch?v=ed0pmwgJlKs.
-
Reinforcement Learning for cybersecurity. Sugestão de referência: https://arxiv.org/abs/1906.05799.
Sugestão de ambientes a serem utilizados
-
https://github.com/Farama-Foundation/HighwayEnv : simulação de autopistas
-
https://github.com/google-deepmind/lab : DeepMind Lab
-
https://github.com/deepdrive/deepdrive: Self-driving cars
-
https://github.com/Kinds-of-Intelligence-CFI/animal-ai : Animal AI
-
https://github.com/Unity-Technologies/obstacle-tower-env : Ambiente com vários ambientes e desafios
-
https://github.com/upb-lea/gym-electric-motor : simulação de motores elétricos
-
https://github.com/icu-sepsis/icu-sepsis : simulação de ambiente médico
-
https://github.com/AI4Finance-Foundation/FinRL: Finanças e Reinforcement Learning
-
https://github.com/SimonHashtag/EconRL: Economics and Reinforcement Learning
-
Ambiente para simulação de carteiras: https://rlportfolio.readthedocs.io/en/latest/ , artigo: https://sol.sbc.org.br/index.php/eniac/article/view/33804/33595
-
https://github.com/mikelma/craftium: ambientes estilo minicraft.
-
https://github.com/rajcscw/nlp-gym: NLP Gym.
-
https://github.com/arvijj/rl-cpp: Ambiente para Coverage Path Planning.
-
https://github.com/omron-sinicx/ShinRL/: ambiente para avaliação de algoritmos de RL.